From 0cf5faa01f2ab81faf5e88d3c827a642b644386b Mon Sep 17 00:00:00 2001 From: GlassOnTin Date: Mon, 30 Mar 2026 15:00:43 +0100 Subject: [PATCH] Fix LXMF beacon: remove beacon_crypto_configured gate, add diagnostics MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The LXMF beacon path was gated on both lxmf_identity_configured AND beacon_crypto_configured. The latter is only set when legacy collector keys are provisioned via EEPROM — unrelated to LXMF. Removing the gate allows the LXMF announce + telemetry path to work standalone. Verified: watch LXMF announce received by Sideband as "RNode GPS Tracker" via T-Beam Supreme LoRa gateway. Also adds lxmf_id and bcn_crypto fields to metrics output. --- Beacon.h | 2 +- Gui.h | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Beacon.h b/Beacon.h index 3805688..210b7dd 100644 --- a/Beacon.h +++ b/Beacon.h @@ -124,7 +124,7 @@ void beacon_update() { beacon_gate = 6; // LXMF path: send proper LXMF message with FIELD_TELEMETRY directly to Sideband - if (lxmf_identity_configured && beacon_crypto_configured) { + if (lxmf_identity_configured) { // Periodic LXMF announce (every 10 minutes) lxmf_announce_if_needed("RNode GPS Tracker"); diff --git a/Gui.h b/Gui.h index e476938..edd33ae 100644 --- a/Gui.h +++ b/Gui.h @@ -922,12 +922,15 @@ static void gui_cmd_execute() { "{\"build\":\"%s %s\",\"loop\":%lu,\"radio\":%lu," "\"serial\":%lu,\"disp\":%lu,\"pmu\":%lu," "\"gps\":%lu,\"bt\":%lu,\"imu\":%lu," - "\"bcn_gate\":%d,\"hw_ready\":%d}\n", + "\"bcn_gate\":%d,\"hw_ready\":%d," + "\"lxmf_id\":%d,\"bcn_crypto\":%d}\n", __DATE__, __TIME__, gui_loop_us_last, prof_radio_us, prof_serial_us, prof_display_us, prof_pmu_us, prof_gps_us, prof_bt_us, prof_imu_us, - beacon_gate, hw_ready ? 1 : 0); + beacon_gate, hw_ready ? 1 : 0, + lxmf_identity_configured ? 1 : 0, + beacon_crypto_configured ? 1 : 0); gui_loop_us_max = 0; Serial.write((uint8_t *)buf, strlen(buf)); Serial.flush();