Commit graph

189 commits

Author SHA1 Message Date
Ryan Gregg
88892de864 Fix Ethernet init checking hardwareStatus before begin() and deduplicate CLI code
The Ethernet retry loop in repeater and room server checked
hardwareStatus() and linkStatus() before calling Ethernet.begin(),
which always returned EthernetNoHardware since hardware detection
only happens during begin(). Extract shared Ethernet CLI code into
EthernetCLI.h to prevent future divergence. Also fix time_t type
mismatch in companion radio Ethernet init.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 10:48:42 -07:00
Ryan Gregg
61ba79966b Address PR review feedback from liamcottle (second round)
- Rename eth command to eth.status for consistency with other commands
- Rename generateDeviceMac to generateEthernetMac for clarity
- Refactor ethernet_handle_command to return false by default
- Allow new TCP clients to replace existing connections (repeater, room server, SerialEthernetInterface)
- Boot companion radio without Ethernet on init failure (LoRa-only recovery mode)
- Remove > prompt from ethernet CLI for consistency with serial interface
- Fix variable redeclaration compile error in SerialEthernetInterface when ETHERNET_STATIC_IP is defined
- Fix TCP socket leak when duplicate client detection fires
- Remove dead recv_queue and adv_restart_time members from SerialEthernetInterface
- Fix port numbers in docs (port 23 for repeater/room server CLI, port 5000 for companion radio)
- Clarify eth.status command is only available in repeater and room server firmware

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-11 12:43:08 -07:00
Ryan Gregg
3e9ceba24a Updates based on PR review feedback from liamcottle 2026-03-10 22:35:31 -07:00
Ryan Gregg
70b51bd096 Add native Ethernet support for RAK4631 repeater, room server, and companion
Add W5100S Ethernet adapter support for RAK4631-based firmware, enabling
TCP CLI access on port 23 as an alternative to BLE/Serial connections.

- New SerialEthernetInterface for nRF52 with DHCP, reconnection handling,
  and shared WB_IO2 power pin management with GPS module
- Ethernet build targets for repeater, room server, and companion firmware
- Prevent GPS from toggling WB_IO2 when Ethernet module is active
- CI build check for all three ETH firmware targets

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 20:43:59 -07:00
João Brázio
18473333df
Merge remote-tracking branch 'upstream/dev' into 2026/t114-sensors 2026-02-05 13:36:22 +00:00
João Brázio
5cb26b91f6
Refactor Heltec T114 sensor management 2026-02-05 13:35:04 +00:00
taco
a342ab8437 nrf52: allow repeater to sleep when idle 2026-02-01 14:51:27 +11:00
liamcottle
d13bc446de added build flag to enable/disable boot advert 2026-01-26 22:39:39 +13:00
liamcottle
ed589f9620 boot adverts are now zero hop instead of flood 2026-01-26 22:20:36 +13:00
Kevin Le
1706f759b7 Modified hasPendingWork to return bool 2025-12-24 11:00:34 +07:00
Kevin Le
5c6c15942b Added powersaving to all ESP32 boards with RTC-supported DIO1
Added CLI to enable/disable powersaving
2025-12-23 12:48:08 +07:00
Scott Powell
ecd30f4d36 * new CLI commands: region, region load, region save, region get, region allow 2025-11-03 22:53:14 +11:00
Scott Powell
3d9378d91e * Fix for VolatileRTCClock wrapping around to initial synced time every 49 days 2025-10-30 16:45:50 +11:00
Scott Powell
e35183ae41 Merge branch 'dev' into rep-room-acl
# Conflicts:
#	examples/simple_repeater/main.cpp
2025-09-09 19:02:23 +10:00
Scott Powell
5344f04d89 * Repeater: slight refactor of 'bridge' instantiation 2025-09-09 18:46:30 +10:00
Scott Powell
08f91f8d95 Merge branch 'dev' into rep-room-acl
# Conflicts:
#	examples/simple_repeater/main.cpp
2025-09-09 18:02:05 +10:00
Scott Powell
f2e8fb0259 * refactor: MyMesh class extracted 2025-09-08 21:46:19 +10:00
João Brázio
7fca20475a
Merge remote-tracking branch 'upstream/dev' into jbrazio/2025_3f11ad35 2025-09-08 02:04:14 +01:00
João Brázio
5b9d11ac8f
Support ESPNow and improve documentation 2025-09-07 21:39:54 +01:00
João Brázio
cb99eb4ae8
Remove retransmit check for RS232 bridge in logTx
Since the flag is preserved and respected by the mesh processing on the receiving end, there's no risk of these packets being retransmitted endlessly.
2025-09-05 14:49:06 +01:00
João Brázio
5843a12c71
Rename SerialBridge to RS232Bridge 2025-09-05 11:28:40 +01:00
João Brázio
77ab19153e
Add serial logging for TX/RX packets 2025-09-05 02:07:26 +01:00
João Brázio
1948d284a0
Extract serial bridge into dedicated classes
This commit refactors the serial bridge functionality out of the `simple_repeater` example and into a more reusable, object-oriented structure.

