Commit Graph
45 Commits
Author SHA1 Message Date
João Brázio 13a0202062 Add BRIDGE_DEBUG flag 2025-10-06 12:57:32 +01:00
João Brázio fb46e5cc8a Refactor debug logging across bridge implementations 2025-10-06 12:57:04 +01:00
João Brázio 9b4d93d112 Add bridge type command to CLI for reporting bridge configuration 2025-10-05 11:48:05 +01:00
João Brázio e48f3a58ae Remove WITH_ESPNOW_BRIDGE_SECRET definition from platformio.ini files and update documentation to use _prefs->bridge_secret 2025-10-03 00:23:09 +01:00
João Brázio 8edcb46a28 Bridge: enhance CLI configuration options 2025-10-03 00:20:09 +01:00
João Brázio aa946bbe36 WITH_BRIDGE was not implementing setBridgeState() 2025-10-02 09:47:00 +01:00
João Brázio 2297d24013 Minor fixes 2025-09-24 16:46:03 +01:00
João Brázio 1d45c7ec66 Add bridge management CLI 2025-09-24 16:30:00 +01:00
João Brázio 510472bfa0 Normalize repeater target names 2025-09-10 23:56:07 +01:00
João Brázio a55fa8d8ec Add BRIDGE_DELAY as a buffer to prevent immediate processing conflicts in the mesh network 2025-09-08 20:21:33 +01:00
João Brázio 1c93c162a1 Add ESPNow bridge configurations for all ESP32 targets 2025-09-08 18:49:33 +01:00
João Brázio 1d25c87c57 Refactor bridge packet handling to use common magic number and size constants 2025-09-08 18:16:50 +01: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 0051ccef26 Refactor bridge implementations to inherit from BridgeBase 2025-09-08 02:03:08 +01:00
João Brázio 537449e6af Refactor ESPNowBridge packet handling to use 2-byte magic header and improve packet size validation 2025-09-08 01:20:54 +01:00
João Brázio 04e70829a4 Rename RS232 bridge environments 2025-09-07 21:46:51 +01:00
João Brázio 5b9d11ac8f Support ESPNow and improve documentation 2025-09-07 21:39:54 +01:00
João Brázio 2ef38422e9 Delete the variant-specific NullDisplayDriver.h and update target.h to use the shared implementation from #735 2025-09-05 17:59:59 +01:00
João Brázio 808214d7b5 Merge remote-tracking branch 'upstream/dev' into jbrazio/2025_b5813561 2025-09-05 17:54:45 +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 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 d8f80f259a Refactor display driver inclusion for Heltec T114 to support configurations without a display 2025-09-04 13:26:48 +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