Commit Graph
73 Commits
Author SHA1 Message Date
JakubandClaude Opus 5 919bf106b7 feat(companion): add device-originated message frames
Adds RESP_CODE_CONTACT_MSG_SENT_V3 (0x1E) and
RESP_CODE_CHANNEL_MSG_SENT_V3 (0x1F) so firmware that sends messages on
its own (bot auto-replies, on-device keyboard input) can mirror them into
the companion app's history, which today only ever sees inbound traffic
and messages the app itself sent. See #3225.

Both ride the existing offline-queue / MSG_WAITING / SYNC_NEXT_MESSAGE
pipe and reuse the RECV_V3 byte layout, with the pubkey field holding the
recipient instead of the sender and the SNR byte reserved. Requires
app_target_ver >= 3; there is no pre-V3 shape, so older apps are skipped.

Mainline never calls these -- nothing in companion_radio self-originates
messages -- so this is API surface for custom builds, and the linker
drops both functions when unused (identical flash usage before/after).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-19 01:18:43 +02:00
ripplebizandGitHub 89ef200efa Merge pull request #3366 from recrof/companion-cli-fix-2
Companion CLI: fixed txdelay, direct.txdelay, agc.reset.interval, int.thresh
2026-09-07 10:42:48 +10:00
Rastislav Vysoky 5d82ed352c Companion CLI: fixed txdelay, direct.txdelay, agc.reset.interval, int.thresh 2026-09-06 15:14:35 +02:00
fdlamotteandGitHub adbdcf00bb Merge branch 'dev' into node_discover_ui 2026-08-29 11:02:58 -04:00
Florent 088ae3caeb ui: opt-out for discover screen 2026-08-23 10:42:00 -04:00
Scott Powell 2c0ace2519 * new TXT_TYPE_CLI_COMMAND (3) 2026-08-23 22:04:05 +10:00
Scott Powell 41588d8052 * adding new CommonRadioPrefs
* refactor: moving various radio CLI handling to CommonRadioPrefs
2026-08-23 14:45:15 +10:00
Florent 52f0362c09 ui: repeater discover screen 2026-08-21 18:24:46 -04:00
Scott Powell afb969ccca * initial wiring/routing of CLI commands to companion (either via app/serial interface, or remotely via txt message) 2026-08-21 20:55:57 +10:00
Scott Powell d929643524 * version 1.17.1 2026-08-14 22:19:19 +10:00
Scott Powell 93b2db63de * version 1.17.0 2026-08-09 15:14:46 +10:00
Scott Powell f515716032 * new NodePrefs for companion 2026-07-17 16:05:10 +10:00
Wessel Nieboer 7c8e092457 Have CAD be a separate toggle (set cad on/off) 2026-06-14 15:20:58 +02:00
Scott Powell 8c0d5c5b24 * version 1.16.0 2026-06-06 21:09:38 +10:00
Scott Powell d9df8307ca * first draft 2026-06-01 16:49:31 +10:00
Kevin Le 280213d41f Fixed to put hasPendingWork out of ENV_INCLUDE_GPS 2026-05-22 10:58:21 +07:00
Kevin Le 6b1099161c Added Power Saving for NRF52 companions 2026-05-22 10:58:17 +07:00
Scott Powell 6979326340 * CMD_SET_FLOOD_SCOPE_KEY, now with second variant for explicitly sending un-scoped
* FIRMWARE_VER_CODE bumped to 12
2026-05-07 16:51:03 +10:00
Scott Powell 3751785400 * version 1.15.0 2026-04-19 11:27:55 +10:00
Scott Powell d2fdd6fad4 * companion: FIRMWARE_VER_CODE now bumped to 11 2026-04-15 20:47:17 +10:00
Scott Powell efdd2b6a6c * companion: simplified the CMD_GET / CMD_SET _DEFAULT_FLOOD_SCOPE 2026-04-13 23:11:21 +10:00
Scott Powell 3b32f35288 * Companion: default scope 2026-04-10 17:01:41 +10:00
Scott Powell 2325973fec * Companion: applyGPSPrefs() now just in one place (moved out of UITask) 2026-03-25 16:26:51 +11:00
Alejandro Ramirez f8dbdce6bb fix: apply persisted GPS enabled setting on boot for companion radio
The companion_radio example was not restoring the GPS enabled/disabled
preference from flash after reboot. The preference was being saved
correctly when toggled via the mobile app, but on boot,
sensors.begin() -> initBasicGPS() unconditionally sets gps_active=false
and nothing subsequently restored the persisted state.

