Merge branch 'dev' into rep-room-acl

# Conflicts:
#	examples/simple_repeater/main.cpp
This commit is contained in:
Scott Powell
2025-09-09 19:02:23 +10:00
3 changed files with 15 additions and 17 deletions

View File

@@ -208,7 +208,7 @@ void MyMesh::logRx(mesh::Packet *pkt, int len, float score) {
void MyMesh::logTx(mesh::Packet *pkt, int len) { void MyMesh::logTx(mesh::Packet *pkt, int len) {
#ifdef WITH_BRIDGE #ifdef WITH_BRIDGE
bridge->onPacketTransmitted(pkt); bridge.onPacketTransmitted(pkt);
#endif #endif
if (_logging) { if (_logging) {
File f = openAppend(PACKET_LOG_FILE); File f = openAppend(PACKET_LOG_FILE);
@@ -473,16 +473,13 @@ bool MyMesh::onPeerPathRecv(mesh::Packet *packet, int sender_idx, const uint8_t
MyMesh::MyMesh(mesh::MainBoard &board, mesh::Radio &radio, mesh::MillisecondClock &ms, mesh::RNG &rng, MyMesh::MyMesh(mesh::MainBoard &board, mesh::Radio &radio, mesh::MillisecondClock &ms, mesh::RNG &rng,
mesh::RTCClock &rtc, mesh::MeshTables &tables) mesh::RTCClock &rtc, mesh::MeshTables &tables)
: mesh::Mesh(radio, ms, rng, rtc, *new StaticPoolPacketManager(32), tables), : mesh::Mesh(radio, ms, rng, rtc, *new StaticPoolPacketManager(32), tables),
_cli(board, rtc, &_prefs, this), telemetry(MAX_PACKET_PAYLOAD - 4) { _cli(board, rtc, &_prefs, this), telemetry(MAX_PACKET_PAYLOAD - 4)
#ifdef WITH_BRIDGE
#if defined(WITH_RS232_BRIDGE) #if defined(WITH_RS232_BRIDGE)
bridge = new RS232Bridge(WITH_RS232_BRIDGE, _mgr, &rtc); , bridge(WITH_RS232_BRIDGE, _mgr, &rtc)
#elif defined(WITH_ESPNOW_BRIDGE) #elif defined(WITH_ESPNOW_BRIDGE)
bridge = new ESPNowBridge(_mgr, &rtc); , bridge(_mgr, &rtc)
#else
#error "You must choose either RS232 or ESPNow bridge"
#endif
#endif #endif
{
memset(known_clients, 0, sizeof(known_clients)); memset(known_clients, 0, sizeof(known_clients));
next_local_advert = next_flood_advert = 0; next_local_advert = next_flood_advert = 0;
set_radio_at = revert_radio_at = 0; set_radio_at = revert_radio_at = 0;
@@ -518,6 +515,10 @@ void MyMesh::begin(FILESYSTEM *fs) {
// load persisted prefs // load persisted prefs
_cli.loadPrefs(_fs); _cli.loadPrefs(_fs);
#ifdef WITH_BRIDGE
bridge.begin();
#endif
radio_set_params(_prefs.freq, _prefs.bw, _prefs.sf, _prefs.cr); radio_set_params(_prefs.freq, _prefs.bw, _prefs.sf, _prefs.cr);
radio_set_tx_power(_prefs.tx_power_dbm); radio_set_tx_power(_prefs.tx_power_dbm);
@@ -668,7 +669,7 @@ void MyMesh::handleCommand(uint32_t sender_timestamp, char *command, char *reply
void MyMesh::loop() { void MyMesh::loop() {
#ifdef WITH_BRIDGE #ifdef WITH_BRIDGE
bridge->loop(); bridge.loop();
#endif #endif
mesh::Mesh::loop(); mesh::Mesh::loop();

View File

@@ -102,6 +102,11 @@ class MyMesh : public mesh::Mesh, public CommonCLICallbacks {
uint8_t pending_sf; uint8_t pending_sf;
uint8_t pending_cr; uint8_t pending_cr;
int matching_peer_indexes[MAX_CLIENTS]; int matching_peer_indexes[MAX_CLIENTS];
#if defined(WITH_RS232_BRIDGE)
RS232Bridge bridge;
#elif defined(WITH_ESPNOW_BRIDGE)
ESPNowBridge bridge;
#endif
ClientInfo* putClient(const mesh::Identity& id); ClientInfo* putClient(const mesh::Identity& id);
void putNeighbour(const mesh::Identity& id, uint32_t timestamp, float snr); void putNeighbour(const mesh::Identity& id, uint32_t timestamp, float snr);

View File

@@ -8,10 +8,6 @@
static UITask ui_task(display); static UITask ui_task(display);
#endif #endif
#ifdef WITH_BRIDGE
AbstractBridge* bridge;
#endif
StdRNG fast_rng; StdRNG fast_rng;
SimpleMeshTables tables; SimpleMeshTables tables;
@@ -27,10 +23,6 @@ void setup() {
Serial.begin(115200); Serial.begin(115200);
delay(1000); delay(1000);
#ifdef WITH_BRIDGE
bridge->begin();
#endif
board.begin(); board.begin();
#ifdef DISPLAY_CLASS #ifdef DISPLAY_CLASS