From 87fb6f9fa54d9a1a63c0aa8f47adcee4bdce1a71 Mon Sep 17 00:00:00 2001 From: mikecarper Date: Sun, 16 Aug 2026 22:42:07 -0700 Subject: [PATCH] Fit complete Companion correction matrix --- build.sh | 12 +++++++++++- examples/companion_radio/MyMesh.cpp | 3 --- examples/companion_radio/main.cpp | 2 ++ variants/rak3x72/platformio.ini | 11 +++++++++++ variants/station_g2/platformio.ini | 6 ++++-- variants/tiny_relay/platformio.ini | 11 +++++++++++ variants/wio-e5-dev/platformio.ini | 11 +++++++++++ variants/wio-e5-mini/platformio.ini | 11 +++++++++++ 8 files changed, 61 insertions(+), 6 deletions(-) diff --git a/build.sh b/build.sh index 493ebcdb0..0d5d57495 100755 --- a/build.sh +++ b/build.sh @@ -3392,7 +3392,11 @@ run_full_esp32_profile() { run_logged_build_targets "${full_targets[@]}" pass_status=$? - if [ "$pass_status" -ne 0 ]; then build_status=1; fi + if [ "$pass_status" -eq 130 ]; then + build_status=130 + elif [ "$pass_status" -ne 0 ]; then + build_status=1 + fi MESHDEBUG_OVERRIDE=$original_meshdebug_override PACKET_LOGGING_OVERRIDE=$original_packet_logging_override @@ -3476,6 +3480,7 @@ run_logging_matrix_build_targets() { if [ ${#standard_targets[@]} -gt 0 ]; then run_logged_build_targets "${standard_targets[@]}" pass_status=$? + if [ "$pass_status" -eq 130 ]; then return 130; fi if [ "$pass_status" -ne 0 ]; then build_status=1; fi fi @@ -3520,6 +3525,7 @@ run_logging_matrix_build_targets() { FIRMWARE_FILENAME_INFIX="logging" run_logged_build_targets "${logging_targets[@]}" pass_status=$? + if [ "$pass_status" -eq 130 ]; then return 130; fi if [ "$pass_status" -ne 0 ]; then build_status=1; fi fi @@ -3531,6 +3537,7 @@ run_logging_matrix_build_targets() { FIRMWARE_FILENAME_INFIX="logging" run_logged_build_targets "${constrained_logging_targets[@]}" pass_status=$? + if [ "$pass_status" -eq 130 ]; then return 130; fi if [ "$pass_status" -ne 0 ]; then build_status=1; fi fi @@ -3543,6 +3550,7 @@ run_logging_matrix_build_targets() { FIRMWARE_FILENAME_INFIX="" run_logged_build_targets "${mqtt_targets[@]}" pass_status=$? + if [ "$pass_status" -eq 130 ]; then return 130; fi if [ "$pass_status" -ne 0 ]; then build_status=1; fi else echo "No MQTT bridge targets are configured; skipping profile 3/5." @@ -3550,10 +3558,12 @@ run_logging_matrix_build_targets() { run_full_esp32_profile "Profile 4/5" "off" "${targets[@]}" pass_status=$? + if [ "$pass_status" -eq 130 ]; then return 130; fi if [ "$pass_status" -ne 0 ]; then build_status=1; fi run_full_esp32_profile "Profile 5/5" "on" "${targets[@]}" pass_status=$? + if [ "$pass_status" -eq 130 ]; then return 130; fi if [ "$pass_status" -ne 0 ]; then build_status=1; fi MESHDEBUG_OVERRIDE=$original_meshdebug_override diff --git a/examples/companion_radio/MyMesh.cpp b/examples/companion_radio/MyMesh.cpp index 2f02427b8..6a91f4a29 100644 --- a/examples/companion_radio/MyMesh.cpp +++ b/examples/companion_radio/MyMesh.cpp @@ -1451,9 +1451,6 @@ void MyMesh::begin(bool has_display, bool radio_available) { _prefs.radio_fem_txgain = constrain(_prefs.radio_fem_txgain, 0, 1); _prefs.rx_powersaving_enabled = constrain(_prefs.rx_powersaving_enabled, 0, 1); _prefs.powersaving_enabled = constrain(_prefs.powersaving_enabled, 0, 1); - _prefs.powersaving_policy_version = constrain( - _prefs.powersaving_policy_version, 0, - COMPANION_POWERSAVING_POLICY_VERSION); _prefs.wifi_enabled = constrain(_prefs.wifi_enabled, 0, 1); _prefs.rx_ps_level = constrain(_prefs.rx_ps_level, 0, 10); if (_prefs.rx_ps_preamble != 16 && _prefs.rx_ps_preamble != 32) { diff --git a/examples/companion_radio/main.cpp b/examples/companion_radio/main.cpp index b217c9f54..96675507a 100644 --- a/examples/companion_radio/main.cpp +++ b/examples/companion_radio/main.cpp @@ -1009,7 +1009,9 @@ void loop() { || !the_mesh.isMQTTConfigured() #endif )) { + #if defined(TBEAM_1W) && defined(PIN_WIFI_BTN) ui_task.serviceWiFiToggleButton(); + #endif renderCompanionSetupDisplay(); } else { ui_task.loop(); diff --git a/variants/rak3x72/platformio.ini b/variants/rak3x72/platformio.ini index ed940befb..cfc9083a1 100644 --- a/variants/rak3x72/platformio.ini +++ b/variants/rak3x72/platformio.ini @@ -59,7 +59,18 @@ build_src_filter = ${rak3x72.build_src_filter} [env:RAK_3x72_companion_radio_usb] extends = rak3x72 +build_unflags = -Os build_flags = ${rak3x72.build_flags} + -Oz + -flto + -fno-inline-small-functions + -fipa-pta + -fmerge-all-constants + -fno-ipa-cp-clone + -fno-partial-inlining + -fno-semantic-interposition + -fno-unwind-tables + -fno-asynchronous-unwind-tables ; -D FORMAT_FS=true -D MAX_CONTACTS=100 -D MAX_GROUP_CHANNELS=8 diff --git a/variants/station_g2/platformio.ini b/variants/station_g2/platformio.ini index 1a4de29fa..a9a3a26b2 100644 --- a/variants/station_g2/platformio.ini +++ b/variants/station_g2/platformio.ini @@ -270,8 +270,10 @@ build_flags = ${Station_G2.build_flags} -UENABLE_OTA -D DISABLE_LORA_OTA=1 - ; BLE plus the optional VL53L0X/BME680 drivers leaves no safe growth margin - ; in a legacy slot. Common temperature, pressure, current, and GPS sensors remain. + ; BLE plus the optional MLX90614/VL53L0X/BME680 drivers leaves no safe growth + ; margin in a legacy slot. Common temperature, pressure, current, and GPS + ; sensors remain. + -UENV_INCLUDE_MLX90614 -UENV_INCLUDE_VL53L0X -UENV_INCLUDE_BME680 -I examples/companion_radio/ui-new diff --git a/variants/tiny_relay/platformio.ini b/variants/tiny_relay/platformio.ini index 9aec4c01a..b78a4c44e 100644 --- a/variants/tiny_relay/platformio.ini +++ b/variants/tiny_relay/platformio.ini @@ -65,7 +65,18 @@ build_src_filter = ${Tiny_Relay.build_src_filter} [env:Tiny_Relay_companion_radio_usb] extends = Tiny_Relay +build_unflags = -Os build_flags = ${Tiny_Relay.build_flags} + -Oz + -flto + -fno-inline-small-functions + -fipa-pta + -fmerge-all-constants + -fno-ipa-cp-clone + -fno-partial-inlining + -fno-semantic-interposition + -fno-unwind-tables + -fno-asynchronous-unwind-tables ; -D FORMAT_FS=true -D MAX_CONTACTS=100 -D MAX_GROUP_CHANNELS=8 diff --git a/variants/wio-e5-dev/platformio.ini b/variants/wio-e5-dev/platformio.ini index 245339c35..561c709e5 100644 --- a/variants/wio-e5-dev/platformio.ini +++ b/variants/wio-e5-dev/platformio.ini @@ -78,7 +78,18 @@ build_src_filter = ${lora_e5.build_src_filter} [env:wio-e5_companion_radio_usb] extends = lora_e5 +build_unflags = -Os build_flags = ${lora_e5.build_flags} + -Oz + -flto + -fno-inline-small-functions + -fipa-pta + -fmerge-all-constants + -fno-ipa-cp-clone + -fno-partial-inlining + -fno-semantic-interposition + -fno-unwind-tables + -fno-asynchronous-unwind-tables -D LORA_TX_POWER=22 -D MAX_CONTACTS=100 -D MAX_GROUP_CHANNELS=8 diff --git a/variants/wio-e5-mini/platformio.ini b/variants/wio-e5-mini/platformio.ini index f52986cc6..6aa329a3c 100644 --- a/variants/wio-e5-mini/platformio.ini +++ b/variants/wio-e5-mini/platformio.ini @@ -68,7 +68,18 @@ build_src_filter = ${lora_e5_mini.build_src_filter} [env:wio-e5-mini_companion_radio_usb] extends = lora_e5_mini +build_unflags = -Os build_flags = ${lora_e5_mini.build_flags} + -Oz + -flto + -fno-inline-small-functions + -fipa-pta + -fmerge-all-constants + -fno-ipa-cp-clone + -fno-partial-inlining + -fno-semantic-interposition + -fno-unwind-tables + -fno-asynchronous-unwind-tables -I examples/companion_radio/ui-orig -D LORA_TX_POWER=22 -D MAX_CONTACTS=100