feat(sim): port examples/simple_room_server to variants/sim/

Mirrors the simple_repeater sim port exactly: headless (no DISPLAY_CLASS,
UITask.cpp excluded from the build), new sim_simple_room_server native env
plus build_wasm_room_server.sh, own SimFS root ./sim_data_room so its
identity storage can't collide with the companion or repeater instances on
the same page/cwd.

Verified beyond "it compiles": ran the native binary and confirmed a real
_main.id identity file gets persisted through the actual SimFS/IdentityStore
path, same as the other two sim targets.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Jakub
2026-09-03 09:36:23 +02:00
co-authored by Claude Sonnet 5
parent 9cfb58a60b
commit 288a7d856b
4 changed files with 235 additions and 0 deletions
+53
View File
@@ -138,3 +138,56 @@ build_src_filter =
; rather than porting GPIO stubs into variants/sim/arduino/Arduino.h for
; code that would never run.
-<../examples/simple_repeater/UITask.cpp>
; Headless native build of the real examples/simple_room_server app logic
; against the same variants/sim/ interfaces -- sibling of
; [env:sim_simple_repeater] above, same reasoning throughout (no
; DISPLAY_CLASS, so UITask.cpp is never needed here either -- unlike
; simple_repeater's, this one's UITask.cpp actually WOULD compile fine
; headless (its digitalRead(PIN_USER_BTN) call is itself gated behind
; #ifdef PIN_USER_BTN, which this env never defines), but there's still no
; reason to compile a translation unit that's never linked in, so it's
; excluded the same way).
[env:sim_simple_room_server]
platform = native
build_type = debug
build_flags =
-std=c++17
-g
-funsigned-char
-D SIM_PLATFORM
-D MESH_DEBUG=0
-D ENABLE_ADVERT_ON_BOOT=1
-D ADVERT_NAME='"Sim Room"'
-I variants/sim/arduino
-I variants/sim
-I variants/sim/thirdparty/crypto
-I variants/sim/thirdparty/cayennelpp
-I variants/sim/thirdparty/arduinojson
-I lib/ed25519
-I src
-I examples/simple_room_server
build_src_filter =
-<*>
+<../src/Dispatcher.cpp>
+<../src/Identity.cpp>
+<../src/Mesh.cpp>
+<../src/Packet.cpp>
+<../src/Utils.cpp>
+<../src/helpers/AdvertDataHelpers.cpp>
+<../src/helpers/BaseChatMesh.cpp>
+<../src/helpers/ClientACL.cpp>
+<../src/helpers/CommonCLI.cpp>
+<../src/helpers/ConfigSerializer.cpp>
+<../src/helpers/DeviceDiag.cpp>
+<../src/helpers/IdentityStore.cpp>
+<../src/helpers/RegionMap.cpp>
+<../src/helpers/StaticPoolPacketManager.cpp>
+<../src/helpers/TransportKeyStore.cpp>
+<../src/helpers/TxtDataHelpers.cpp>
+<../lib/ed25519/*.c>
+<../variants/sim/*.cpp>
+<../variants/sim/thirdparty/crypto/*.cpp>
+<../variants/sim/thirdparty/cayennelpp/*.cpp>
+<../examples/simple_room_server/*.cpp>
-<../examples/simple_room_server/UITask.cpp>