mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-11-02 19:02:00 +00:00
feat: per-contact actions, device settings, a companion CLI and your contact's QR code
- Nodes: telemetry permissions per contact, reset path, share nearby (L1 options menu; L2 node card with "Can ask for" switches) - Settings > Privacy: fixed position (typed in, from a waypoint, cleared) and the Bluetooth PIN; Settings > System: factory reset, asked twice - Companion CLI (CMD_RUN_CLI_COMMAND 66 / RESP_CODE_CLI_REPLY 29, as upstream; FIRMWARE_VER_CODE 14): upstream's command names plus a key for every schema setting (get / set / keys) - Screenshots move to 0x7E; tools/screenshot.py falls back to 66 / 29 - Your contact as a QR code (meshcore://contact/add): Status > System on ui-new, Settings > About on the L2; Nayuki's qrcodegen made header-only Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -694,4 +694,17 @@ extern "C" EMSCRIPTEN_KEEPALIVE int sim_test_login_first_repeater(const char* pa
|
||||
uint32_t est_timeout;
|
||||
return the_mesh.sendRoomLogin(ci, password, est_timeout) ? 1 : 0;
|
||||
}
|
||||
|
||||
// The companion CLI (CMD_RUN_CLI_COMMAND) without a transport: the text in,
|
||||
// the reply out, as the app's console gets it.
|
||||
extern "C" EMSCRIPTEN_KEEPALIVE const char* sim_cli(const char* command) {
|
||||
static char reply[MAX_FRAME_SIZE];
|
||||
reply[0] = 0;
|
||||
if (!g_sim_ready) return reply;
|
||||
if (!the_mesh.handleCliCommand(command, reply, sizeof(reply))) {
|
||||
size_t at = strlen(reply);
|
||||
snprintf(reply + at, sizeof(reply) - at, "Unknown command");
|
||||
}
|
||||
return reply;
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user