Commit Graph
430 Commits
Author SHA1 Message Date
Claude 0e756bf24a Companion: say which profile raw and channel data arrived on
MeshCore Open TAK labels a MediaMesh photo or voice clip "Received via
MediaMesh", "via main mesh" or both. Wadamesh standalones tell the
app the profile in a frame byte stock firmware leaves reserved; a
Cascade companion left it unset, so the app showed nothing.

While radio2 is on (rx or rxtx):
- PUSH_CODE_RAW_DATA (0x84) byte 3: 0xA0 primary, 0xA1 radio2
  (stock 0xFF).
- RESP_CODE_CHANNEL_DATA_RECV (0x1B) byte 2: the same (stock 0).
With radio2 off, or for a packet from the UDP bridge, the stock values
stay, so existing clients see no change.

Test: test/test_companion_rx_via.py (in run-unit-tests); the two
harnesses that compile these handlers get a stub.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011i5tJJtj95MB4oUgncCUe5
2026-10-24 17:31:53 -07:00
mikecarper 21194b9825 Fix compile and capacity blockers in the full release matrix
Resolve Serial macro and ESP-NOW wrapper compilation errors. Preserve queue, neighbor, advert-history and Room post capacities while using qualified RTC, PSRAM and word-only IRAM storage on constrained ESP32 targets. Reduce Full infrastructure flash through lossless Room web compression, compact crypto and unused exception metadata removal.

Add focused native regressions for storage ownership, exact protocol output, OTA proofs and build policy. Keep physical flash sizes, OTA slots and RAM guard formulas unchanged.
2026-10-24 05:38:23 -07:00
mikecarper 0d93f73837 Include OTAFIX bootloader variants in complete release builds 2026-10-23 22:04:20 -07:00
mikecarper c563c40c66 Fix firmware size limits and refresh CI compatibility checks
Compact the existing STM32 field arithmetic and ESP-NOW tail-frame storage without removing features or lowering memory reserves. Refresh power-saving fixtures and pin official-app tests to a published archive.
2026-10-23 19:04:43 -07:00
mikecarper 1f1d98eed8 Cover Full Meshtext board families in CI and record RF qualification 2026-10-23 18:14:58 -07:00
mikecarper fc1e721a84 Scope automatic bootloader updates to each firmware image 2026-10-23 17:52:16 -07:00
mikecarper 3226e208bf Automatically check embedded bootloader after 70 seconds with reboot protection 2026-10-23 17:34:57 -07:00
mikecarper 881d8e58a5 Simplify embedded bootloader updates and skip current versions 2026-10-23 17:16:32 -07:00
mikecarper d0d32d7a31 Update MOTA profile and compact logging checks and run them in CI 2026-10-23 17:08:36 -07:00
mikecarper 9da754b137 Support SenseCAP Solar P1 bootloader identity separately from XIAO 2026-10-23 16:51:34 -07:00
mikecarper d808d964d2 Add nRF52 Repeater and Room variants with embedded OTAFIX 2.4.12 2026-10-23 16:36:18 -07:00
mikecarper 9b0e013f4b Merge PowerSaving-v18 into keymindCascade
Integrate the ESP32 power-saving core and RXPS recovery/status updates while preserving radio2, telemetry and saved settings.
2026-10-23 16:11:49 -07:00
mikecarper d6853f4521 Add saved 9 MHz alias for supported 8.889 MHz SPI clocks 2026-10-23 12:54:54 -07:00
mikecarper fd2c99b890 Add isolated ESP32 SPI clock and retune timing instrumentation 2026-10-23 11:57:24 -07:00
mikecarper 61d024bc72 Add saved controls for radio switching acceleration 2026-10-23 10:41:26 -07:00
mikecarper 86ef1e890c Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-23 10:05:38 -07:00
mikecarper fd47fe0b1a Merge upstream dev into keymindCascade
Bring in the new Companion WiFi profiles while preserving existing OLED detection, message queues and OTA safeguards. Include dynamic WiFi helpers consistently and refresh the affected test fixtures.
2026-10-23 09:57:14 -07:00
mikecarper 8f621cbb3f Isolate RAK help packing from the firmware C++11 build 2026-10-23 09:40:00 -07:00
mikecarper 684df9c643 Reduce RAK Full Companion help overhead without removing commands 2026-10-23 09:19:09 -07:00
mikecarper 807343de8d Share Companion hardware diagnostics and protect RXEN reconfiguration 2026-10-23 08:57:51 -07:00
mikecarper 04c4fdb240 Expose Companion bootloader version and fence XIAO role-transition tests 2026-10-23 08:33:02 -07:00
mikecarper 61a536c686 Add gated Tag and MeshTower buffered SPIM1 qualification paths 2026-10-23 08:07:01 -07:00
mikecarper 1b9fcf2af5 Add gated XIAO nRF52 buffered SPIM2 qualification candidate 2026-10-23 07:55:07 -07:00
mikecarper 1b97c089a7 Combine bounded nRF USB and scheduler isolation for explicit HIL trials 2026-10-23 03:52:06 -07:00
mikecarper 7a6a118775 Bind HIL IRQ observers through private nRF framework copies 2026-10-23 03:35:54 -07:00
mikecarper 0bcc9e3e9e Isolate fast SPI reads with a bounded 8 to 16 to 8 MHz diagnostic 2026-10-23 03:34:14 -07:00
mikecarper 3801d49391 Attribute nRF retune stalls to observed interrupt and scheduler activity 2026-10-23 03:27:00 -07:00
mikecarper bb9431973a Add bounded USB IRQ isolation experiment for nRF radio retunes 2026-10-23 03:05:18 -07:00
mikecarper a3168384f9 Add optional nRF profile task-priority scheduling experiment 2026-10-23 02:34:50 -07:00
mikecarper 47e9dc4b14 Add bounded nRF radio yield experiment and correlated worst-hop timings 2026-10-23 02:08:10 -07:00
mikecarper 2629c15804 Add optional nonhalting profile-switch stage timing for hardware diagnostics 2026-10-23 01:59:07 -07:00
mikecarper 3892599300 Use buffered radio SPI and acknowledged RX reuse on direct-I/O boards 2026-10-23 01:55:23 -07:00
mikecarper 999796552a Batch RAK3401 radio SPI transfers at the existing clock 2026-10-23 01:16:49 -07:00
mikecarper adb11e7b41 Qualify RAK repeater RAM and retire stale channel-busy waits 2026-10-22 22:59:23 -07:00
mikecarper ab6412e73c Add persistent battery ADC calibration across boards
Add meter-reference calibration with saved ADC corrections, checked persistence and rollback. Preserve existing board coefficients and nRF52 voltage policy, and merge the Mini Repeater feature gates.

