mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-09-25 04:16:36 +00:00
feat(sim): add variants/sim/ — real companion_radio firmware on native + Emscripten
New board variant compiling the unmodified MyMesh/UITask/DataStore app logic against real mesh::Radio/MainBoard/RTCClock/RNG interfaces, for running the actual firmware outside embedded hardware: - Native (plain g++, platform = native): ASCII-art display over stdout, stdin-driven input, local-disk-backed DataStore/IdentityStore. - Emscripten/WASM (variants/sim/build_wasm.sh, since PlatformIO's native platform force-overrides any CC/CXX toolchain override back to system clang++): canvas-backed display, IDBFS-backed persistence across page reloads, JS-callable input via sim_enqueue_key(), emscripten_set_main_loop. Real rweather/Crypto (AES128/SHA256/Ed25519) vendored unmodified and proven working on both targets. variants/sim/web/index.html is a bare verification harness, not the polished website embed.
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
#pragma once
|
||||
|
||||
#include <helpers/sensors/LocationProvider.h>
|
||||
|
||||
// LocationProvider stub for the native sim build: no real GPS, always
|
||||
// reports "no fix". A settable lat/lon (JS-driven) is a Phase-2/3 concern.
|
||||
class SimLocationProvider : public LocationProvider {
|
||||
public:
|
||||
long getLatitude() override { return 0; }
|
||||
long getLongitude() override { return 0; }
|
||||
long getAltitude() override { return 0; }
|
||||
long satellitesCount() override { return 0; }
|
||||
bool isValid() override { return false; }
|
||||
long getTimestamp() override { return 0; }
|
||||
void reset() override { }
|
||||
void begin() override { }
|
||||
void stop() override { }
|
||||
void loop() override { }
|
||||
bool isEnabled() override { return false; }
|
||||
};
|
||||
Reference in New Issue
Block a user