An `AbstractBridge` interface has been introduced, along with a concrete `SerialBridge` implementation. This encapsulates all the logic for packet framing, checksum calculation, and serial communication, cleaning up the main example file significantly.

The `simple_repeater` example now instantiates and uses the `SerialBridge` class, resulting in better separation of concerns and improved code organization.
2025-09-04 23:43:05 +01:00
Quency-D
c9671d7d8d add heltec meshpocket board. 2025-09-02 13:56:24 +08:00
João Brázio
cf4720bd34
Merge remote-tracking branch 'upstream/dev' into jbrazio/2025_3f11ad35 2025-09-01 10:47:19 +01:00
Scott Powell
637891b814 * ver bump 2025-09-01 19:32:15 +10:00
Scott Powell
ee194a7b19 * added CommonCLI::saveIdentity() 2025-09-01 15:22:11 +10:00
Scott Powell
8b3c16c497 * ver bump 2025-08-31 23:42:15 +10:00
liamcottle
c49ecc121e use new instance of neighbour info object when removing neighbour 2025-08-29 18:08:06 +12:00
liamcottle
2d5016bac3 add ability to remove neighbour via cli 2025-08-25 23:45:50 +12:00
João Brázio
7f142245e6
Merge remote-tracking branch 'origin/dev' into jbrazio/2025_3f11ad35 2025-08-22 23:00:35 +01:00
recrof
5dc930410c set default flood advert interval to 12 hours 2025-08-20 13:44:41 +02:00
ripplebiz
b17196828d
Merge pull request #563 from Cisien/cisien/add-rx-time
Add a counter to track rx time for repeater stats
2025-08-01 19:59:20 +10:00
Scott Powell
28af68c187 * new CommonCLI commands: "get prv.key", "set prv.key {hex}" 2025-08-01 19:28:44 +10:00
Scott Powell
32e8ce4130 * REQ_TYPE_GET_TELEMETRY_DATA, first reserved byte (of 4) is now inverse mask to apply to permissions 2025-07-31 13:45:53 +10:00
Chris
ea2ce93c02 Add a counter to track rx time for repeater stats 2025-07-30 09:41:20 -07:00
João Brázio
85273a6dc6
Merge remote-tracking branch 'origin/dev' into jbrazio/2025_3f11ad35 2025-07-29 00:31:52 +01:00
Scott Powell
365cb89634 * ver bump to 1.7.4 2025-07-24 20:30:35 +10:00
Scott Powell
ea4aa93594 * CommonCLI: "set radio " now with optional 5th param timeout_mins, for applying temporary radio params for that many mins
* "advert" command now with longer delay, so that CLI reply is sent first
2025-07-23 21:40:37 +10:00
Scott Powell
6bc8dd28d4 * CommonCLI: new "multi.acks" config setting 2025-07-16 18:51:18 +10:00
Scott Powell
f74819f8db * ver bump 2025-07-15 15:59:10 +10:00
João Brázio
04042e3ca0
Refactor serial bridge handling 2025-07-09 11:03:35 +01:00
João Brázio
97b51900f8
More robust handling of pkt len 2025-07-08 21:45:49 +01:00
João Brázio
92ee1820c4
Add null check for packet allocation and clean up Dispatcher 2025-07-08 16:02:10 +01:00
Scott Powell
9cecbad2a7 * refactor: CommonCLI, processing of optional command prefix moved to handleCommand() call sites
* Sensor, anon_req now just for admin login (guest password now unused)
* special CLI command, "setperm {pubkey-hex} {permissions-int16}" for admin(s) to manage user access (permissions 0 = remove)
2025-07-08 23:19:35 +10:00
Scott Powell
810b1f8fe7 * Mesh::onAnonDataRecv() slight optimisation, so that shared-secret calc doesn't need to be repeated
* SensporMesh: req_type now optionally encoded in anon_req payload (so can send various requests without a prior login)
2025-07-08 23:19:35 +10:00
João Brázio
ac056fb0b9
Remove serial bridge implementation and implement simplified version directly in the repeater source code. 2025-07-08 14:04:21 +01:00
João Brázio
3375389181
Merge remote-tracking branch 'upstream/dev' into jbrazio/2025_3f11ad35 2025-07-04 11:57:09 +01:00
Scott Powell
483b31665c * ver bump to v1.7.2 2025-07-02 21:11:07 +10:00
Scott Powell
165fb33d5c * ver bump to v1.7.1 2025-06-29 20:06:24 +10:00