Commit Graph
24 Commits
Author SHA1 Message Date
João Brázio 5843a12c71 Rename SerialBridge to RS232Bridge 2025-09-05 11:28:40 +01:00
João Brázio 375093f78d Add nRF52 support and refactor packet handling
This commit introduces several improvements to the SerialBridge helper:

- Adds support for the nRF52 platform by implementing the `setPins` configuration.
- Corrects the type cast for the RP2040 platform from `HardwareSerial` to `SerialUART`.
- Refactors packet deserialization to use a new `Packet::readFrom()` method instead of a direct `memcpy`, improving encapsulation.
- Updates the packet length validation to use the more appropriate `MAX_TRANS_UNIT` constant.
2025-09-05 09:22:06 +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 2b920dfed3 Rework packet serialization and parsing 2025-09-05 01:50:50 +01:00
João Brázio ee3c4baea5 Prevent packet loops and duplicates
Implement a "seen packets" table to track packets that have already been processed by the serial bridge.

This prevents packets from being re-transmitted over the serial link if they have already been seen, and it stops inbound packets from serial from being re-injected into the mesh if they are duplicates.

Duplicate inbound packets are now freed to prevent memory leaks.
2025-09-04 23:50:13 +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
João Brázio 9fd7e9427a Add bridge support for WSL3 board 2025-09-01 10:53:51 +01:00
João Brázio cf4720bd34 Merge remote-tracking branch 'upstream/dev' into jbrazio/2025_3f11ad35 2025-09-01 10:47:19 +01:00
João Brázio 78fcb704bc Increase power limit for Heltec v3 433 MHz 2025-08-25 17:44:14 +01:00
João Brázio 7f142245e6 Merge remote-tracking branch 'origin/dev' into jbrazio/2025_3f11ad35 2025-08-22 23:00:35 +01:00
João Brázio 85273a6dc6 Merge remote-tracking branch 'origin/dev' into jbrazio/2025_3f11ad35 2025-07-29 00:31:52 +01: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
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
João Brázio 2f77cef04b Add config flags to variants 2025-06-29 16:28:11 +01:00
João Brázio 4b70ee863d Serial bridge implementation 2025-06-27 20:16:14 +01:00
João Brázio 24464d0c4e Update VBAT schematic 2025-06-16 21:28:59 +01:00
João Brázio 110bd49407 VBAT schematic 2025-06-16 19:51:53 +01:00
João Brázio f3e85a6fba Update SX126X_CURRENT_LIMIT 2025-06-16 16:57:43 +01:00
João Brázio 3448db6e36 Rename LED pin 2025-06-16 02:01:16 +01:00
João Brázio 52acae1fe7 Set default upload protocol 2025-06-16 02:01:04 +01:00
João Brázio 8f6b2b75d7 Waveshare RP2040-LoRa board support 2025-06-15 23:48:49 +01:00