Validation: 69 focused tests, hosted documentation checks, and four firmware builds passed. Mini Repeater retains calibration and its existing filesystem with 376 flash bytes free; earlier Mini Sensor size failures remain documented.
2026-10-22 18:56:32 -07:00
mikecarper af106a0ee9 Add optional battery thresholds for repeat and flood forwarding 2026-10-22 17:33:23 -07:00
mikecarper f4ade738df Add packed noise-floor telemetry history for both radio profiles 2026-10-22 16:50:31 -07:00
mikecarper 3236164d21 Add SenseCAP Indicator LoRa repeater profiles 2026-10-22 12:42:15 -07:00
mikecarper 5e25faa3d0 Add station-only WiFi UDP bridge with eight authenticated peers 2026-10-22 12:20:43 -07:00
mikecarper 281f1a5199 Add runtime RS232 bridge diagnostics and wired link probes 2026-10-22 11:51:56 -07:00
mikecarper 14682de00e Add runtime ESP-NOW bridge diagnostics and link probes 2026-10-22 11:30:28 -07:00
mikecarper 1d4016f483 Fit Heltec V2 BLE with bounded contact caching 2026-10-22 08:18:26 -07:00
mikecarper 9b70827d03 Add opt-in bounded ESP32 radio timing capture 2026-10-22 03:46:43 -07:00
mikecarper e4119a1206 Reset radio activity tracking after successful receive startup 2026-10-22 02:39:34 -07:00
mikecarper d73599bc61 Keep ESP32 SDK diagnostics inside the USB session boundary 2026-10-22 00:56:34 -07:00
mikecarper f6747ae55c Fix MeshPocket panel refreshes and match the Reader font to the UI 2026-10-22 00:47:36 -07:00
mikecarper 882c927185 Clean MeshPocket page changes and extend e-paper idle timeout 2026-10-22 00:21:36 -07:00
mikecarper 5d31a839c5 Add MeshPocket message board and worldwide map 2026-10-21 23:57:14 -07:00
mikecarper 7d0709bf03 Park paused UART sessions and timestamp ESP32 sleep calls 2026-10-21 23:24:07 -07:00
mikecarper c33bbaf8f2 Fix NimBLE queued timer crash when stopping Bluetooth 2026-10-21 22:12:03 -07:00