Added applyGpsPrefs() (matching the pattern in simple_repeater,
simple_sensor, and simple_room_server) and call it from main.cpp
after sensors.begin() to ensure the GPS hardware is initialized
before the saved preference is applied.
2026-03-24 09:10:09 -05:00
Liam CottleandGitHub 91aed048e9 Merge pull request #1928 from dz0ny/feat/grp-data-upstream
feat: Add support for PAYLOAD_TYPE_GRP_DATA
2026-03-23 21:41:51 +13:00
Scott Powell 467959cc3b * version 1.14.1 2026-03-20 12:32:41 +11:00
Janez T 2f68769185 fix: Widen grp data type
ref: #1928
2026-03-19 09:25:42 +01:00
Janez T 1fb26e7623 fix: Drop grp data timestamp
ref: #1928
2026-03-19 09:22:12 +01:00
Janez T a21b83b127 fix: address comments
ref:
2026-03-18 20:09:11 +01:00
Janez T 9b84278607 feat: Add support for PAYLOAD_TYPE_GRP_DATA
Docs changes are to reflect how it is currently in fw

This adds ability to send datagram data to everyone in channel
2026-03-18 20:08:52 +01:00
Scott Powell 3fe2dd7f48 * ver 1.14.0 2026-03-06 12:20:04 +11:00
Wouter BijenandClaude Opus 4.6 00566741f6 Add configurable max hops filter for auto-add contacts
Filter auto-add of new contacts by hop count (issues #1533, #1546).
Setting is configurable from the companion app via extended
CMD_SET/GET_AUTOADD_CONFIG protocol (0 = no limit, 1-63 = max hops).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:41:41 +01:00
Scott Powell 5b0884ad2d * added CMD_SET_PATH_HASH_MODE 2026-02-23 21:08:22 +11:00
Scott Powell 2e00298128 * companion: retransmit delays now hard-coded (only for client repeat mode) 2026-02-17 20:25:56 +11:00
Scott Powell e2571accbe * ver 1.13.0 2026-02-15 17:24:37 +11:00
Scott Powell 564a19d125 * companion client repeat mode support 2026-02-14 15:50:06 +11:00
Scott Powell 465776d667 * ver 1.12.0 2026-01-29 21:12:31 +11:00
taco 403ce1db08 contacts: granular autoadd and overwrite-oldest 2026-01-15 18:01:20 +11:00
Scott Powell e054597a18 * ver 1.11.0 2025-11-30 18:32:10 +11:00
zaquaz 2bd47de3b9 Added buzzer config persistance accross restart 2025-11-20 19:02:32 -08:00
Scott Powell 91e9fcea4b * ver 1.10.0 2025-11-13 20:45:38 +11:00
Scott Powell 2e63499ae5 * companion: protocol ver bumped to 8. 2025-11-06 22:51:17 +11:00
Scott Powell 4a5404d997 * companion: added CMD_SEND_CONTROL_DATA, and PUSH_CODE_CONTROL_DATA 2025-11-06 22:10:20 +11:00
Scott Powell 9ebeb477aa * RegionMap: inverted 'flags' to _deny_ bits
* Mesh: new filterRecvFloodPacket() for overriding
* repeater CLI: 'allow' -> 'allowf' or 'denyf'
2025-11-05 14:34:44 +11:00
Scott Powell d9ff3a4d02 * Mesh: new sendFlood() overload with transport codes.
* BaseChatMesh:  sendFloodScoped(), for overriding with some outbound 'scope' / TransportKey
* companion: new 'send_scope' variable.
2025-11-04 01:21:56 +11:00
Scott Powell 8d8b9a6141 * ver 1.9.1 2025-10-02 12:52:19 +10:00
Scott Powell b92d9bd972 * ver 1.9.0 2025-09-28 19:24:00 +10:00
Scott Powell 52d5cc6068 * tidy and minor fix for offline queue deletion 2025-09-22 15:01:28 +10:00
Scott Powell 74dea260e5 * proposed change for re-trying reciprocal path transmit 2025-09-08 19:22:59 +10:00
Scott Powell 637891b814 * ver bump 2025-09-01 19:32:15 +10:00