From 7410e820c63331d327bb67a53ef0c9e8d2bb185a Mon Sep 17 00:00:00 2001 From: John Poole Date: Tue, 19 May 2026 15:38:06 -0700 Subject: [PATCH] All working --- .../README.md | 93 ++++ .../platformio.ini | 76 +++ .../src/TBeamSupremeBleInterface.cpp | 419 +++++++++++++++++ .../src/TBeamSupremeBleInterface.h | 90 ++++ .../src/main.cpp | 125 +++++ .../README.md | 85 ++++ .../platformio.ini | 76 +++ .../src/TBeamSupremeBleInterface.cpp | 419 +++++++++++++++++ .../src/TBeamSupremeBleInterface.h | 90 ++++ .../src/main.cpp | 186 ++++++++ .../README.md | 84 ++++ .../platformio.ini | 76 +++ .../src/TBeamSupremeBleInterface.cpp | 419 +++++++++++++++++ .../src/TBeamSupremeBleInterface.h | 90 ++++ .../src/main.cpp | 230 +++++++++ .../README.md | 92 ++++ .../platformio.ini | 59 +++ .../src/TBeamSupremeBleInterface.cpp | 438 ++++++++++++++++++ .../src/TBeamSupremeBleInterface.h | 93 ++++ .../src/main.cpp | 235 ++++++++++ img/20260519_135748_Tue.png | Bin 0 -> 326403 bytes img/20260519_141153_Tue.png | Bin 0 -> 320139 bytes img/20260519_141935_Tue.png | Bin 0 -> 382147 bytes img/20260519_144250_Tue.png | Bin 0 -> 289891 bytes 24 files changed, 3475 insertions(+) create mode 100644 exercises/301_microReticulum_ble_ping_pong/README.md create mode 100644 exercises/301_microReticulum_ble_ping_pong/platformio.ini create mode 100644 exercises/301_microReticulum_ble_ping_pong/src/TBeamSupremeBleInterface.cpp create mode 100644 exercises/301_microReticulum_ble_ping_pong/src/TBeamSupremeBleInterface.h create mode 100644 exercises/301_microReticulum_ble_ping_pong/src/main.cpp create mode 100644 exercises/302_microReticulum_ble_announce_single/README.md create mode 100644 exercises/302_microReticulum_ble_announce_single/platformio.ini create mode 100644 exercises/302_microReticulum_ble_announce_single/src/TBeamSupremeBleInterface.cpp create mode 100644 exercises/302_microReticulum_ble_announce_single/src/TBeamSupremeBleInterface.h create mode 100644 exercises/302_microReticulum_ble_announce_single/src/main.cpp create mode 100644 exercises/303_microReticulum_ble_link_ping_pong/README.md create mode 100644 exercises/303_microReticulum_ble_link_ping_pong/platformio.ini create mode 100644 exercises/303_microReticulum_ble_link_ping_pong/src/TBeamSupremeBleInterface.cpp create mode 100644 exercises/303_microReticulum_ble_link_ping_pong/src/TBeamSupremeBleInterface.h create mode 100644 exercises/303_microReticulum_ble_link_ping_pong/src/main.cpp create mode 100644 exercises/304_microReticulum_ble_dual_role_ping_pong/README.md create mode 100644 exercises/304_microReticulum_ble_dual_role_ping_pong/platformio.ini create mode 100644 exercises/304_microReticulum_ble_dual_role_ping_pong/src/TBeamSupremeBleInterface.cpp create mode 100644 exercises/304_microReticulum_ble_dual_role_ping_pong/src/TBeamSupremeBleInterface.h create mode 100644 exercises/304_microReticulum_ble_dual_role_ping_pong/src/main.cpp create mode 100644 img/20260519_135748_Tue.png create mode 100644 img/20260519_141153_Tue.png create mode 100644 img/20260519_141935_Tue.png create mode 100644 img/20260519_144250_Tue.png diff --git a/exercises/301_microReticulum_ble_ping_pong/README.md b/exercises/301_microReticulum_ble_ping_pong/README.md new file mode 100644 index 0000000..752b467 --- /dev/null +++ b/exercises/301_microReticulum_ble_ping_pong/README.md @@ -0,0 +1,93 @@ +# Exercise 301: microReticulum BLE ping-pong + +This exercise is the BLE analogue of Exercise 201. It proves that two T-Beam Supreme units can exchange microReticulum `PLAIN` destination packets over an ESP32 BLE GATT interface instead of LoRa. + +The ESP32 BLE interface is new in this exercise. It uses the Reticulum BLE service and characteristic UUIDs from `/usr/local/src/ble-reticulum/BLE_PROTOCOL_v2.2.md`: + +```text +service 37145b00-442d-4a94-917f-8f42c5da28e3 +TX notify 37145b00-442d-4a94-917f-8f42c5da28e4 +RX write 37145b00-442d-4a94-917f-8f42c5da28e5 +identity 37145b00-442d-4a94-917f-8f42c5da28e6 +``` + +For this first BLE proof, roles are explicit: + +```text +AMY -> BLE central/client +BOB -> BLE peripheral/server +``` + +AMY scans for the Reticulum BLE service, connects to BOB, sends the 16-byte BLE identity handshake, subscribes to BOB's TX notifications, and writes Reticulum packet fragments to BOB's RX characteristic. BOB receives writes and sends its own Reticulum packet fragments back with TX notifications. + +## Build, upload, and monitor + +In one console: + +```bash +source /home/jlpoole/rnsenv/bin/activate +cd /usr/local/src/microreticulum/microReticulumTbeam +pio run -d exercises/301_microReticulum_ble_ping_pong -e bob -t upload --upload-port /dev/ttytBOB && \ +pio device monitor -d exercises/301_microReticulum_ble_ping_pong -e bob +``` + +In another console: + +```bash +source /home/jlpoole/rnsenv/bin/activate +cd /usr/local/src/microreticulum/microReticulumTbeam +pio run -d exercises/301_microReticulum_ble_ping_pong -e amy -t upload --upload-port /dev/ttytAMY && \ +pio device monitor -d exercises/301_microReticulum_ble_ping_pong -e amy +``` + +Start BOB first so the peripheral is advertising before AMY starts scanning. + +The `platformio.ini` maps each environment to its stable USB symlink: + +```text +amy -> /dev/ttytAMY +bob -> /dev/ttytBOB +cy -> /dev/ttytCY +dan -> /dev/ttytDAN +ed -> /dev/ttytED +``` + +The shorter form should also work once the symlinks exist: + +```bash +pio run -d exercises/301_microReticulum_ble_ping_pong -e bob -t upload +pio device monitor -d exercises/301_microReticulum_ble_ping_pong -e bob +``` + +## Expected output + +BOB should advertise: + +```text +Exercise 301: microReticulum BLE ping-pong +Node=Bob +BLE role=peripheral service=37145b00-442d-4a94-917f-8f42c5da28e3 +``` + +AMY should scan, connect, and send the BLE identity handshake: + +```text +BLE scanning for Reticulum service +BLE peer found: ... +BLE connected and identity handshake sent +``` + +After the BLE link is connected, both nodes should print Reticulum packet traffic: + +```text +TX RNS BLE: Amy says hi. iter=0 +RX RNS BLE: Bob says hi. iter=0 +``` +![](../../img/20260519_135748_Tue.png) +## Notes + +- This exercise still uses `PLAIN` destinations. It proves BLE can carry serialized Reticulum packets, not identity announces or negotiated links. +- Exercise 302 should mirror Exercise 202 by adding announced `SINGLE` destinations over BLE. +- Exercise 303 should mirror Exercise 203 by negotiating a Reticulum `Link` over BLE. +- The BLE fragmentation header matches the Python/C++ BLE Reticulum protocol: `[type:1][sequence:2][total:2][payload...]`. +- This first ESP32 implementation is intentionally role-paired. A later pass can add dual central/peripheral operation and MAC-sorted connection direction. diff --git a/exercises/301_microReticulum_ble_ping_pong/platformio.ini b/exercises/301_microReticulum_ble_ping_pong/platformio.ini new file mode 100644 index 0000000..7049aee --- /dev/null +++ b/exercises/301_microReticulum_ble_ping_pong/platformio.ini @@ -0,0 +1,76 @@ +; Exercise 301: microReticulum BLE ping-pong on T-Beam Supreme + +[platformio] +default_envs = amy + +[env] +platform = espressif32 +framework = arduino +board = esp32-s3-devkitc-1 +monitor_speed = 115200 +upload_speed = 460800 +board_build.partitions = huge_app.csv + +build_flags = + -Wall + -Wno-missing-field-initializers + -Wno-format + -D RNS_USE_FS + -D RNS_PERSIST_PATHS + -D USTORE_USE_UNIVERSALFS + -D MSGPACK_USE_BOOST=OFF + -D MCU_ESP32 + -D ARDUINO_USB_MODE=1 + -D ARDUINO_USB_CDC_ON_BOOT=1 + +lib_deps = + ArduinoJson@^7.4.2 + MsgPack@^0.4.2 + https://github.com/attermann/Crypto.git + https://github.com/attermann/microStore.git + microReticulum=symlink:///usr/local/src/microreticulum/microReticulum + +[env:amy] +extends = env +upload_port = /dev/ttytAMY +monitor_port = /dev/ttytAMY +build_flags = + ${env.build_flags} + -D NODE_LABEL=\"Amy\" + -D BLE_ROLE_CENTRAL + +[env:bob] +extends = env +upload_port = /dev/ttytBOB +monitor_port = /dev/ttytBOB +build_flags = + ${env.build_flags} + -D NODE_LABEL=\"Bob\" + -D BLE_ROLE_PERIPHERAL + +[env:cy] +extends = env +upload_port = /dev/ttytCY +monitor_port = /dev/ttytCY +build_flags = + ${env.build_flags} + -D NODE_LABEL=\"Cy\" + -D BLE_ROLE_CENTRAL + +[env:dan] +extends = env +upload_port = /dev/ttytDAN +monitor_port = /dev/ttytDAN +build_flags = + ${env.build_flags} + -D NODE_LABEL=\"Dan\" + -D BLE_ROLE_PERIPHERAL + +[env:ed] +extends = env +upload_port = /dev/ttytED +monitor_port = /dev/ttytED +build_flags = + ${env.build_flags} + -D NODE_LABEL=\"Ed\" + -D BLE_ROLE_CENTRAL diff --git a/exercises/301_microReticulum_ble_ping_pong/src/TBeamSupremeBleInterface.cpp b/exercises/301_microReticulum_ble_ping_pong/src/TBeamSupremeBleInterface.cpp new file mode 100644 index 0000000..8dd6c8a --- /dev/null +++ b/exercises/301_microReticulum_ble_ping_pong/src/TBeamSupremeBleInterface.cpp @@ -0,0 +1,419 @@ +#include "TBeamSupremeBleInterface.h" + +#include +#include +#include +#include +#include + +#include +#include + +using namespace RNS; + +#ifndef NODE_LABEL +#define NODE_LABEL "?" +#endif + +static TBeamSupremeBleInterface* active_ble_interface = nullptr; + +class TBeamSupremeBleInterface::ServerCallbacks : public BLEServerCallbacks { +public: + explicit ServerCallbacks(TBeamSupremeBleInterface* owner) : _owner(owner) {} + + void onConnect(BLEServer* server) override { + (void)server; + _owner->_connected = true; + _owner->_server_handshake_received = false; + Serial.println("BLE peripheral: central connected"); + INFO("BLE central connected"); + } + + void onDisconnect(BLEServer* server) override { + (void)server; + _owner->_connected = false; + _owner->_server_handshake_received = false; + _owner->reset_reassembly(); + Serial.println("BLE peripheral: central disconnected; restarting advertising"); + INFO("BLE central disconnected; restarting advertising"); + BLEDevice::startAdvertising(); + } + +private: + TBeamSupremeBleInterface* _owner; +}; + +class TBeamSupremeBleInterface::RxCallbacks : public BLECharacteristicCallbacks { +public: + explicit RxCallbacks(TBeamSupremeBleInterface* owner) : _owner(owner) {} + + void onWrite(BLECharacteristic* characteristic) override { + std::string value = characteristic->getValue(); + if (value.empty()) { + return; + } + + if (!_owner->_server_handshake_received && value.size() == 16) { + _owner->_server_handshake_received = true; + Serial.println("BLE peripheral: identity handshake received"); + INFOF("BLE identity handshake received: %d bytes", (int)value.size()); + return; + } + + _owner->handle_fragment(reinterpret_cast(value.data()), value.size()); + } + +private: + TBeamSupremeBleInterface* _owner; +}; + +class TBeamSupremeBleInterface::AdvertisedDeviceCallbacks : public BLEAdvertisedDeviceCallbacks { +public: + explicit AdvertisedDeviceCallbacks(TBeamSupremeBleInterface* owner) : _owner(owner) {} + + void onResult(BLEAdvertisedDevice advertised_device) override { + bool has_service = advertised_device.haveServiceUUID() && + advertised_device.isAdvertisingService(BLEUUID(TBeamSupremeBleInterface::SERVICE_UUID)); + bool has_rns_name = advertised_device.haveName() && + advertised_device.getName().rfind("RNS-", 0) == 0; + + if ((has_service || has_rns_name) || _owner->_scan_report_count < 5) { + Serial.printf("BLE scan: addr=%s name=%s service=%s rssi=%d\r\n", + advertised_device.getAddress().toString().c_str(), + advertised_device.haveName() ? advertised_device.getName().c_str() : "", + has_service ? "yes" : "no", + advertised_device.getRSSI()); + _owner->_scan_report_count++; + } + + if (!has_service && !has_rns_name) { + return; + } + + BLEDevice::getScan()->stop(); + delete _owner->_advertised_device; + _owner->_advertised_device = new BLEAdvertisedDevice(advertised_device); + _owner->_do_connect = true; + _owner->_scanning = false; + Serial.printf("BLE central: peer candidate found: %s\r\n", + advertised_device.getAddress().toString().c_str()); + INFOF("BLE peer found: %s", advertised_device.getAddress().toString().c_str()); + } + +private: + TBeamSupremeBleInterface* _owner; +}; + +TBeamSupremeBleInterface::TBeamSupremeBleInterface(const char* name) : InterfaceImpl(name) { + _IN = true; + _OUT = true; + _bitrate = 1000000; + _HW_MTU = BLE_PAYLOAD_SIZE; +#if defined(BLE_ROLE_CENTRAL) + _central_role = true; +#else + _central_role = false; +#endif +} + +TBeamSupremeBleInterface::~TBeamSupremeBleInterface() { + stop(); + delete _advertised_device; +} + +bool TBeamSupremeBleInterface::start() { + if (_started) { + return true; + } + + active_ble_interface = this; + BLEDevice::init(std::string("RNS-") + NODE_LABEL); + BLEDevice::setMTU(BLE_MTU); + + if (_central_role) { + Serial.println("BLE central: starting scanner"); + INFO("BLE starting as central/client"); + start_central_scan(); + } else { + Serial.println("BLE peripheral: starting advertiser"); + INFO("BLE starting as peripheral/server"); + start_peripheral(); + } + + _started = true; + _online = true; + return true; +} + +void TBeamSupremeBleInterface::stop() { + _online = false; + _connected = false; + if (_client && _client->isConnected()) { + _client->disconnect(); + } +} + +void TBeamSupremeBleInterface::loop() { + if (!_online) { + return; + } + + if (_central_role) { + if (_do_connect && _advertised_device) { + _do_connect = false; + if (!connect_to_advertised_device(_advertised_device)) { + _connected = false; + _next_scan_ms = millis() + SCAN_RETRY_MS; + } + } + + if (!_connected && !_scanning && (int32_t)(millis() - _next_scan_ms) >= 0) { + start_central_scan(); + } + } + + if (_reassembly_started_ms != 0 && millis() - _reassembly_started_ms > REASSEMBLY_TIMEOUT_MS) { + WARNING("BLE reassembly timeout; dropping partial packet"); + reset_reassembly(); + } + + RNS::Bytes packet({RNS::Type::NONE}); + while (dequeue_packet(packet)) { + InterfaceImpl::handle_incoming(packet); + } +} + +void TBeamSupremeBleInterface::start_peripheral() { + _server = BLEDevice::createServer(); + _server->setCallbacks(new ServerCallbacks(this)); + + BLEService* service = _server->createService(SERVICE_UUID); + _tx_characteristic = service->createCharacteristic( + TX_UUID, + BLECharacteristic::PROPERTY_READ | BLECharacteristic::PROPERTY_NOTIFY); + _tx_characteristic->addDescriptor(new BLE2902()); + + BLECharacteristic* rx_characteristic = service->createCharacteristic( + RX_UUID, + BLECharacteristic::PROPERTY_WRITE | BLECharacteristic::PROPERTY_WRITE_NR); + rx_characteristic->setCallbacks(new RxCallbacks(this)); + + _identity_characteristic = service->createCharacteristic( + IDENTITY_UUID, + BLECharacteristic::PROPERTY_READ); + RNS::Bytes identity = local_identity_hash(); + _identity_characteristic->setValue((uint8_t*)identity.data(), identity.size()); + + service->start(); + + BLEAdvertising* advertising = BLEDevice::getAdvertising(); + advertising->addServiceUUID(SERVICE_UUID); + advertising->setScanResponse(true); + advertising->setMinPreferred(0x00); + BLEDevice::startAdvertising(); + Serial.println("BLE peripheral: advertising Reticulum service"); + INFO("BLE advertising Reticulum service"); +} + +void TBeamSupremeBleInterface::start_central_scan() { + _scanning = true; + _next_scan_ms = millis() + SCAN_RETRY_MS; + _scan_report_count = 0; + + BLEScan* scan = BLEDevice::getScan(); + scan->setAdvertisedDeviceCallbacks(new AdvertisedDeviceCallbacks(this), true); + scan->setInterval(1349); + scan->setWindow(449); + scan->setActiveScan(true); + Serial.println("BLE central: scanning for Reticulum service"); + scan->start(5, false); + if (!_do_connect && !_connected) { + _scanning = false; + _next_scan_ms = millis() + SCAN_RETRY_MS; + Serial.println("BLE central: scan complete; no peer found"); + } + scan->clearResults(); + INFO("BLE scanning for Reticulum service"); +} + +bool TBeamSupremeBleInterface::connect_to_advertised_device(BLEAdvertisedDevice* device) { + Serial.printf("BLE central: connecting to %s\r\n", device->getAddress().toString().c_str()); + INFOF("BLE connecting to %s", device->getAddress().toString().c_str()); + + _client = BLEDevice::createClient(); + if (!_client->connect(device)) { + Serial.println("BLE central: connect failed"); + WARNING("BLE connect failed"); + return false; + } + + _client->setMTU(BLE_MTU); + BLERemoteService* service = _client->getService(BLEUUID(SERVICE_UUID)); + if (!service) { + Serial.println("BLE central: Reticulum service not found after connect"); + WARNING("BLE Reticulum service not found after connect"); + _client->disconnect(); + return false; + } + + _remote_rx_characteristic = service->getCharacteristic(BLEUUID(RX_UUID)); + _remote_tx_characteristic = service->getCharacteristic(BLEUUID(TX_UUID)); + BLERemoteCharacteristic* identity_characteristic = service->getCharacteristic(BLEUUID(IDENTITY_UUID)); + + if (!_remote_rx_characteristic || !_remote_tx_characteristic) { + Serial.println("BLE central: RX/TX characteristics not found"); + WARNING("BLE Reticulum RX/TX characteristics not found"); + _client->disconnect(); + return false; + } + + if (identity_characteristic && identity_characteristic->canRead()) { + std::string peer_identity = identity_characteristic->readValue(); + Serial.printf("BLE central: peer identity read: %d bytes\r\n", (int)peer_identity.size()); + INFOF("BLE peer identity read: %d bytes", (int)peer_identity.size()); + } + + if (_remote_tx_characteristic->canNotify()) { + _remote_tx_characteristic->registerForNotify(client_notify_callback); + } else { + Serial.println("BLE central: peer TX characteristic does not notify"); + } + + RNS::Bytes identity = local_identity_hash(); + _remote_rx_characteristic->writeValue((uint8_t*)identity.data(), identity.size(), false); + _connected = true; + _scanning = false; + Serial.println("BLE central: connected and identity handshake sent"); + INFO("BLE connected and identity handshake sent"); + return true; +} + +void TBeamSupremeBleInterface::send_outgoing(const Bytes& data) { + if (!_online || !_connected) { + return; + } + + size_t total = (data.size() + BLE_PAYLOAD_SIZE - 1) / BLE_PAYLOAD_SIZE; + if (total == 0 || total > 65535) { + WARNINGF("BLE cannot fragment packet of size %d", (int)data.size()); + return; + } + + for (size_t i = 0; i < total; ++i) { + uint8_t fragment[BLE_MTU]; + uint8_t fragment_type = FRAG_CONTINUE; + if (i == 0) { + fragment_type = FRAG_START; + } else if (i == total - 1) { + fragment_type = FRAG_END; + } + + size_t offset = i * BLE_PAYLOAD_SIZE; + size_t chunk = std::min(BLE_PAYLOAD_SIZE, data.size() - offset); + fragment[0] = fragment_type; + fragment[1] = (uint8_t)((i >> 8) & 0xFF); + fragment[2] = (uint8_t)(i & 0xFF); + fragment[3] = (uint8_t)((total >> 8) & 0xFF); + fragment[4] = (uint8_t)(total & 0xFF); + memcpy(fragment + FRAG_HEADER_SIZE, data.data() + offset, chunk); + send_fragment(fragment, FRAG_HEADER_SIZE + chunk); + delay(8); + } + + InterfaceImpl::handle_outgoing(data); +} + +void TBeamSupremeBleInterface::send_fragment(const uint8_t* data, size_t len) { + if (_central_role) { + if (_remote_rx_characteristic) { + _remote_rx_characteristic->writeValue((uint8_t*)data, len, false); + } + } else { + if (_tx_characteristic) { + _tx_characteristic->setValue((uint8_t*)data, len); + _tx_characteristic->notify(); + } + } +} + +void TBeamSupremeBleInterface::handle_fragment(const uint8_t* data, size_t len) { + if (len < FRAG_HEADER_SIZE) { + WARNINGF("BLE fragment too short: %d", (int)len); + return; + } + + uint8_t fragment_type = data[0]; + uint16_t sequence = ((uint16_t)data[1] << 8) | data[2]; + uint16_t total = ((uint16_t)data[3] << 8) | data[4]; + const uint8_t* payload = data + FRAG_HEADER_SIZE; + size_t payload_len = len - FRAG_HEADER_SIZE; + + if ((fragment_type != FRAG_START && fragment_type != FRAG_CONTINUE && fragment_type != FRAG_END) || + total == 0 || sequence >= total) { + WARNING("BLE invalid fragment header"); + reset_reassembly(); + return; + } + + if (sequence == 0) { + reset_reassembly(); + _expected_total = total; + _received_fragments = 0; + _reassembly_started_ms = millis(); + } + + if (_expected_total != total || sequence != _received_fragments) { + WARNING("BLE out-of-order fragment; dropping partial packet"); + reset_reassembly(); + return; + } + + _reassembly_buffer.append(payload, payload_len); + _received_fragments++; + + if (_received_fragments == _expected_total) { + enqueue_packet(_reassembly_buffer); + reset_reassembly(); + } +} + +void TBeamSupremeBleInterface::enqueue_packet(const RNS::Bytes& packet) { + portENTER_CRITICAL(&_queue_mux); + _incoming_packets.push_back(packet); + portEXIT_CRITICAL(&_queue_mux); +} + +bool TBeamSupremeBleInterface::dequeue_packet(RNS::Bytes& packet) { + portENTER_CRITICAL(&_queue_mux); + if (_incoming_packets.empty()) { + portEXIT_CRITICAL(&_queue_mux); + return false; + } + packet = _incoming_packets.front(); + _incoming_packets.pop_front(); + portEXIT_CRITICAL(&_queue_mux); + return true; +} + +void TBeamSupremeBleInterface::reset_reassembly() { + _reassembly_buffer.clear(); + _expected_total = 0; + _received_fragments = 0; + _reassembly_started_ms = 0; +} + +RNS::Bytes TBeamSupremeBleInterface::local_identity_hash() const { + String material = String("microReticulum BLE ") + NODE_LABEL; + return Identity::truncated_hash(RNS::bytesFromString(material.c_str())); +} + +void TBeamSupremeBleInterface::client_notify_callback(BLERemoteCharacteristic* characteristic, + uint8_t* data, + size_t length, + bool is_notify) { + (void)characteristic; + (void)is_notify; + if (active_ble_interface) { + active_ble_interface->handle_fragment(data, length); + } +} diff --git a/exercises/301_microReticulum_ble_ping_pong/src/TBeamSupremeBleInterface.h b/exercises/301_microReticulum_ble_ping_pong/src/TBeamSupremeBleInterface.h new file mode 100644 index 0000000..3b6cfed --- /dev/null +++ b/exercises/301_microReticulum_ble_ping_pong/src/TBeamSupremeBleInterface.h @@ -0,0 +1,90 @@ +#pragma once + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include + +class TBeamSupremeBleInterface : public RNS::InterfaceImpl { +public: + explicit TBeamSupremeBleInterface(const char* name = "TBeamSupremeBLE"); + ~TBeamSupremeBleInterface() override; + + bool start() override; + void stop() override; + void loop() override; + + bool connected() const { return _connected; } + bool is_central() const { return _central_role; } + const char* role_name() const { return _central_role ? "central" : "peripheral"; } + +private: + void send_outgoing(const RNS::Bytes& data) override; + + void start_peripheral(); + void start_central_scan(); + bool connect_to_advertised_device(BLEAdvertisedDevice* device); + + void send_fragment(const uint8_t* data, size_t len); + void handle_fragment(const uint8_t* data, size_t len); + void enqueue_packet(const RNS::Bytes& packet); + bool dequeue_packet(RNS::Bytes& packet); + void reset_reassembly(); + RNS::Bytes local_identity_hash() const; + + static void client_notify_callback(BLERemoteCharacteristic* characteristic, + uint8_t* data, + size_t length, + bool is_notify); + + class ServerCallbacks; + class RxCallbacks; + class AdvertisedDeviceCallbacks; + + static constexpr const char* SERVICE_UUID = "37145b00-442d-4a94-917f-8f42c5da28e3"; + static constexpr const char* TX_UUID = "37145b00-442d-4a94-917f-8f42c5da28e4"; + static constexpr const char* RX_UUID = "37145b00-442d-4a94-917f-8f42c5da28e5"; + static constexpr const char* IDENTITY_UUID = "37145b00-442d-4a94-917f-8f42c5da28e6"; + + static constexpr uint8_t FRAG_START = 0x01; + static constexpr uint8_t FRAG_CONTINUE = 0x02; + static constexpr uint8_t FRAG_END = 0x03; + static constexpr size_t FRAG_HEADER_SIZE = 5; + static constexpr size_t BLE_MTU = 185; + static constexpr size_t BLE_PAYLOAD_SIZE = BLE_MTU - FRAG_HEADER_SIZE; + static constexpr uint32_t REASSEMBLY_TIMEOUT_MS = 30000; + static constexpr uint32_t SCAN_RETRY_MS = 5000; + + bool _central_role = false; + bool _started = false; + bool _connected = false; + bool _do_connect = false; + bool _scanning = false; + bool _server_handshake_received = false; + uint8_t _scan_report_count = 0; + uint32_t _next_scan_ms = 0; + + BLEServer* _server = nullptr; + BLECharacteristic* _tx_characteristic = nullptr; + BLECharacteristic* _identity_characteristic = nullptr; + BLEAdvertisedDevice* _advertised_device = nullptr; + BLEClient* _client = nullptr; + BLERemoteCharacteristic* _remote_rx_characteristic = nullptr; + BLERemoteCharacteristic* _remote_tx_characteristic = nullptr; + + RNS::Bytes _reassembly_buffer; + uint16_t _expected_total = 0; + uint16_t _received_fragments = 0; + uint32_t _reassembly_started_ms = 0; + + std::deque _incoming_packets; + portMUX_TYPE _queue_mux = portMUX_INITIALIZER_UNLOCKED; +}; diff --git a/exercises/301_microReticulum_ble_ping_pong/src/main.cpp b/exercises/301_microReticulum_ble_ping_pong/src/main.cpp new file mode 100644 index 0000000..ade392d --- /dev/null +++ b/exercises/301_microReticulum_ble_ping_pong/src/main.cpp @@ -0,0 +1,125 @@ +#include "TBeamSupremeBleInterface.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef NODE_LABEL +#define NODE_LABEL "?" +#endif + +static RNS::Reticulum reticulum({RNS::Type::NONE}); +static RNS::Interface ble_interface({RNS::Type::NONE}); +static RNS::Destination inbound_destination({RNS::Type::NONE}); +static RNS::Destination outbound_destination({RNS::Type::NONE}); +static TBeamSupremeBleInterface* ble_impl = nullptr; + +static void print_config() { + Serial.printf("Node=%s\r\n", NODE_LABEL); + Serial.printf("BLE role=%s service=37145b00-442d-4a94-917f-8f42c5da28e3\r\n", + ble_impl ? ble_impl->role_name() : "?"); +} + +static void on_packet(const RNS::Bytes& data, const RNS::Packet& packet) { + (void)packet; + Serial.printf("RX RNS BLE: %s\r\n", data.toString().c_str()); +} + +static void setup_reticulum() { + microStore::FileSystem filesystem{microStore::Adapters::UniversalFileSystem()}; + filesystem.init(); + RNS::Utilities::OS::register_filesystem(filesystem); + + ble_impl = new TBeamSupremeBleInterface(); + ble_interface = ble_impl; + ble_interface.mode(RNS::Type::Interface::MODE_GATEWAY); + RNS::Transport::register_interface(ble_interface); + ble_interface.start(); + + reticulum = RNS::Reticulum(); + reticulum.transport_enabled(false); + reticulum.probe_destination_enabled(false); + reticulum.start(); + + inbound_destination = RNS::Destination({RNS::Type::NONE}, + RNS::Type::Destination::IN, + RNS::Type::Destination::PLAIN, + "microreticulum", + "pingpong"); + inbound_destination.set_packet_callback(on_packet); + + outbound_destination = RNS::Destination({RNS::Type::NONE}, + RNS::Type::Destination::OUT, + RNS::Type::Destination::PLAIN, + "microreticulum", + "pingpong"); +} + +void setup() { + Serial.begin(115200); + while (!Serial && millis() < 5000) { + delay(100); + } + delay(250); + + Serial.println(); + RNS::loglevel(RNS::LOG_NOTICE); + setup_reticulum(); + Serial.println("Exercise 301: microReticulum BLE ping-pong"); + print_config(); + Serial.println("microReticulum ready"); +} + +void loop() { + reticulum.loop(); + + static uint32_t next_tx_ms = 0; + static uint32_t next_wait_log_ms = 0; + static uint32_t iter = 0; + uint32_t now = millis(); + + if (next_tx_ms == 0) { + uint32_t offset = (NODE_LABEL[0] == 'A') ? 500 : 1500; + next_tx_ms = now + offset; + } + + if ((int32_t)(now - next_tx_ms) >= 0) { + next_tx_ms = now + 2000; + if (ble_impl && !ble_impl->connected()) { + if (next_wait_log_ms == 0 || (int32_t)(now - next_wait_log_ms) >= 0) { + next_wait_log_ms = now + 10000; + Serial.printf("BLE %s waiting for peer\r\n", ble_impl->role_name()); + } + return; + } + + String message = String(NODE_LABEL) + " says hi. iter=" + String(iter++); + Serial.printf("TX RNS BLE: %s\r\n", message.c_str()); + + RNS::Packet packet(outbound_destination, + RNS::bytesFromString(message.c_str()), + RNS::Type::Packet::DATA, + RNS::Type::Packet::CONTEXT_NONE, + RNS::Type::Transport::BROADCAST, + RNS::Type::Packet::HEADER_1, + {RNS::Bytes::NONE}, + false); + packet.send(); + } + + delay(5); +} + +int _write(int file, char* ptr, int len) { + (void)file; + int wrote = Serial.write(ptr, len); + Serial.flush(); + return wrote; +} diff --git a/exercises/302_microReticulum_ble_announce_single/README.md b/exercises/302_microReticulum_ble_announce_single/README.md new file mode 100644 index 0000000..b85b9e0 --- /dev/null +++ b/exercises/302_microReticulum_ble_announce_single/README.md @@ -0,0 +1,85 @@ +# Exercise 302: microReticulum BLE announce + SINGLE destination ping-pong + +This exercise is the BLE analogue of Exercise 202. + +Exercise 301 proved that microReticulum `PLAIN` packets can cross the ESP32/T-Beam BLE interface. Exercise 302 adds Reticulum identity discovery: each node creates an identity, announces an inbound `SINGLE` destination over BLE, learns the peer's announced identity and destination hash, then sends encrypted `DATA` packets to that learned destination. + +```text +BLE GATT connection -> Identity -> SINGLE destination -> announce -> peer learns identity/path -> encrypted DATA packet +``` + +For this first BLE `SINGLE` proof, roles are still explicit: + +```text +AMY -> BLE central/client +BOB -> BLE peripheral/server +``` + +## Build, Upload, And Monitor + +*Start BOB first* so the peripheral is advertising before AMY scans. + +In one console: + +```bash +source /home/jlpoole/rnsenv/bin/activate +cd /usr/local/src/microreticulum/microReticulumTbeam +pio run -d exercises/302_microReticulum_ble_announce_single -e bob -t upload --upload-port /dev/ttytBOB && \ +pio device monitor -d exercises/302_microReticulum_ble_announce_single -e bob +``` + +In another console: + +```bash +source /home/jlpoole/rnsenv/bin/activate +cd /usr/local/src/microreticulum/microReticulumTbeam +pio run -d exercises/302_microReticulum_ble_announce_single -e amy -t upload --upload-port /dev/ttytAMY && \ +pio device monitor -d exercises/302_microReticulum_ble_announce_single -e amy +``` + +The `platformio.ini` maps each environment to its stable USB symlink: + +```text +amy -> /dev/ttytAMY +bob -> /dev/ttytBOB +cy -> /dev/ttytCY +dan -> /dev/ttytDAN +ed -> /dev/ttytED +``` + +The shorter form should also work once the symlinks exist: + +```bash +pio run -d exercises/302_microReticulum_ble_announce_single -e bob -t upload +pio device monitor -d exercises/302_microReticulum_ble_announce_single -e bob +``` + +## Expected Output + +After the BLE GATT connection is made, each node prints its local `SINGLE` destination hash and periodically announces it: + +```text +Local SINGLE destination: 2f6c... +TX ANNOUNCE: Amy +``` + +After the peer's announce is received, the node prints the learned destination: + +```text +RX ANNOUNCE: label=Bob hash=91a4... +``` + +Once a peer is known, it sends encrypted `DATA` packets to that destination: + +```text +TX SINGLE BLE: Amy -> Bob iter=0 +RX SINGLE BLE: Bob -> Amy iter=0 +``` +![](../../img/20260519_141153_Tue.png) +## Notes + +- This exercise uses the same ESP32 BLE interface introduced in Exercise 301. +- The BLE fragmentation header matches `/usr/local/src/ble-reticulum/BLE_PROTOCOL_v2.2.md`: `[type:1][sequence:2][total:2][payload...]`. +- The identity is generated on each boot. The destination hash can change after reset because the identity changes. +- App data in the announce carries the human-readable node label, such as `Amy` or `Bob`. +- This is still not a negotiated Reticulum `Link`; Exercise 303 should use the announced `SINGLE` destination as the target for a negotiated link over BLE. diff --git a/exercises/302_microReticulum_ble_announce_single/platformio.ini b/exercises/302_microReticulum_ble_announce_single/platformio.ini new file mode 100644 index 0000000..5dbc837 --- /dev/null +++ b/exercises/302_microReticulum_ble_announce_single/platformio.ini @@ -0,0 +1,76 @@ +; Exercise 302: microReticulum BLE announce + SINGLE destination ping-pong + +[platformio] +default_envs = amy + +[env] +platform = espressif32 +framework = arduino +board = esp32-s3-devkitc-1 +monitor_speed = 115200 +upload_speed = 460800 +board_build.partitions = huge_app.csv + +build_flags = + -Wall + -Wno-missing-field-initializers + -Wno-format + -D RNS_USE_FS + -D RNS_PERSIST_PATHS + -D USTORE_USE_UNIVERSALFS + -D MSGPACK_USE_BOOST=OFF + -D MCU_ESP32 + -D ARDUINO_USB_MODE=1 + -D ARDUINO_USB_CDC_ON_BOOT=1 + +lib_deps = + ArduinoJson@^7.4.2 + MsgPack@^0.4.2 + https://github.com/attermann/Crypto.git + https://github.com/attermann/microStore.git + microReticulum=symlink:///usr/local/src/microreticulum/microReticulum + +[env:amy] +extends = env +upload_port = /dev/ttytAMY +monitor_port = /dev/ttytAMY +build_flags = + ${env.build_flags} + -D NODE_LABEL=\"Amy\" + -D BLE_ROLE_CENTRAL + +[env:bob] +extends = env +upload_port = /dev/ttytBOB +monitor_port = /dev/ttytBOB +build_flags = + ${env.build_flags} + -D NODE_LABEL=\"Bob\" + -D BLE_ROLE_PERIPHERAL + +[env:cy] +extends = env +upload_port = /dev/ttytCY +monitor_port = /dev/ttytCY +build_flags = + ${env.build_flags} + -D NODE_LABEL=\"Cy\" + -D BLE_ROLE_CENTRAL + +[env:dan] +extends = env +upload_port = /dev/ttytDAN +monitor_port = /dev/ttytDAN +build_flags = + ${env.build_flags} + -D NODE_LABEL=\"Dan\" + -D BLE_ROLE_PERIPHERAL + +[env:ed] +extends = env +upload_port = /dev/ttytED +monitor_port = /dev/ttytED +build_flags = + ${env.build_flags} + -D NODE_LABEL=\"Ed\" + -D BLE_ROLE_CENTRAL diff --git a/exercises/302_microReticulum_ble_announce_single/src/TBeamSupremeBleInterface.cpp b/exercises/302_microReticulum_ble_announce_single/src/TBeamSupremeBleInterface.cpp new file mode 100644 index 0000000..8dd6c8a --- /dev/null +++ b/exercises/302_microReticulum_ble_announce_single/src/TBeamSupremeBleInterface.cpp @@ -0,0 +1,419 @@ +#include "TBeamSupremeBleInterface.h" + +#include +#include +#include +#include +#include + +#include +#include + +using namespace RNS; + +#ifndef NODE_LABEL +#define NODE_LABEL "?" +#endif + +static TBeamSupremeBleInterface* active_ble_interface = nullptr; + +class TBeamSupremeBleInterface::ServerCallbacks : public BLEServerCallbacks { +public: + explicit ServerCallbacks(TBeamSupremeBleInterface* owner) : _owner(owner) {} + + void onConnect(BLEServer* server) override { + (void)server; + _owner->_connected = true; + _owner->_server_handshake_received = false; + Serial.println("BLE peripheral: central connected"); + INFO("BLE central connected"); + } + + void onDisconnect(BLEServer* server) override { + (void)server; + _owner->_connected = false; + _owner->_server_handshake_received = false; + _owner->reset_reassembly(); + Serial.println("BLE peripheral: central disconnected; restarting advertising"); + INFO("BLE central disconnected; restarting advertising"); + BLEDevice::startAdvertising(); + } + +private: + TBeamSupremeBleInterface* _owner; +}; + +class TBeamSupremeBleInterface::RxCallbacks : public BLECharacteristicCallbacks { +public: + explicit RxCallbacks(TBeamSupremeBleInterface* owner) : _owner(owner) {} + + void onWrite(BLECharacteristic* characteristic) override { + std::string value = characteristic->getValue(); + if (value.empty()) { + return; + } + + if (!_owner->_server_handshake_received && value.size() == 16) { + _owner->_server_handshake_received = true; + Serial.println("BLE peripheral: identity handshake received"); + INFOF("BLE identity handshake received: %d bytes", (int)value.size()); + return; + } + + _owner->handle_fragment(reinterpret_cast(value.data()), value.size()); + } + +private: + TBeamSupremeBleInterface* _owner; +}; + +class TBeamSupremeBleInterface::AdvertisedDeviceCallbacks : public BLEAdvertisedDeviceCallbacks { +public: + explicit AdvertisedDeviceCallbacks(TBeamSupremeBleInterface* owner) : _owner(owner) {} + + void onResult(BLEAdvertisedDevice advertised_device) override { + bool has_service = advertised_device.haveServiceUUID() && + advertised_device.isAdvertisingService(BLEUUID(TBeamSupremeBleInterface::SERVICE_UUID)); + bool has_rns_name = advertised_device.haveName() && + advertised_device.getName().rfind("RNS-", 0) == 0; + + if ((has_service || has_rns_name) || _owner->_scan_report_count < 5) { + Serial.printf("BLE scan: addr=%s name=%s service=%s rssi=%d\r\n", + advertised_device.getAddress().toString().c_str(), + advertised_device.haveName() ? advertised_device.getName().c_str() : "", + has_service ? "yes" : "no", + advertised_device.getRSSI()); + _owner->_scan_report_count++; + } + + if (!has_service && !has_rns_name) { + return; + } + + BLEDevice::getScan()->stop(); + delete _owner->_advertised_device; + _owner->_advertised_device = new BLEAdvertisedDevice(advertised_device); + _owner->_do_connect = true; + _owner->_scanning = false; + Serial.printf("BLE central: peer candidate found: %s\r\n", + advertised_device.getAddress().toString().c_str()); + INFOF("BLE peer found: %s", advertised_device.getAddress().toString().c_str()); + } + +private: + TBeamSupremeBleInterface* _owner; +}; + +TBeamSupremeBleInterface::TBeamSupremeBleInterface(const char* name) : InterfaceImpl(name) { + _IN = true; + _OUT = true; + _bitrate = 1000000; + _HW_MTU = BLE_PAYLOAD_SIZE; +#if defined(BLE_ROLE_CENTRAL) + _central_role = true; +#else + _central_role = false; +#endif +} + +TBeamSupremeBleInterface::~TBeamSupremeBleInterface() { + stop(); + delete _advertised_device; +} + +bool TBeamSupremeBleInterface::start() { + if (_started) { + return true; + } + + active_ble_interface = this; + BLEDevice::init(std::string("RNS-") + NODE_LABEL); + BLEDevice::setMTU(BLE_MTU); + + if (_central_role) { + Serial.println("BLE central: starting scanner"); + INFO("BLE starting as central/client"); + start_central_scan(); + } else { + Serial.println("BLE peripheral: starting advertiser"); + INFO("BLE starting as peripheral/server"); + start_peripheral(); + } + + _started = true; + _online = true; + return true; +} + +void TBeamSupremeBleInterface::stop() { + _online = false; + _connected = false; + if (_client && _client->isConnected()) { + _client->disconnect(); + } +} + +void TBeamSupremeBleInterface::loop() { + if (!_online) { + return; + } + + if (_central_role) { + if (_do_connect && _advertised_device) { + _do_connect = false; + if (!connect_to_advertised_device(_advertised_device)) { + _connected = false; + _next_scan_ms = millis() + SCAN_RETRY_MS; + } + } + + if (!_connected && !_scanning && (int32_t)(millis() - _next_scan_ms) >= 0) { + start_central_scan(); + } + } + + if (_reassembly_started_ms != 0 && millis() - _reassembly_started_ms > REASSEMBLY_TIMEOUT_MS) { + WARNING("BLE reassembly timeout; dropping partial packet"); + reset_reassembly(); + } + + RNS::Bytes packet({RNS::Type::NONE}); + while (dequeue_packet(packet)) { + InterfaceImpl::handle_incoming(packet); + } +} + +void TBeamSupremeBleInterface::start_peripheral() { + _server = BLEDevice::createServer(); + _server->setCallbacks(new ServerCallbacks(this)); + + BLEService* service = _server->createService(SERVICE_UUID); + _tx_characteristic = service->createCharacteristic( + TX_UUID, + BLECharacteristic::PROPERTY_READ | BLECharacteristic::PROPERTY_NOTIFY); + _tx_characteristic->addDescriptor(new BLE2902()); + + BLECharacteristic* rx_characteristic = service->createCharacteristic( + RX_UUID, + BLECharacteristic::PROPERTY_WRITE | BLECharacteristic::PROPERTY_WRITE_NR); + rx_characteristic->setCallbacks(new RxCallbacks(this)); + + _identity_characteristic = service->createCharacteristic( + IDENTITY_UUID, + BLECharacteristic::PROPERTY_READ); + RNS::Bytes identity = local_identity_hash(); + _identity_characteristic->setValue((uint8_t*)identity.data(), identity.size()); + + service->start(); + + BLEAdvertising* advertising = BLEDevice::getAdvertising(); + advertising->addServiceUUID(SERVICE_UUID); + advertising->setScanResponse(true); + advertising->setMinPreferred(0x00); + BLEDevice::startAdvertising(); + Serial.println("BLE peripheral: advertising Reticulum service"); + INFO("BLE advertising Reticulum service"); +} + +void TBeamSupremeBleInterface::start_central_scan() { + _scanning = true; + _next_scan_ms = millis() + SCAN_RETRY_MS; + _scan_report_count = 0; + + BLEScan* scan = BLEDevice::getScan(); + scan->setAdvertisedDeviceCallbacks(new AdvertisedDeviceCallbacks(this), true); + scan->setInterval(1349); + scan->setWindow(449); + scan->setActiveScan(true); + Serial.println("BLE central: scanning for Reticulum service"); + scan->start(5, false); + if (!_do_connect && !_connected) { + _scanning = false; + _next_scan_ms = millis() + SCAN_RETRY_MS; + Serial.println("BLE central: scan complete; no peer found"); + } + scan->clearResults(); + INFO("BLE scanning for Reticulum service"); +} + +bool TBeamSupremeBleInterface::connect_to_advertised_device(BLEAdvertisedDevice* device) { + Serial.printf("BLE central: connecting to %s\r\n", device->getAddress().toString().c_str()); + INFOF("BLE connecting to %s", device->getAddress().toString().c_str()); + + _client = BLEDevice::createClient(); + if (!_client->connect(device)) { + Serial.println("BLE central: connect failed"); + WARNING("BLE connect failed"); + return false; + } + + _client->setMTU(BLE_MTU); + BLERemoteService* service = _client->getService(BLEUUID(SERVICE_UUID)); + if (!service) { + Serial.println("BLE central: Reticulum service not found after connect"); + WARNING("BLE Reticulum service not found after connect"); + _client->disconnect(); + return false; + } + + _remote_rx_characteristic = service->getCharacteristic(BLEUUID(RX_UUID)); + _remote_tx_characteristic = service->getCharacteristic(BLEUUID(TX_UUID)); + BLERemoteCharacteristic* identity_characteristic = service->getCharacteristic(BLEUUID(IDENTITY_UUID)); + + if (!_remote_rx_characteristic || !_remote_tx_characteristic) { + Serial.println("BLE central: RX/TX characteristics not found"); + WARNING("BLE Reticulum RX/TX characteristics not found"); + _client->disconnect(); + return false; + } + + if (identity_characteristic && identity_characteristic->canRead()) { + std::string peer_identity = identity_characteristic->readValue(); + Serial.printf("BLE central: peer identity read: %d bytes\r\n", (int)peer_identity.size()); + INFOF("BLE peer identity read: %d bytes", (int)peer_identity.size()); + } + + if (_remote_tx_characteristic->canNotify()) { + _remote_tx_characteristic->registerForNotify(client_notify_callback); + } else { + Serial.println("BLE central: peer TX characteristic does not notify"); + } + + RNS::Bytes identity = local_identity_hash(); + _remote_rx_characteristic->writeValue((uint8_t*)identity.data(), identity.size(), false); + _connected = true; + _scanning = false; + Serial.println("BLE central: connected and identity handshake sent"); + INFO("BLE connected and identity handshake sent"); + return true; +} + +void TBeamSupremeBleInterface::send_outgoing(const Bytes& data) { + if (!_online || !_connected) { + return; + } + + size_t total = (data.size() + BLE_PAYLOAD_SIZE - 1) / BLE_PAYLOAD_SIZE; + if (total == 0 || total > 65535) { + WARNINGF("BLE cannot fragment packet of size %d", (int)data.size()); + return; + } + + for (size_t i = 0; i < total; ++i) { + uint8_t fragment[BLE_MTU]; + uint8_t fragment_type = FRAG_CONTINUE; + if (i == 0) { + fragment_type = FRAG_START; + } else if (i == total - 1) { + fragment_type = FRAG_END; + } + + size_t offset = i * BLE_PAYLOAD_SIZE; + size_t chunk = std::min(BLE_PAYLOAD_SIZE, data.size() - offset); + fragment[0] = fragment_type; + fragment[1] = (uint8_t)((i >> 8) & 0xFF); + fragment[2] = (uint8_t)(i & 0xFF); + fragment[3] = (uint8_t)((total >> 8) & 0xFF); + fragment[4] = (uint8_t)(total & 0xFF); + memcpy(fragment + FRAG_HEADER_SIZE, data.data() + offset, chunk); + send_fragment(fragment, FRAG_HEADER_SIZE + chunk); + delay(8); + } + + InterfaceImpl::handle_outgoing(data); +} + +void TBeamSupremeBleInterface::send_fragment(const uint8_t* data, size_t len) { + if (_central_role) { + if (_remote_rx_characteristic) { + _remote_rx_characteristic->writeValue((uint8_t*)data, len, false); + } + } else { + if (_tx_characteristic) { + _tx_characteristic->setValue((uint8_t*)data, len); + _tx_characteristic->notify(); + } + } +} + +void TBeamSupremeBleInterface::handle_fragment(const uint8_t* data, size_t len) { + if (len < FRAG_HEADER_SIZE) { + WARNINGF("BLE fragment too short: %d", (int)len); + return; + } + + uint8_t fragment_type = data[0]; + uint16_t sequence = ((uint16_t)data[1] << 8) | data[2]; + uint16_t total = ((uint16_t)data[3] << 8) | data[4]; + const uint8_t* payload = data + FRAG_HEADER_SIZE; + size_t payload_len = len - FRAG_HEADER_SIZE; + + if ((fragment_type != FRAG_START && fragment_type != FRAG_CONTINUE && fragment_type != FRAG_END) || + total == 0 || sequence >= total) { + WARNING("BLE invalid fragment header"); + reset_reassembly(); + return; + } + + if (sequence == 0) { + reset_reassembly(); + _expected_total = total; + _received_fragments = 0; + _reassembly_started_ms = millis(); + } + + if (_expected_total != total || sequence != _received_fragments) { + WARNING("BLE out-of-order fragment; dropping partial packet"); + reset_reassembly(); + return; + } + + _reassembly_buffer.append(payload, payload_len); + _received_fragments++; + + if (_received_fragments == _expected_total) { + enqueue_packet(_reassembly_buffer); + reset_reassembly(); + } +} + +void TBeamSupremeBleInterface::enqueue_packet(const RNS::Bytes& packet) { + portENTER_CRITICAL(&_queue_mux); + _incoming_packets.push_back(packet); + portEXIT_CRITICAL(&_queue_mux); +} + +bool TBeamSupremeBleInterface::dequeue_packet(RNS::Bytes& packet) { + portENTER_CRITICAL(&_queue_mux); + if (_incoming_packets.empty()) { + portEXIT_CRITICAL(&_queue_mux); + return false; + } + packet = _incoming_packets.front(); + _incoming_packets.pop_front(); + portEXIT_CRITICAL(&_queue_mux); + return true; +} + +void TBeamSupremeBleInterface::reset_reassembly() { + _reassembly_buffer.clear(); + _expected_total = 0; + _received_fragments = 0; + _reassembly_started_ms = 0; +} + +RNS::Bytes TBeamSupremeBleInterface::local_identity_hash() const { + String material = String("microReticulum BLE ") + NODE_LABEL; + return Identity::truncated_hash(RNS::bytesFromString(material.c_str())); +} + +void TBeamSupremeBleInterface::client_notify_callback(BLERemoteCharacteristic* characteristic, + uint8_t* data, + size_t length, + bool is_notify) { + (void)characteristic; + (void)is_notify; + if (active_ble_interface) { + active_ble_interface->handle_fragment(data, length); + } +} diff --git a/exercises/302_microReticulum_ble_announce_single/src/TBeamSupremeBleInterface.h b/exercises/302_microReticulum_ble_announce_single/src/TBeamSupremeBleInterface.h new file mode 100644 index 0000000..3b6cfed --- /dev/null +++ b/exercises/302_microReticulum_ble_announce_single/src/TBeamSupremeBleInterface.h @@ -0,0 +1,90 @@ +#pragma once + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include + +class TBeamSupremeBleInterface : public RNS::InterfaceImpl { +public: + explicit TBeamSupremeBleInterface(const char* name = "TBeamSupremeBLE"); + ~TBeamSupremeBleInterface() override; + + bool start() override; + void stop() override; + void loop() override; + + bool connected() const { return _connected; } + bool is_central() const { return _central_role; } + const char* role_name() const { return _central_role ? "central" : "peripheral"; } + +private: + void send_outgoing(const RNS::Bytes& data) override; + + void start_peripheral(); + void start_central_scan(); + bool connect_to_advertised_device(BLEAdvertisedDevice* device); + + void send_fragment(const uint8_t* data, size_t len); + void handle_fragment(const uint8_t* data, size_t len); + void enqueue_packet(const RNS::Bytes& packet); + bool dequeue_packet(RNS::Bytes& packet); + void reset_reassembly(); + RNS::Bytes local_identity_hash() const; + + static void client_notify_callback(BLERemoteCharacteristic* characteristic, + uint8_t* data, + size_t length, + bool is_notify); + + class ServerCallbacks; + class RxCallbacks; + class AdvertisedDeviceCallbacks; + + static constexpr const char* SERVICE_UUID = "37145b00-442d-4a94-917f-8f42c5da28e3"; + static constexpr const char* TX_UUID = "37145b00-442d-4a94-917f-8f42c5da28e4"; + static constexpr const char* RX_UUID = "37145b00-442d-4a94-917f-8f42c5da28e5"; + static constexpr const char* IDENTITY_UUID = "37145b00-442d-4a94-917f-8f42c5da28e6"; + + static constexpr uint8_t FRAG_START = 0x01; + static constexpr uint8_t FRAG_CONTINUE = 0x02; + static constexpr uint8_t FRAG_END = 0x03; + static constexpr size_t FRAG_HEADER_SIZE = 5; + static constexpr size_t BLE_MTU = 185; + static constexpr size_t BLE_PAYLOAD_SIZE = BLE_MTU - FRAG_HEADER_SIZE; + static constexpr uint32_t REASSEMBLY_TIMEOUT_MS = 30000; + static constexpr uint32_t SCAN_RETRY_MS = 5000; + + bool _central_role = false; + bool _started = false; + bool _connected = false; + bool _do_connect = false; + bool _scanning = false; + bool _server_handshake_received = false; + uint8_t _scan_report_count = 0; + uint32_t _next_scan_ms = 0; + + BLEServer* _server = nullptr; + BLECharacteristic* _tx_characteristic = nullptr; + BLECharacteristic* _identity_characteristic = nullptr; + BLEAdvertisedDevice* _advertised_device = nullptr; + BLEClient* _client = nullptr; + BLERemoteCharacteristic* _remote_rx_characteristic = nullptr; + BLERemoteCharacteristic* _remote_tx_characteristic = nullptr; + + RNS::Bytes _reassembly_buffer; + uint16_t _expected_total = 0; + uint16_t _received_fragments = 0; + uint32_t _reassembly_started_ms = 0; + + std::deque _incoming_packets; + portMUX_TYPE _queue_mux = portMUX_INITIALIZER_UNLOCKED; +}; diff --git a/exercises/302_microReticulum_ble_announce_single/src/main.cpp b/exercises/302_microReticulum_ble_announce_single/src/main.cpp new file mode 100644 index 0000000..ee08251 --- /dev/null +++ b/exercises/302_microReticulum_ble_announce_single/src/main.cpp @@ -0,0 +1,186 @@ +#include "TBeamSupremeBleInterface.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef NODE_LABEL +#define NODE_LABEL "?" +#endif + +static constexpr const char* APP_NAME = "microreticulum"; +static constexpr const char* APP_ASPECT = "singleping"; +static constexpr const char* ANNOUNCE_FILTER = "microreticulum.singleping"; + +static RNS::Reticulum reticulum({RNS::Type::NONE}); +static RNS::Interface ble_interface({RNS::Type::NONE}); +static RNS::Identity local_identity({RNS::Type::NONE}); +static RNS::Destination inbound_destination({RNS::Type::NONE}); +static RNS::Destination peer_destination({RNS::Type::NONE}); +static RNS::Bytes peer_hash; +static String peer_label; +static bool have_peer = false; +static TBeamSupremeBleInterface* ble_impl = nullptr; + +class SingleAnnounceHandler : public RNS::AnnounceHandler { +public: + SingleAnnounceHandler() : RNS::AnnounceHandler(ANNOUNCE_FILTER) {} + + void received_announce(const RNS::Bytes& destination_hash, + const RNS::Identity& announced_identity, + const RNS::Bytes& app_data) override { + String label = app_data ? String(app_data.toString().c_str()) : String("(no label)"); + if (label == NODE_LABEL) { + return; + } + if (!announced_identity) { + Serial.printf("RX ANNOUNCE ignored: missing identity for hash=%s\r\n", + destination_hash.toHex().c_str()); + return; + } + + peer_hash = destination_hash; + peer_label = label; + peer_destination = RNS::Destination(announced_identity, + RNS::Type::Destination::OUT, + RNS::Type::Destination::SINGLE, + destination_hash); + have_peer = true; + + Serial.printf("RX ANNOUNCE: label=%s hash=%s\r\n", + peer_label.c_str(), peer_hash.toHex().c_str()); + } +}; + +static RNS::HAnnounceHandler announce_handler(new SingleAnnounceHandler()); + +static void print_config() { + Serial.printf("Node=%s\r\n", NODE_LABEL); + Serial.printf("BLE role=%s service=37145b00-442d-4a94-917f-8f42c5da28e3\r\n", + ble_impl ? ble_impl->role_name() : "?"); +} + +static void on_packet(const RNS::Bytes& data, const RNS::Packet& packet) { + (void)packet; + Serial.printf("RX SINGLE BLE: %s\r\n", data.toString().c_str()); +} + +static void send_announce() { + if (!inbound_destination) { + return; + } + Serial.printf("TX ANNOUNCE: %s\r\n", NODE_LABEL); + inbound_destination.announce(RNS::bytesFromString(NODE_LABEL)); +} + +static void setup_reticulum() { + microStore::FileSystem filesystem{microStore::Adapters::UniversalFileSystem()}; + filesystem.init(); + RNS::Utilities::OS::register_filesystem(filesystem); + + ble_impl = new TBeamSupremeBleInterface(); + ble_interface = ble_impl; + ble_interface.mode(RNS::Type::Interface::MODE_GATEWAY); + RNS::Transport::register_interface(ble_interface); + ble_interface.start(); + + reticulum = RNS::Reticulum(); + reticulum.transport_enabled(false); + reticulum.probe_destination_enabled(false); + reticulum.start(); + + local_identity = RNS::Identity(); + inbound_destination = RNS::Destination(local_identity, + RNS::Type::Destination::IN, + RNS::Type::Destination::SINGLE, + APP_NAME, + APP_ASPECT); + inbound_destination.set_packet_callback(on_packet); + inbound_destination.set_proof_strategy(RNS::Type::Destination::PROVE_NONE); + + RNS::Transport::register_announce_handler(announce_handler); + + Serial.printf("Local SINGLE destination: %s\r\n", + inbound_destination.hash().toHex().c_str()); +} + +void setup() { + Serial.begin(115200); + while (!Serial && millis() < 5000) { + delay(100); + } + delay(250); + + Serial.println(); + RNS::loglevel(RNS::LOG_NOTICE); + setup_reticulum(); + Serial.println("Exercise 302: microReticulum BLE announce + SINGLE destination ping-pong"); + print_config(); + Serial.println("microReticulum ready"); +} + +void loop() { + reticulum.loop(); + + static uint32_t next_announce_ms = 0; + static uint32_t next_tx_ms = 0; + static uint32_t next_wait_log_ms = 0; + static uint32_t iter = 0; + uint32_t now = millis(); + + if (ble_impl && !ble_impl->connected()) { + if (next_wait_log_ms == 0 || (int32_t)(now - next_wait_log_ms) >= 0) { + next_wait_log_ms = now + 10000; + Serial.printf("BLE %s waiting for peer\r\n", ble_impl->role_name()); + } + delay(5); + return; + } + + if (next_announce_ms == 0) { + uint32_t offset = (NODE_LABEL[0] == 'A') ? 700 : 1700; + next_announce_ms = now + offset; + } + if ((int32_t)(now - next_announce_ms) >= 0) { + next_announce_ms = now + 15000; + send_announce(); + } + + if (have_peer && next_tx_ms == 0) { + uint32_t offset = (NODE_LABEL[0] == 'A') ? 2500 : 4000; + next_tx_ms = now + offset; + } + if (have_peer && (int32_t)(now - next_tx_ms) >= 0) { + next_tx_ms = now + 3000; + + String message = String(NODE_LABEL) + " -> " + peer_label + " iter=" + String(iter++); + Serial.printf("TX SINGLE BLE: %s\r\n", message.c_str()); + + RNS::Packet packet(peer_destination, + RNS::bytesFromString(message.c_str()), + RNS::Type::Packet::DATA, + RNS::Type::Packet::CONTEXT_NONE, + RNS::Type::Transport::BROADCAST, + RNS::Type::Packet::HEADER_1, + {RNS::Bytes::NONE}, + false); + packet.send(); + } + + delay(5); +} + +int _write(int file, char* ptr, int len) { + (void)file; + int wrote = Serial.write(ptr, len); + Serial.flush(); + return wrote; +} diff --git a/exercises/303_microReticulum_ble_link_ping_pong/README.md b/exercises/303_microReticulum_ble_link_ping_pong/README.md new file mode 100644 index 0000000..624ec4f --- /dev/null +++ b/exercises/303_microReticulum_ble_link_ping_pong/README.md @@ -0,0 +1,84 @@ +# Exercise 303: microReticulum BLE negotiated Link ping-pong + +This exercise is the BLE analogue of Exercise 203. + +Exercise 301 proved `PLAIN` packets over the ESP32/T-Beam BLE interface. Exercise 302 proved announced `SINGLE` destinations over BLE. Exercise 303 adds a negotiated Reticulum `Link`: the nodes begin with BLE connectivity and `SINGLE` destination announces, then one node opens a Link to the peer's announced `SINGLE` destination. + +```text +BLE GATT connection -> Identity -> SINGLE destination -> announce -> peer learns identity/path -> LINKREQUEST/LRPROOF handshake -> ACTIVE Link -> link DATA packets +``` + +For this exercise, BLE roles are still explicit: + +```text +AMY -> BLE central/client +BOB -> BLE peripheral/server +``` + +BOB must be started first so it is advertising when AMY scans. This ordering is a BLE transport requirement in the current 300-series exercises, not a Reticulum Link requirement. Inside Reticulum, AMY opens the Link to BOB because the lower lexical node label initiates, matching Exercise 203. + +An equal-peer BLE exercise should come after this, because it changes the BLE interface itself to dual-role operation and deterministic connection direction. A likely name is `304_microReticulum_ble_dual_role_ping_pong`. + +## Build, Upload, And Monitor + +In one console: + +```bash +source /home/jlpoole/rnsenv/bin/activate +cd /usr/local/src/microreticulum/microReticulumTbeam +pio run -d exercises/303_microReticulum_ble_link_ping_pong -e bob -t upload --upload-port /dev/ttytBOB && \ +pio device monitor -d exercises/303_microReticulum_ble_link_ping_pong -e bob +``` + +In another console: + +```bash +source /home/jlpoole/rnsenv/bin/activate +cd /usr/local/src/microreticulum/microReticulumTbeam +pio run -d exercises/303_microReticulum_ble_link_ping_pong -e amy -t upload --upload-port /dev/ttytAMY && \ +pio device monitor -d exercises/303_microReticulum_ble_link_ping_pong -e amy +``` + +The shorter form should also work once the symlinks exist: + +```bash +pio run -d exercises/303_microReticulum_ble_link_ping_pong -e bob -t upload +pio device monitor -d exercises/303_microReticulum_ble_link_ping_pong -e bob +``` + +## Expected Output + +After the BLE GATT connection is made, each node prints and announces its local `SINGLE` destination: + +```text +Local SINGLE destination: 2f6c... +TX ANNOUNCE: Amy +RX ANNOUNCE: label=Bob hash=91a4... +``` + +After AMY learns BOB's announce, AMY opens the Reticulum Link: + +```text +TX LINKREQUEST: opening link to Bob +``` + +BOB should report the inbound link, and AMY should report active status: + +```text +RX LINK: inbound link established +LINK ACTIVE: initiator link established +``` + +Once active, both nodes send and receive packets over the negotiated Link: + +```text +TX LINK BLE: Amy -> Bob iter=0 +RX LINK BLE: Bob -> Amy iter=0 +``` +![](../../img/20260519_141935_Tue.png) +## Notes + +- This exercise uses the same ESP32 BLE interface introduced in Exercise 301. +- Once the Reticulum Link is active, the sketch stops periodic announces so the console focuses on link traffic. +- The identity is generated on each boot. Destination hashes can change after reset. +- This is the first 300-series exercise that proves Reticulum negotiated Link establishment over the ESP32/T-Beam BLE interface. diff --git a/exercises/303_microReticulum_ble_link_ping_pong/platformio.ini b/exercises/303_microReticulum_ble_link_ping_pong/platformio.ini new file mode 100644 index 0000000..6843414 --- /dev/null +++ b/exercises/303_microReticulum_ble_link_ping_pong/platformio.ini @@ -0,0 +1,76 @@ +; Exercise 303: microReticulum BLE negotiated Link ping-pong + +[platformio] +default_envs = amy + +[env] +platform = espressif32 +framework = arduino +board = esp32-s3-devkitc-1 +monitor_speed = 115200 +upload_speed = 460800 +board_build.partitions = huge_app.csv + +build_flags = + -Wall + -Wno-missing-field-initializers + -Wno-format + -D RNS_USE_FS + -D RNS_PERSIST_PATHS + -D USTORE_USE_UNIVERSALFS + -D MSGPACK_USE_BOOST=OFF + -D MCU_ESP32 + -D ARDUINO_USB_MODE=1 + -D ARDUINO_USB_CDC_ON_BOOT=1 + +lib_deps = + ArduinoJson@^7.4.2 + MsgPack@^0.4.2 + https://github.com/attermann/Crypto.git + https://github.com/attermann/microStore.git + microReticulum=symlink:///usr/local/src/microreticulum/microReticulum + +[env:amy] +extends = env +upload_port = /dev/ttytAMY +monitor_port = /dev/ttytAMY +build_flags = + ${env.build_flags} + -D NODE_LABEL=\"Amy\" + -D BLE_ROLE_CENTRAL + +[env:bob] +extends = env +upload_port = /dev/ttytBOB +monitor_port = /dev/ttytBOB +build_flags = + ${env.build_flags} + -D NODE_LABEL=\"Bob\" + -D BLE_ROLE_PERIPHERAL + +[env:cy] +extends = env +upload_port = /dev/ttytCY +monitor_port = /dev/ttytCY +build_flags = + ${env.build_flags} + -D NODE_LABEL=\"Cy\" + -D BLE_ROLE_CENTRAL + +[env:dan] +extends = env +upload_port = /dev/ttytDAN +monitor_port = /dev/ttytDAN +build_flags = + ${env.build_flags} + -D NODE_LABEL=\"Dan\" + -D BLE_ROLE_PERIPHERAL + +[env:ed] +extends = env +upload_port = /dev/ttytED +monitor_port = /dev/ttytED +build_flags = + ${env.build_flags} + -D NODE_LABEL=\"Ed\" + -D BLE_ROLE_CENTRAL diff --git a/exercises/303_microReticulum_ble_link_ping_pong/src/TBeamSupremeBleInterface.cpp b/exercises/303_microReticulum_ble_link_ping_pong/src/TBeamSupremeBleInterface.cpp new file mode 100644 index 0000000..8dd6c8a --- /dev/null +++ b/exercises/303_microReticulum_ble_link_ping_pong/src/TBeamSupremeBleInterface.cpp @@ -0,0 +1,419 @@ +#include "TBeamSupremeBleInterface.h" + +#include +#include +#include +#include +#include + +#include +#include + +using namespace RNS; + +#ifndef NODE_LABEL +#define NODE_LABEL "?" +#endif + +static TBeamSupremeBleInterface* active_ble_interface = nullptr; + +class TBeamSupremeBleInterface::ServerCallbacks : public BLEServerCallbacks { +public: + explicit ServerCallbacks(TBeamSupremeBleInterface* owner) : _owner(owner) {} + + void onConnect(BLEServer* server) override { + (void)server; + _owner->_connected = true; + _owner->_server_handshake_received = false; + Serial.println("BLE peripheral: central connected"); + INFO("BLE central connected"); + } + + void onDisconnect(BLEServer* server) override { + (void)server; + _owner->_connected = false; + _owner->_server_handshake_received = false; + _owner->reset_reassembly(); + Serial.println("BLE peripheral: central disconnected; restarting advertising"); + INFO("BLE central disconnected; restarting advertising"); + BLEDevice::startAdvertising(); + } + +private: + TBeamSupremeBleInterface* _owner; +}; + +class TBeamSupremeBleInterface::RxCallbacks : public BLECharacteristicCallbacks { +public: + explicit RxCallbacks(TBeamSupremeBleInterface* owner) : _owner(owner) {} + + void onWrite(BLECharacteristic* characteristic) override { + std::string value = characteristic->getValue(); + if (value.empty()) { + return; + } + + if (!_owner->_server_handshake_received && value.size() == 16) { + _owner->_server_handshake_received = true; + Serial.println("BLE peripheral: identity handshake received"); + INFOF("BLE identity handshake received: %d bytes", (int)value.size()); + return; + } + + _owner->handle_fragment(reinterpret_cast(value.data()), value.size()); + } + +private: + TBeamSupremeBleInterface* _owner; +}; + +class TBeamSupremeBleInterface::AdvertisedDeviceCallbacks : public BLEAdvertisedDeviceCallbacks { +public: + explicit AdvertisedDeviceCallbacks(TBeamSupremeBleInterface* owner) : _owner(owner) {} + + void onResult(BLEAdvertisedDevice advertised_device) override { + bool has_service = advertised_device.haveServiceUUID() && + advertised_device.isAdvertisingService(BLEUUID(TBeamSupremeBleInterface::SERVICE_UUID)); + bool has_rns_name = advertised_device.haveName() && + advertised_device.getName().rfind("RNS-", 0) == 0; + + if ((has_service || has_rns_name) || _owner->_scan_report_count < 5) { + Serial.printf("BLE scan: addr=%s name=%s service=%s rssi=%d\r\n", + advertised_device.getAddress().toString().c_str(), + advertised_device.haveName() ? advertised_device.getName().c_str() : "", + has_service ? "yes" : "no", + advertised_device.getRSSI()); + _owner->_scan_report_count++; + } + + if (!has_service && !has_rns_name) { + return; + } + + BLEDevice::getScan()->stop(); + delete _owner->_advertised_device; + _owner->_advertised_device = new BLEAdvertisedDevice(advertised_device); + _owner->_do_connect = true; + _owner->_scanning = false; + Serial.printf("BLE central: peer candidate found: %s\r\n", + advertised_device.getAddress().toString().c_str()); + INFOF("BLE peer found: %s", advertised_device.getAddress().toString().c_str()); + } + +private: + TBeamSupremeBleInterface* _owner; +}; + +TBeamSupremeBleInterface::TBeamSupremeBleInterface(const char* name) : InterfaceImpl(name) { + _IN = true; + _OUT = true; + _bitrate = 1000000; + _HW_MTU = BLE_PAYLOAD_SIZE; +#if defined(BLE_ROLE_CENTRAL) + _central_role = true; +#else + _central_role = false; +#endif +} + +TBeamSupremeBleInterface::~TBeamSupremeBleInterface() { + stop(); + delete _advertised_device; +} + +bool TBeamSupremeBleInterface::start() { + if (_started) { + return true; + } + + active_ble_interface = this; + BLEDevice::init(std::string("RNS-") + NODE_LABEL); + BLEDevice::setMTU(BLE_MTU); + + if (_central_role) { + Serial.println("BLE central: starting scanner"); + INFO("BLE starting as central/client"); + start_central_scan(); + } else { + Serial.println("BLE peripheral: starting advertiser"); + INFO("BLE starting as peripheral/server"); + start_peripheral(); + } + + _started = true; + _online = true; + return true; +} + +void TBeamSupremeBleInterface::stop() { + _online = false; + _connected = false; + if (_client && _client->isConnected()) { + _client->disconnect(); + } +} + +void TBeamSupremeBleInterface::loop() { + if (!_online) { + return; + } + + if (_central_role) { + if (_do_connect && _advertised_device) { + _do_connect = false; + if (!connect_to_advertised_device(_advertised_device)) { + _connected = false; + _next_scan_ms = millis() + SCAN_RETRY_MS; + } + } + + if (!_connected && !_scanning && (int32_t)(millis() - _next_scan_ms) >= 0) { + start_central_scan(); + } + } + + if (_reassembly_started_ms != 0 && millis() - _reassembly_started_ms > REASSEMBLY_TIMEOUT_MS) { + WARNING("BLE reassembly timeout; dropping partial packet"); + reset_reassembly(); + } + + RNS::Bytes packet({RNS::Type::NONE}); + while (dequeue_packet(packet)) { + InterfaceImpl::handle_incoming(packet); + } +} + +void TBeamSupremeBleInterface::start_peripheral() { + _server = BLEDevice::createServer(); + _server->setCallbacks(new ServerCallbacks(this)); + + BLEService* service = _server->createService(SERVICE_UUID); + _tx_characteristic = service->createCharacteristic( + TX_UUID, + BLECharacteristic::PROPERTY_READ | BLECharacteristic::PROPERTY_NOTIFY); + _tx_characteristic->addDescriptor(new BLE2902()); + + BLECharacteristic* rx_characteristic = service->createCharacteristic( + RX_UUID, + BLECharacteristic::PROPERTY_WRITE | BLECharacteristic::PROPERTY_WRITE_NR); + rx_characteristic->setCallbacks(new RxCallbacks(this)); + + _identity_characteristic = service->createCharacteristic( + IDENTITY_UUID, + BLECharacteristic::PROPERTY_READ); + RNS::Bytes identity = local_identity_hash(); + _identity_characteristic->setValue((uint8_t*)identity.data(), identity.size()); + + service->start(); + + BLEAdvertising* advertising = BLEDevice::getAdvertising(); + advertising->addServiceUUID(SERVICE_UUID); + advertising->setScanResponse(true); + advertising->setMinPreferred(0x00); + BLEDevice::startAdvertising(); + Serial.println("BLE peripheral: advertising Reticulum service"); + INFO("BLE advertising Reticulum service"); +} + +void TBeamSupremeBleInterface::start_central_scan() { + _scanning = true; + _next_scan_ms = millis() + SCAN_RETRY_MS; + _scan_report_count = 0; + + BLEScan* scan = BLEDevice::getScan(); + scan->setAdvertisedDeviceCallbacks(new AdvertisedDeviceCallbacks(this), true); + scan->setInterval(1349); + scan->setWindow(449); + scan->setActiveScan(true); + Serial.println("BLE central: scanning for Reticulum service"); + scan->start(5, false); + if (!_do_connect && !_connected) { + _scanning = false; + _next_scan_ms = millis() + SCAN_RETRY_MS; + Serial.println("BLE central: scan complete; no peer found"); + } + scan->clearResults(); + INFO("BLE scanning for Reticulum service"); +} + +bool TBeamSupremeBleInterface::connect_to_advertised_device(BLEAdvertisedDevice* device) { + Serial.printf("BLE central: connecting to %s\r\n", device->getAddress().toString().c_str()); + INFOF("BLE connecting to %s", device->getAddress().toString().c_str()); + + _client = BLEDevice::createClient(); + if (!_client->connect(device)) { + Serial.println("BLE central: connect failed"); + WARNING("BLE connect failed"); + return false; + } + + _client->setMTU(BLE_MTU); + BLERemoteService* service = _client->getService(BLEUUID(SERVICE_UUID)); + if (!service) { + Serial.println("BLE central: Reticulum service not found after connect"); + WARNING("BLE Reticulum service not found after connect"); + _client->disconnect(); + return false; + } + + _remote_rx_characteristic = service->getCharacteristic(BLEUUID(RX_UUID)); + _remote_tx_characteristic = service->getCharacteristic(BLEUUID(TX_UUID)); + BLERemoteCharacteristic* identity_characteristic = service->getCharacteristic(BLEUUID(IDENTITY_UUID)); + + if (!_remote_rx_characteristic || !_remote_tx_characteristic) { + Serial.println("BLE central: RX/TX characteristics not found"); + WARNING("BLE Reticulum RX/TX characteristics not found"); + _client->disconnect(); + return false; + } + + if (identity_characteristic && identity_characteristic->canRead()) { + std::string peer_identity = identity_characteristic->readValue(); + Serial.printf("BLE central: peer identity read: %d bytes\r\n", (int)peer_identity.size()); + INFOF("BLE peer identity read: %d bytes", (int)peer_identity.size()); + } + + if (_remote_tx_characteristic->canNotify()) { + _remote_tx_characteristic->registerForNotify(client_notify_callback); + } else { + Serial.println("BLE central: peer TX characteristic does not notify"); + } + + RNS::Bytes identity = local_identity_hash(); + _remote_rx_characteristic->writeValue((uint8_t*)identity.data(), identity.size(), false); + _connected = true; + _scanning = false; + Serial.println("BLE central: connected and identity handshake sent"); + INFO("BLE connected and identity handshake sent"); + return true; +} + +void TBeamSupremeBleInterface::send_outgoing(const Bytes& data) { + if (!_online || !_connected) { + return; + } + + size_t total = (data.size() + BLE_PAYLOAD_SIZE - 1) / BLE_PAYLOAD_SIZE; + if (total == 0 || total > 65535) { + WARNINGF("BLE cannot fragment packet of size %d", (int)data.size()); + return; + } + + for (size_t i = 0; i < total; ++i) { + uint8_t fragment[BLE_MTU]; + uint8_t fragment_type = FRAG_CONTINUE; + if (i == 0) { + fragment_type = FRAG_START; + } else if (i == total - 1) { + fragment_type = FRAG_END; + } + + size_t offset = i * BLE_PAYLOAD_SIZE; + size_t chunk = std::min(BLE_PAYLOAD_SIZE, data.size() - offset); + fragment[0] = fragment_type; + fragment[1] = (uint8_t)((i >> 8) & 0xFF); + fragment[2] = (uint8_t)(i & 0xFF); + fragment[3] = (uint8_t)((total >> 8) & 0xFF); + fragment[4] = (uint8_t)(total & 0xFF); + memcpy(fragment + FRAG_HEADER_SIZE, data.data() + offset, chunk); + send_fragment(fragment, FRAG_HEADER_SIZE + chunk); + delay(8); + } + + InterfaceImpl::handle_outgoing(data); +} + +void TBeamSupremeBleInterface::send_fragment(const uint8_t* data, size_t len) { + if (_central_role) { + if (_remote_rx_characteristic) { + _remote_rx_characteristic->writeValue((uint8_t*)data, len, false); + } + } else { + if (_tx_characteristic) { + _tx_characteristic->setValue((uint8_t*)data, len); + _tx_characteristic->notify(); + } + } +} + +void TBeamSupremeBleInterface::handle_fragment(const uint8_t* data, size_t len) { + if (len < FRAG_HEADER_SIZE) { + WARNINGF("BLE fragment too short: %d", (int)len); + return; + } + + uint8_t fragment_type = data[0]; + uint16_t sequence = ((uint16_t)data[1] << 8) | data[2]; + uint16_t total = ((uint16_t)data[3] << 8) | data[4]; + const uint8_t* payload = data + FRAG_HEADER_SIZE; + size_t payload_len = len - FRAG_HEADER_SIZE; + + if ((fragment_type != FRAG_START && fragment_type != FRAG_CONTINUE && fragment_type != FRAG_END) || + total == 0 || sequence >= total) { + WARNING("BLE invalid fragment header"); + reset_reassembly(); + return; + } + + if (sequence == 0) { + reset_reassembly(); + _expected_total = total; + _received_fragments = 0; + _reassembly_started_ms = millis(); + } + + if (_expected_total != total || sequence != _received_fragments) { + WARNING("BLE out-of-order fragment; dropping partial packet"); + reset_reassembly(); + return; + } + + _reassembly_buffer.append(payload, payload_len); + _received_fragments++; + + if (_received_fragments == _expected_total) { + enqueue_packet(_reassembly_buffer); + reset_reassembly(); + } +} + +void TBeamSupremeBleInterface::enqueue_packet(const RNS::Bytes& packet) { + portENTER_CRITICAL(&_queue_mux); + _incoming_packets.push_back(packet); + portEXIT_CRITICAL(&_queue_mux); +} + +bool TBeamSupremeBleInterface::dequeue_packet(RNS::Bytes& packet) { + portENTER_CRITICAL(&_queue_mux); + if (_incoming_packets.empty()) { + portEXIT_CRITICAL(&_queue_mux); + return false; + } + packet = _incoming_packets.front(); + _incoming_packets.pop_front(); + portEXIT_CRITICAL(&_queue_mux); + return true; +} + +void TBeamSupremeBleInterface::reset_reassembly() { + _reassembly_buffer.clear(); + _expected_total = 0; + _received_fragments = 0; + _reassembly_started_ms = 0; +} + +RNS::Bytes TBeamSupremeBleInterface::local_identity_hash() const { + String material = String("microReticulum BLE ") + NODE_LABEL; + return Identity::truncated_hash(RNS::bytesFromString(material.c_str())); +} + +void TBeamSupremeBleInterface::client_notify_callback(BLERemoteCharacteristic* characteristic, + uint8_t* data, + size_t length, + bool is_notify) { + (void)characteristic; + (void)is_notify; + if (active_ble_interface) { + active_ble_interface->handle_fragment(data, length); + } +} diff --git a/exercises/303_microReticulum_ble_link_ping_pong/src/TBeamSupremeBleInterface.h b/exercises/303_microReticulum_ble_link_ping_pong/src/TBeamSupremeBleInterface.h new file mode 100644 index 0000000..3b6cfed --- /dev/null +++ b/exercises/303_microReticulum_ble_link_ping_pong/src/TBeamSupremeBleInterface.h @@ -0,0 +1,90 @@ +#pragma once + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include + +class TBeamSupremeBleInterface : public RNS::InterfaceImpl { +public: + explicit TBeamSupremeBleInterface(const char* name = "TBeamSupremeBLE"); + ~TBeamSupremeBleInterface() override; + + bool start() override; + void stop() override; + void loop() override; + + bool connected() const { return _connected; } + bool is_central() const { return _central_role; } + const char* role_name() const { return _central_role ? "central" : "peripheral"; } + +private: + void send_outgoing(const RNS::Bytes& data) override; + + void start_peripheral(); + void start_central_scan(); + bool connect_to_advertised_device(BLEAdvertisedDevice* device); + + void send_fragment(const uint8_t* data, size_t len); + void handle_fragment(const uint8_t* data, size_t len); + void enqueue_packet(const RNS::Bytes& packet); + bool dequeue_packet(RNS::Bytes& packet); + void reset_reassembly(); + RNS::Bytes local_identity_hash() const; + + static void client_notify_callback(BLERemoteCharacteristic* characteristic, + uint8_t* data, + size_t length, + bool is_notify); + + class ServerCallbacks; + class RxCallbacks; + class AdvertisedDeviceCallbacks; + + static constexpr const char* SERVICE_UUID = "37145b00-442d-4a94-917f-8f42c5da28e3"; + static constexpr const char* TX_UUID = "37145b00-442d-4a94-917f-8f42c5da28e4"; + static constexpr const char* RX_UUID = "37145b00-442d-4a94-917f-8f42c5da28e5"; + static constexpr const char* IDENTITY_UUID = "37145b00-442d-4a94-917f-8f42c5da28e6"; + + static constexpr uint8_t FRAG_START = 0x01; + static constexpr uint8_t FRAG_CONTINUE = 0x02; + static constexpr uint8_t FRAG_END = 0x03; + static constexpr size_t FRAG_HEADER_SIZE = 5; + static constexpr size_t BLE_MTU = 185; + static constexpr size_t BLE_PAYLOAD_SIZE = BLE_MTU - FRAG_HEADER_SIZE; + static constexpr uint32_t REASSEMBLY_TIMEOUT_MS = 30000; + static constexpr uint32_t SCAN_RETRY_MS = 5000; + + bool _central_role = false; + bool _started = false; + bool _connected = false; + bool _do_connect = false; + bool _scanning = false; + bool _server_handshake_received = false; + uint8_t _scan_report_count = 0; + uint32_t _next_scan_ms = 0; + + BLEServer* _server = nullptr; + BLECharacteristic* _tx_characteristic = nullptr; + BLECharacteristic* _identity_characteristic = nullptr; + BLEAdvertisedDevice* _advertised_device = nullptr; + BLEClient* _client = nullptr; + BLERemoteCharacteristic* _remote_rx_characteristic = nullptr; + BLERemoteCharacteristic* _remote_tx_characteristic = nullptr; + + RNS::Bytes _reassembly_buffer; + uint16_t _expected_total = 0; + uint16_t _received_fragments = 0; + uint32_t _reassembly_started_ms = 0; + + std::deque _incoming_packets; + portMUX_TYPE _queue_mux = portMUX_INITIALIZER_UNLOCKED; +}; diff --git a/exercises/303_microReticulum_ble_link_ping_pong/src/main.cpp b/exercises/303_microReticulum_ble_link_ping_pong/src/main.cpp new file mode 100644 index 0000000..6e3cd55 --- /dev/null +++ b/exercises/303_microReticulum_ble_link_ping_pong/src/main.cpp @@ -0,0 +1,230 @@ +#include "TBeamSupremeBleInterface.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef NODE_LABEL +#define NODE_LABEL "?" +#endif + +static constexpr const char* APP_NAME = "microreticulum"; +static constexpr const char* APP_ASPECT = "linkping"; +static constexpr const char* ANNOUNCE_FILTER = "microreticulum.linkping"; + +static RNS::Reticulum reticulum({RNS::Type::NONE}); +static RNS::Interface ble_interface({RNS::Type::NONE}); +static RNS::Identity local_identity({RNS::Type::NONE}); +static RNS::Destination inbound_destination({RNS::Type::NONE}); +static RNS::Destination peer_destination({RNS::Type::NONE}); +static RNS::Link active_link({RNS::Type::NONE}); +static RNS::Link pending_link({RNS::Type::NONE}); +static RNS::Bytes peer_hash; +static String peer_label; +static bool have_peer = false; +static bool link_active = false; +static bool link_attempted = false; +static TBeamSupremeBleInterface* ble_impl = nullptr; + +static bool should_initiate_link_to(const String& label) { + return strcmp(NODE_LABEL, label.c_str()) < 0; +} + +static void on_link_packet(const RNS::Bytes& data, const RNS::Packet& packet) { + (void)packet; + Serial.printf("RX LINK BLE: %s\r\n", data.toString().c_str()); +} + +static void on_link_closed(RNS::Link& link) { + (void)link; + Serial.println("LINK CLOSED"); + active_link = {RNS::Type::NONE}; + pending_link = {RNS::Type::NONE}; + link_active = false; + link_attempted = false; +} + +static void on_outbound_link_established(RNS::Link& link) { + active_link = link; + active_link.set_packet_callback(on_link_packet); + active_link.set_link_closed_callback(on_link_closed); + link_active = true; + Serial.println("LINK ACTIVE: initiator link established"); +} + +static void on_inbound_link_established(RNS::Link& link) { + active_link = link; + active_link.set_packet_callback(on_link_packet); + active_link.set_link_closed_callback(on_link_closed); + link_active = true; + link_attempted = true; + Serial.println("RX LINK: inbound link established"); +} + +class LinkAnnounceHandler : public RNS::AnnounceHandler { +public: + LinkAnnounceHandler() : RNS::AnnounceHandler(ANNOUNCE_FILTER) {} + + void received_announce(const RNS::Bytes& destination_hash, + const RNS::Identity& announced_identity, + const RNS::Bytes& app_data) override { + String label = app_data ? String(app_data.toString().c_str()) : String("(no label)"); + if (label == NODE_LABEL) { + return; + } + if (!announced_identity) { + Serial.printf("RX ANNOUNCE ignored: missing identity for hash=%s\r\n", + destination_hash.toHex().c_str()); + return; + } + + peer_hash = destination_hash; + peer_label = label; + peer_destination = RNS::Destination(announced_identity, + RNS::Type::Destination::OUT, + RNS::Type::Destination::SINGLE, + destination_hash); + have_peer = true; + + Serial.printf("RX ANNOUNCE: label=%s hash=%s\r\n", + peer_label.c_str(), peer_hash.toHex().c_str()); + } +}; + +static RNS::HAnnounceHandler announce_handler(new LinkAnnounceHandler()); + +static void print_config() { + Serial.printf("Node=%s\r\n", NODE_LABEL); + Serial.printf("BLE role=%s service=37145b00-442d-4a94-917f-8f42c5da28e3\r\n", + ble_impl ? ble_impl->role_name() : "?"); +} + +static void send_announce() { + if (!inbound_destination) { + return; + } + Serial.printf("TX ANNOUNCE: %s\r\n", NODE_LABEL); + inbound_destination.announce(RNS::bytesFromString(NODE_LABEL)); +} + +static void maybe_open_link() { + if (!have_peer || link_active || link_attempted || !peer_destination) { + return; + } + if (!should_initiate_link_to(peer_label)) { + return; + } + + Serial.printf("TX LINKREQUEST: opening link to %s\r\n", peer_label.c_str()); + pending_link = RNS::Link(peer_destination); + pending_link.set_packet_callback(on_link_packet); + pending_link.set_link_established_callback(on_outbound_link_established); + pending_link.set_link_closed_callback(on_link_closed); + link_attempted = true; +} + +static void setup_reticulum() { + microStore::FileSystem filesystem{microStore::Adapters::UniversalFileSystem()}; + filesystem.init(); + RNS::Utilities::OS::register_filesystem(filesystem); + + ble_impl = new TBeamSupremeBleInterface(); + ble_interface = ble_impl; + ble_interface.mode(RNS::Type::Interface::MODE_GATEWAY); + RNS::Transport::register_interface(ble_interface); + ble_interface.start(); + + reticulum = RNS::Reticulum(); + reticulum.transport_enabled(false); + reticulum.probe_destination_enabled(false); + reticulum.start(); + + local_identity = RNS::Identity(); + inbound_destination = RNS::Destination(local_identity, + RNS::Type::Destination::IN, + RNS::Type::Destination::SINGLE, + APP_NAME, + APP_ASPECT); + inbound_destination.set_link_established_callback(on_inbound_link_established); + inbound_destination.set_proof_strategy(RNS::Type::Destination::PROVE_NONE); + + RNS::Transport::register_announce_handler(announce_handler); + + Serial.printf("Local SINGLE destination: %s\r\n", + inbound_destination.hash().toHex().c_str()); +} + +void setup() { + Serial.begin(115200); + while (!Serial && millis() < 5000) { + delay(100); + } + delay(250); + + Serial.println(); + RNS::loglevel(RNS::LOG_NOTICE); + setup_reticulum(); + Serial.println("Exercise 303: microReticulum BLE negotiated Link ping-pong"); + print_config(); + Serial.println("microReticulum ready"); +} + +void loop() { + reticulum.loop(); + + static uint32_t next_announce_ms = 0; + static uint32_t next_link_tx_ms = 0; + static uint32_t next_wait_log_ms = 0; + static uint32_t iter = 0; + uint32_t now = millis(); + + if (ble_impl && !ble_impl->connected()) { + if (next_wait_log_ms == 0 || (int32_t)(now - next_wait_log_ms) >= 0) { + next_wait_log_ms = now + 10000; + Serial.printf("BLE %s waiting for peer\r\n", ble_impl->role_name()); + } + delay(5); + return; + } + + if (next_announce_ms == 0) { + uint32_t offset = (NODE_LABEL[0] == 'A') ? 700 : 1700; + next_announce_ms = now + offset; + } + if (!link_active && (int32_t)(now - next_announce_ms) >= 0) { + next_announce_ms = now + 15000; + send_announce(); + } + + maybe_open_link(); + + if (link_active && next_link_tx_ms == 0) { + uint32_t offset = should_initiate_link_to(peer_label) ? 1200 : 2400; + next_link_tx_ms = now + offset; + } + if (link_active && (int32_t)(now - next_link_tx_ms) >= 0) { + next_link_tx_ms = now + 3000; + + String message = String(NODE_LABEL) + " -> " + peer_label + " iter=" + String(iter++); + Serial.printf("TX LINK BLE: %s\r\n", message.c_str()); + RNS::Packet(active_link, RNS::bytesFromString(message.c_str())).send(); + } + + delay(5); +} + +int _write(int file, char* ptr, int len) { + (void)file; + int wrote = Serial.write(ptr, len); + Serial.flush(); + return wrote; +} diff --git a/exercises/304_microReticulum_ble_dual_role_ping_pong/README.md b/exercises/304_microReticulum_ble_dual_role_ping_pong/README.md new file mode 100644 index 0000000..90d2c37 --- /dev/null +++ b/exercises/304_microReticulum_ble_dual_role_ping_pong/README.md @@ -0,0 +1,92 @@ +# Exercise 304: microReticulum BLE dual-role Link ping-pong + +This exercise keeps the Reticulum behavior from Exercise 303, but removes the fixed BLE central/peripheral split. + +Every board runs the same firmware image. Each node starts both sides of the ESP32 BLE interface: + +```text +BLE advertiser/server + BLE scanner/client +``` + +The nodes advertise a Reticulum BLE service name derived from the full ESP32 MAC, such as `RNS-Node-48CA435A93DD`. When two nodes see each other, the lower BLE address initiates the BLE GATT client connection and the other node remains available as the server. This deterministic tie-breaker avoids both boards trying to connect to each other at the same time. + +After the BLE connection is established, the Reticulum flow is the same as Exercise 303: + +```text +BLE GATT connection -> Identity -> SINGLE destination -> announce -> peer learns identity/path -> LINKREQUEST/LRPROOF handshake -> ACTIVE Link -> link DATA packets +``` + +Startup order should not matter for this exercise. Either board can be reset first. + +## Build, Upload, And Monitor + +Use the neutral `tbeam` environment when you want the exact same compiled firmware image on both boards. The board identity is derived at runtime from the ESP32 MAC address. + +In one console: + +```bash +source /home/jlpoole/rnsenv/bin/activate +cd /usr/local/src/microreticulum/microReticulumTbeam +pio run -d exercises/304_microReticulum_ble_dual_role_ping_pong -e tbeam -t upload --upload-port /dev/ttytAMY && \ +pio device monitor -p /dev/ttytAMY -b 115200 +``` + +In another console: + +```bash +source /home/jlpoole/rnsenv/bin/activate +cd /usr/local/src/microreticulum/microReticulumTbeam +pio run -d exercises/304_microReticulum_ble_dual_role_ping_pong -e tbeam -t upload --upload-port /dev/ttytBOB && \ +pio device monitor -p /dev/ttytBOB -b 115200 +``` + +The `amy`, `bob`, `cy`, `dan`, and `ed` environments remain as upload/monitor aliases. They do not define BLE role or node label, but separate PlatformIO environments can still produce different `.bin` hashes because the environment path/name can appear in compiled artifacts. For strict same-binary testing, use `-e tbeam` for every board. + +The shorter alias form should also work once the symlinks exist: + +```bash +pio run -d exercises/304_microReticulum_ble_dual_role_ping_pong -e amy -t upload +pio device monitor -d exercises/304_microReticulum_ble_dual_role_ping_pong -e amy +``` + +## Expected Output + +Each board derives a node label from its MAC and starts dual-role BLE: + +```text +Node=Node-48CA435A93DD +BLE role=dual-role service=37145b00-442d-4a94-917f-8f42c5da28e3 +BLE dual-role: local addr=48:ca:43:5a:93:dd label=Node-48CA435A93DD +BLE dual-role: starting advertiser and scanner +``` + +One side will decide it should initiate the BLE connection: + +```text +BLE dual-role: peer candidate found: 48:ca:43:5b:bf:69 label=Node-48CA435BBF69 +BLE dual-role: connected and identity handshake sent +``` + +The other side remains the server and accepts it: + +```text +BLE dual-role: central connected to local server +BLE dual-role: identity handshake received by local server +``` + +Then Reticulum announces, opens the negotiated Link, and exchanges payloads: + +```text +TX ANNOUNCE: Node-48CA435A93DD +RX ANNOUNCE: label=Node-48CA435BBF69 hash=... +TX LINKREQUEST: opening link to Node-48CA435BBF69 +LINK ACTIVE: initiator link established +TX LINK BLE: Node-48CA435A93DD -> Node-48CA435BBF69 iter=0 +RX LINK BLE: Node-48CA435BBF69 -> Node-48CA435A93DD iter=0 +``` +![](../../img/20260519_144250_Tue.png) +## Notes + +- This is the first equal-peer BLE transport exercise in the 300 series. +- Equal-peer means equal at the BLE transport startup layer. The BLE interface uses address ordering to decide which side initiates the GATT connection, and Reticulum still uses label ordering to decide which node opens the first Link. +- The next natural exercise is simultaneous text transfer over this same dual-role Link foundation, with the text corpus selected from `platformio.ini`. diff --git a/exercises/304_microReticulum_ble_dual_role_ping_pong/platformio.ini b/exercises/304_microReticulum_ble_dual_role_ping_pong/platformio.ini new file mode 100644 index 0000000..32e4081 --- /dev/null +++ b/exercises/304_microReticulum_ble_dual_role_ping_pong/platformio.ini @@ -0,0 +1,59 @@ +; Exercise 304: microReticulum BLE dual-role Link ping-pong + +[platformio] +default_envs = tbeam + +[env] +platform = espressif32 +framework = arduino +board = esp32-s3-devkitc-1 +monitor_speed = 115200 +upload_speed = 460800 +board_build.partitions = huge_app.csv + +build_flags = + -Wall + -Wno-missing-field-initializers + -Wno-format + -D RNS_USE_FS + -D RNS_PERSIST_PATHS + -D USTORE_USE_UNIVERSALFS + -D MSGPACK_USE_BOOST=OFF + -D MCU_ESP32 + -D ARDUINO_USB_MODE=1 + -D ARDUINO_USB_CDC_ON_BOOT=1 + +lib_deps = + ArduinoJson@^7.4.2 + MsgPack@^0.4.2 + https://github.com/attermann/Crypto.git + https://github.com/attermann/microStore.git + microReticulum=symlink:///usr/local/src/microreticulum/microReticulum + +[env:tbeam] +extends = env + +[env:amy] +extends = env +upload_port = /dev/ttytAMY +monitor_port = /dev/ttytAMY + +[env:bob] +extends = env +upload_port = /dev/ttytBOB +monitor_port = /dev/ttytBOB + +[env:cy] +extends = env +upload_port = /dev/ttytCY +monitor_port = /dev/ttytCY + +[env:dan] +extends = env +upload_port = /dev/ttytDAN +monitor_port = /dev/ttytDAN + +[env:ed] +extends = env +upload_port = /dev/ttytED +monitor_port = /dev/ttytED diff --git a/exercises/304_microReticulum_ble_dual_role_ping_pong/src/TBeamSupremeBleInterface.cpp b/exercises/304_microReticulum_ble_dual_role_ping_pong/src/TBeamSupremeBleInterface.cpp new file mode 100644 index 0000000..00ec846 --- /dev/null +++ b/exercises/304_microReticulum_ble_dual_role_ping_pong/src/TBeamSupremeBleInterface.cpp @@ -0,0 +1,438 @@ +#include "TBeamSupremeBleInterface.h" + +#include +#include +#include +#include +#include + +#include +#include + +using namespace RNS; + +static TBeamSupremeBleInterface* active_ble_interface = nullptr; + +class TBeamSupremeBleInterface::ServerCallbacks : public BLEServerCallbacks { +public: + explicit ServerCallbacks(TBeamSupremeBleInterface* owner) : _owner(owner) {} + + void onConnect(BLEServer* server) override { + (void)server; + if (_owner->_client && _owner->_client->isConnected()) { + Serial.println("BLE dual-role: inbound connection arrived while outbound is active; keeping outbound link"); + server->disconnect(server->getConnId()); + return; + } + _owner->_connected = true; + _owner->_server_handshake_received = false; + Serial.println("BLE dual-role: central connected to local server"); + INFO("BLE central connected to local server"); + } + + void onDisconnect(BLEServer* server) override { + (void)server; + _owner->_connected = false; + _owner->_server_handshake_received = false; + _owner->reset_reassembly(); + Serial.println("BLE dual-role: central disconnected; restarting advertising"); + INFO("BLE central disconnected; restarting advertising"); + BLEDevice::startAdvertising(); + } + +private: + TBeamSupremeBleInterface* _owner; +}; + +class TBeamSupremeBleInterface::RxCallbacks : public BLECharacteristicCallbacks { +public: + explicit RxCallbacks(TBeamSupremeBleInterface* owner) : _owner(owner) {} + + void onWrite(BLECharacteristic* characteristic) override { + std::string value = characteristic->getValue(); + if (value.empty()) { + return; + } + + if (!_owner->_server_handshake_received && value.size() == 16) { + _owner->_server_handshake_received = true; + Serial.println("BLE dual-role: identity handshake received by local server"); + INFOF("BLE identity handshake received: %d bytes", (int)value.size()); + return; + } + + _owner->handle_fragment(reinterpret_cast(value.data()), value.size()); + } + +private: + TBeamSupremeBleInterface* _owner; +}; + +class TBeamSupremeBleInterface::AdvertisedDeviceCallbacks : public BLEAdvertisedDeviceCallbacks { +public: + explicit AdvertisedDeviceCallbacks(TBeamSupremeBleInterface* owner) : _owner(owner) {} + + void onResult(BLEAdvertisedDevice advertised_device) override { + bool has_service = advertised_device.haveServiceUUID() && + advertised_device.isAdvertisingService(BLEUUID(TBeamSupremeBleInterface::SERVICE_UUID)); + bool has_rns_name = advertised_device.haveName() && + advertised_device.getName().rfind("RNS-", 0) == 0; + + if ((has_service || has_rns_name) || _owner->_scan_report_count < 5) { + Serial.printf("BLE scan: addr=%s name=%s service=%s rssi=%d\r\n", + advertised_device.getAddress().toString().c_str(), + advertised_device.haveName() ? advertised_device.getName().c_str() : "", + has_service ? "yes" : "no", + advertised_device.getRSSI()); + _owner->_scan_report_count++; + } + + if (!has_service && !has_rns_name) { + return; + } + + String peer_label = _owner->advertised_node_label(advertised_device); + String peer_address = String(advertised_device.getAddress().toString().c_str()); + if (!_owner->should_connect_to_peer(peer_address)) { + Serial.printf("BLE dual-role: peer addr=%s label=%s has lower tie-breaker; staying available\r\n", + peer_address.c_str(), + peer_label.length() ? peer_label.c_str() : "(unknown)"); + return; + } + + BLEDevice::getScan()->stop(); + delete _owner->_advertised_device; + _owner->_advertised_device = new BLEAdvertisedDevice(advertised_device); + _owner->_do_connect = true; + _owner->_scanning = false; + Serial.printf("BLE dual-role: peer candidate found: %s label=%s\r\n", + advertised_device.getAddress().toString().c_str(), + peer_label.c_str()); + INFOF("BLE peer found: %s", advertised_device.getAddress().toString().c_str()); + } + +private: + TBeamSupremeBleInterface* _owner; +}; + +TBeamSupremeBleInterface::TBeamSupremeBleInterface(const String& node_label, const char* name) : InterfaceImpl(name) { + _node_label = node_label; + _IN = true; + _OUT = true; + _bitrate = 1000000; + _HW_MTU = BLE_PAYLOAD_SIZE; +} + +TBeamSupremeBleInterface::~TBeamSupremeBleInterface() { + stop(); + delete _advertised_device; +} + +bool TBeamSupremeBleInterface::start() { + if (_started) { + return true; + } + + active_ble_interface = this; + BLEDevice::init(std::string("RNS-") + _node_label.c_str()); + BLEDevice::setMTU(BLE_MTU); + _local_address = String(BLEDevice::getAddress().toString().c_str()); + + Serial.printf("BLE dual-role: local addr=%s label=%s\r\n", _local_address.c_str(), _node_label.c_str()); + Serial.println("BLE dual-role: starting advertiser and scanner"); + INFO("BLE starting as dual-role client/server"); + start_peripheral(); + start_central_scan(); + + _started = true; + _online = true; + return true; +} + +void TBeamSupremeBleInterface::stop() { + _online = false; + _connected = false; + if (_client && _client->isConnected()) { + _client->disconnect(); + } +} + +void TBeamSupremeBleInterface::loop() { + if (!_online) { + return; + } + + if (_do_connect && _advertised_device) { + _do_connect = false; + if (!connect_to_advertised_device(_advertised_device)) { + _connected = false; + _next_scan_ms = millis() + SCAN_RETRY_MS; + } + } + + if (!_connected && !_scanning && (int32_t)(millis() - _next_scan_ms) >= 0) { + start_central_scan(); + } + + if (_reassembly_started_ms != 0 && millis() - _reassembly_started_ms > REASSEMBLY_TIMEOUT_MS) { + WARNING("BLE reassembly timeout; dropping partial packet"); + reset_reassembly(); + } + + RNS::Bytes packet({RNS::Type::NONE}); + while (dequeue_packet(packet)) { + InterfaceImpl::handle_incoming(packet); + } +} + +void TBeamSupremeBleInterface::start_peripheral() { + _server = BLEDevice::createServer(); + _server->setCallbacks(new ServerCallbacks(this)); + + BLEService* service = _server->createService(SERVICE_UUID); + _tx_characteristic = service->createCharacteristic( + TX_UUID, + BLECharacteristic::PROPERTY_READ | BLECharacteristic::PROPERTY_NOTIFY); + _tx_characteristic->addDescriptor(new BLE2902()); + + BLECharacteristic* rx_characteristic = service->createCharacteristic( + RX_UUID, + BLECharacteristic::PROPERTY_WRITE | BLECharacteristic::PROPERTY_WRITE_NR); + rx_characteristic->setCallbacks(new RxCallbacks(this)); + + _identity_characteristic = service->createCharacteristic( + IDENTITY_UUID, + BLECharacteristic::PROPERTY_READ); + RNS::Bytes identity = local_identity_hash(); + _identity_characteristic->setValue((uint8_t*)identity.data(), identity.size()); + + service->start(); + + BLEAdvertising* advertising = BLEDevice::getAdvertising(); + advertising->addServiceUUID(SERVICE_UUID); + advertising->setScanResponse(true); + advertising->setMinPreferred(0x00); + BLEDevice::startAdvertising(); + Serial.println("BLE dual-role: advertising Reticulum service"); + INFO("BLE advertising Reticulum service"); +} + +void TBeamSupremeBleInterface::start_central_scan() { + _scanning = true; + _next_scan_ms = millis() + SCAN_RETRY_MS; + _scan_report_count = 0; + + BLEScan* scan = BLEDevice::getScan(); + scan->setAdvertisedDeviceCallbacks(new AdvertisedDeviceCallbacks(this), true); + scan->setInterval(1349); + scan->setWindow(449); + scan->setActiveScan(true); + Serial.println("BLE dual-role: scanning for Reticulum service"); + scan->start(5, false); + if (!_do_connect && !_connected) { + _scanning = false; + _next_scan_ms = millis() + SCAN_RETRY_MS; + Serial.println("BLE dual-role: scan complete; no eligible peer found"); + } + scan->clearResults(); + INFO("BLE scanning for Reticulum service"); +} + +bool TBeamSupremeBleInterface::connect_to_advertised_device(BLEAdvertisedDevice* device) { + Serial.printf("BLE dual-role: connecting to %s\r\n", device->getAddress().toString().c_str()); + INFOF("BLE connecting to %s", device->getAddress().toString().c_str()); + + _client = BLEDevice::createClient(); + if (!_client->connect(device)) { + Serial.println("BLE dual-role: connect failed"); + WARNING("BLE connect failed"); + return false; + } + + _client->setMTU(BLE_MTU); + BLERemoteService* service = _client->getService(BLEUUID(SERVICE_UUID)); + if (!service) { + Serial.println("BLE dual-role: Reticulum service not found after connect"); + WARNING("BLE Reticulum service not found after connect"); + _client->disconnect(); + return false; + } + + _remote_rx_characteristic = service->getCharacteristic(BLEUUID(RX_UUID)); + _remote_tx_characteristic = service->getCharacteristic(BLEUUID(TX_UUID)); + BLERemoteCharacteristic* identity_characteristic = service->getCharacteristic(BLEUUID(IDENTITY_UUID)); + + if (!_remote_rx_characteristic || !_remote_tx_characteristic) { + Serial.println("BLE dual-role: RX/TX characteristics not found"); + WARNING("BLE Reticulum RX/TX characteristics not found"); + _client->disconnect(); + return false; + } + + if (identity_characteristic && identity_characteristic->canRead()) { + std::string peer_identity = identity_characteristic->readValue(); + Serial.printf("BLE dual-role: peer identity read: %d bytes\r\n", (int)peer_identity.size()); + INFOF("BLE peer identity read: %d bytes", (int)peer_identity.size()); + } + + if (_remote_tx_characteristic->canNotify()) { + _remote_tx_characteristic->registerForNotify(client_notify_callback); + } else { + Serial.println("BLE dual-role: peer TX characteristic does not notify"); + } + + RNS::Bytes identity = local_identity_hash(); + _remote_rx_characteristic->writeValue((uint8_t*)identity.data(), identity.size(), false); + _connected = true; + _scanning = false; + Serial.println("BLE dual-role: connected and identity handshake sent"); + INFO("BLE connected and identity handshake sent"); + return true; +} + +bool TBeamSupremeBleInterface::should_connect_to_peer(const String& peer_address) const { + if (peer_address.length() == 0 || peer_address == _local_address) { + return false; + } + return strcmp(_local_address.c_str(), peer_address.c_str()) < 0; +} + +String TBeamSupremeBleInterface::advertised_node_label(BLEAdvertisedDevice& device) const { + if (!device.haveName()) { + return ""; + } + std::string name = device.getName(); + if (name.rfind("RNS-", 0) != 0) { + return ""; + } + return String(name.substr(4).c_str()); +} + +void TBeamSupremeBleInterface::send_outgoing(const Bytes& data) { + if (!_online || !_connected) { + return; + } + + size_t total = (data.size() + BLE_PAYLOAD_SIZE - 1) / BLE_PAYLOAD_SIZE; + if (total == 0 || total > 65535) { + WARNINGF("BLE cannot fragment packet of size %d", (int)data.size()); + return; + } + + for (size_t i = 0; i < total; ++i) { + uint8_t fragment[BLE_MTU]; + uint8_t fragment_type = FRAG_CONTINUE; + if (i == 0) { + fragment_type = FRAG_START; + } else if (i == total - 1) { + fragment_type = FRAG_END; + } + + size_t offset = i * BLE_PAYLOAD_SIZE; + size_t chunk = std::min(BLE_PAYLOAD_SIZE, data.size() - offset); + fragment[0] = fragment_type; + fragment[1] = (uint8_t)((i >> 8) & 0xFF); + fragment[2] = (uint8_t)(i & 0xFF); + fragment[3] = (uint8_t)((total >> 8) & 0xFF); + fragment[4] = (uint8_t)(total & 0xFF); + memcpy(fragment + FRAG_HEADER_SIZE, data.data() + offset, chunk); + send_fragment(fragment, FRAG_HEADER_SIZE + chunk); + delay(8); + } + + InterfaceImpl::handle_outgoing(data); +} + +void TBeamSupremeBleInterface::send_fragment(const uint8_t* data, size_t len) { + if (_client && _client->isConnected() && _remote_rx_characteristic) { + _remote_rx_characteristic->writeValue((uint8_t*)data, len, false); + return; + } + + if (_tx_characteristic) { + _tx_characteristic->setValue((uint8_t*)data, len); + _tx_characteristic->notify(); + } +} + +void TBeamSupremeBleInterface::handle_fragment(const uint8_t* data, size_t len) { + if (len < FRAG_HEADER_SIZE) { + WARNINGF("BLE fragment too short: %d", (int)len); + return; + } + + uint8_t fragment_type = data[0]; + uint16_t sequence = ((uint16_t)data[1] << 8) | data[2]; + uint16_t total = ((uint16_t)data[3] << 8) | data[4]; + const uint8_t* payload = data + FRAG_HEADER_SIZE; + size_t payload_len = len - FRAG_HEADER_SIZE; + + if ((fragment_type != FRAG_START && fragment_type != FRAG_CONTINUE && fragment_type != FRAG_END) || + total == 0 || sequence >= total) { + WARNING("BLE invalid fragment header"); + reset_reassembly(); + return; + } + + if (sequence == 0) { + reset_reassembly(); + _expected_total = total; + _received_fragments = 0; + _reassembly_started_ms = millis(); + } + + if (_expected_total != total || sequence != _received_fragments) { + WARNING("BLE out-of-order fragment; dropping partial packet"); + reset_reassembly(); + return; + } + + _reassembly_buffer.append(payload, payload_len); + _received_fragments++; + + if (_received_fragments == _expected_total) { + enqueue_packet(_reassembly_buffer); + reset_reassembly(); + } +} + +void TBeamSupremeBleInterface::enqueue_packet(const RNS::Bytes& packet) { + portENTER_CRITICAL(&_queue_mux); + _incoming_packets.push_back(packet); + portEXIT_CRITICAL(&_queue_mux); +} + +bool TBeamSupremeBleInterface::dequeue_packet(RNS::Bytes& packet) { + portENTER_CRITICAL(&_queue_mux); + if (_incoming_packets.empty()) { + portEXIT_CRITICAL(&_queue_mux); + return false; + } + packet = _incoming_packets.front(); + _incoming_packets.pop_front(); + portEXIT_CRITICAL(&_queue_mux); + return true; +} + +void TBeamSupremeBleInterface::reset_reassembly() { + _reassembly_buffer.clear(); + _expected_total = 0; + _received_fragments = 0; + _reassembly_started_ms = 0; +} + +RNS::Bytes TBeamSupremeBleInterface::local_identity_hash() const { + String material = String("microReticulum BLE ") + _node_label; + return Identity::truncated_hash(RNS::bytesFromString(material.c_str())); +} + +void TBeamSupremeBleInterface::client_notify_callback(BLERemoteCharacteristic* characteristic, + uint8_t* data, + size_t length, + bool is_notify) { + (void)characteristic; + (void)is_notify; + if (active_ble_interface) { + active_ble_interface->handle_fragment(data, length); + } +} diff --git a/exercises/304_microReticulum_ble_dual_role_ping_pong/src/TBeamSupremeBleInterface.h b/exercises/304_microReticulum_ble_dual_role_ping_pong/src/TBeamSupremeBleInterface.h new file mode 100644 index 0000000..8695735 --- /dev/null +++ b/exercises/304_microReticulum_ble_dual_role_ping_pong/src/TBeamSupremeBleInterface.h @@ -0,0 +1,93 @@ +#pragma once + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include + +class TBeamSupremeBleInterface : public RNS::InterfaceImpl { +public: + explicit TBeamSupremeBleInterface(const String& node_label, + const char* name = "TBeamSupremeBLE"); + ~TBeamSupremeBleInterface() override; + + bool start() override; + void stop() override; + void loop() override; + + bool connected() const { return _connected; } + const char* role_name() const { return "dual-role"; } + +private: + void send_outgoing(const RNS::Bytes& data) override; + + void start_peripheral(); + void start_central_scan(); + bool connect_to_advertised_device(BLEAdvertisedDevice* device); + bool should_connect_to_peer(const String& peer_address) const; + String advertised_node_label(BLEAdvertisedDevice& device) const; + + void send_fragment(const uint8_t* data, size_t len); + void handle_fragment(const uint8_t* data, size_t len); + void enqueue_packet(const RNS::Bytes& packet); + bool dequeue_packet(RNS::Bytes& packet); + void reset_reassembly(); + RNS::Bytes local_identity_hash() const; + + static void client_notify_callback(BLERemoteCharacteristic* characteristic, + uint8_t* data, + size_t length, + bool is_notify); + + class ServerCallbacks; + class RxCallbacks; + class AdvertisedDeviceCallbacks; + + static constexpr const char* SERVICE_UUID = "37145b00-442d-4a94-917f-8f42c5da28e3"; + static constexpr const char* TX_UUID = "37145b00-442d-4a94-917f-8f42c5da28e4"; + static constexpr const char* RX_UUID = "37145b00-442d-4a94-917f-8f42c5da28e5"; + static constexpr const char* IDENTITY_UUID = "37145b00-442d-4a94-917f-8f42c5da28e6"; + + static constexpr uint8_t FRAG_START = 0x01; + static constexpr uint8_t FRAG_CONTINUE = 0x02; + static constexpr uint8_t FRAG_END = 0x03; + static constexpr size_t FRAG_HEADER_SIZE = 5; + static constexpr size_t BLE_MTU = 185; + static constexpr size_t BLE_PAYLOAD_SIZE = BLE_MTU - FRAG_HEADER_SIZE; + static constexpr uint32_t REASSEMBLY_TIMEOUT_MS = 30000; + static constexpr uint32_t SCAN_RETRY_MS = 5000; + + String _node_label; + String _local_address; + bool _started = false; + bool _connected = false; + bool _do_connect = false; + bool _scanning = false; + bool _server_handshake_received = false; + uint8_t _scan_report_count = 0; + uint32_t _next_scan_ms = 0; + + BLEServer* _server = nullptr; + BLECharacteristic* _tx_characteristic = nullptr; + BLECharacteristic* _identity_characteristic = nullptr; + BLEAdvertisedDevice* _advertised_device = nullptr; + BLEClient* _client = nullptr; + BLERemoteCharacteristic* _remote_rx_characteristic = nullptr; + BLERemoteCharacteristic* _remote_tx_characteristic = nullptr; + + RNS::Bytes _reassembly_buffer; + uint16_t _expected_total = 0; + uint16_t _received_fragments = 0; + uint32_t _reassembly_started_ms = 0; + + std::deque _incoming_packets; + portMUX_TYPE _queue_mux = portMUX_INITIALIZER_UNLOCKED; +}; diff --git a/exercises/304_microReticulum_ble_dual_role_ping_pong/src/main.cpp b/exercises/304_microReticulum_ble_dual_role_ping_pong/src/main.cpp new file mode 100644 index 0000000..a5ba343 --- /dev/null +++ b/exercises/304_microReticulum_ble_dual_role_ping_pong/src/main.cpp @@ -0,0 +1,235 @@ +#include "TBeamSupremeBleInterface.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static constexpr const char* APP_NAME = "microreticulum"; +static constexpr const char* APP_ASPECT = "linkping"; +static constexpr const char* ANNOUNCE_FILTER = "microreticulum.linkping"; + +static RNS::Reticulum reticulum({RNS::Type::NONE}); +static RNS::Interface ble_interface({RNS::Type::NONE}); +static RNS::Identity local_identity({RNS::Type::NONE}); +static RNS::Destination inbound_destination({RNS::Type::NONE}); +static RNS::Destination peer_destination({RNS::Type::NONE}); +static RNS::Link active_link({RNS::Type::NONE}); +static RNS::Link pending_link({RNS::Type::NONE}); +static RNS::Bytes peer_hash; +static String peer_label; +static bool have_peer = false; +static bool link_active = false; +static bool link_attempted = false; +static TBeamSupremeBleInterface* ble_impl = nullptr; +static String node_label; + +static String default_node_label() { + uint64_t mac = ESP.getEfuseMac(); + char label[24]; + snprintf(label, sizeof(label), "Node-%012llX", (unsigned long long)(mac & 0xFFFFFFFFFFFFULL)); + return String(label); +} + +static bool should_initiate_link_to(const String& label) { + return strcmp(node_label.c_str(), label.c_str()) < 0; +} + +static void on_link_packet(const RNS::Bytes& data, const RNS::Packet& packet) { + (void)packet; + Serial.printf("RX LINK BLE: %s\r\n", data.toString().c_str()); +} + +static void on_link_closed(RNS::Link& link) { + (void)link; + Serial.println("LINK CLOSED"); + active_link = {RNS::Type::NONE}; + pending_link = {RNS::Type::NONE}; + link_active = false; + link_attempted = false; +} + +static void on_outbound_link_established(RNS::Link& link) { + active_link = link; + active_link.set_packet_callback(on_link_packet); + active_link.set_link_closed_callback(on_link_closed); + link_active = true; + Serial.println("LINK ACTIVE: initiator link established"); +} + +static void on_inbound_link_established(RNS::Link& link) { + active_link = link; + active_link.set_packet_callback(on_link_packet); + active_link.set_link_closed_callback(on_link_closed); + link_active = true; + link_attempted = true; + Serial.println("RX LINK: inbound link established"); +} + +class LinkAnnounceHandler : public RNS::AnnounceHandler { +public: + LinkAnnounceHandler() : RNS::AnnounceHandler(ANNOUNCE_FILTER) {} + + void received_announce(const RNS::Bytes& destination_hash, + const RNS::Identity& announced_identity, + const RNS::Bytes& app_data) override { + String label = app_data ? String(app_data.toString().c_str()) : String("(no label)"); + if (label == node_label) { + return; + } + if (!announced_identity) { + Serial.printf("RX ANNOUNCE ignored: missing identity for hash=%s\r\n", + destination_hash.toHex().c_str()); + return; + } + + peer_hash = destination_hash; + peer_label = label; + peer_destination = RNS::Destination(announced_identity, + RNS::Type::Destination::OUT, + RNS::Type::Destination::SINGLE, + destination_hash); + have_peer = true; + + Serial.printf("RX ANNOUNCE: label=%s hash=%s\r\n", + peer_label.c_str(), peer_hash.toHex().c_str()); + } +}; + +static RNS::HAnnounceHandler announce_handler(new LinkAnnounceHandler()); + +static void print_config() { + Serial.printf("Node=%s\r\n", node_label.c_str()); + Serial.printf("BLE role=%s service=37145b00-442d-4a94-917f-8f42c5da28e3\r\n", + ble_impl ? ble_impl->role_name() : "?"); +} + +static void send_announce() { + if (!inbound_destination) { + return; + } + Serial.printf("TX ANNOUNCE: %s\r\n", node_label.c_str()); + inbound_destination.announce(RNS::bytesFromString(node_label.c_str())); +} + +static void maybe_open_link() { + if (!have_peer || link_active || link_attempted || !peer_destination) { + return; + } + if (!should_initiate_link_to(peer_label)) { + return; + } + + Serial.printf("TX LINKREQUEST: opening link to %s\r\n", peer_label.c_str()); + pending_link = RNS::Link(peer_destination); + pending_link.set_packet_callback(on_link_packet); + pending_link.set_link_established_callback(on_outbound_link_established); + pending_link.set_link_closed_callback(on_link_closed); + link_attempted = true; +} + +static void setup_reticulum() { + microStore::FileSystem filesystem{microStore::Adapters::UniversalFileSystem()}; + filesystem.init(); + RNS::Utilities::OS::register_filesystem(filesystem); + + ble_impl = new TBeamSupremeBleInterface(node_label); + ble_interface = ble_impl; + ble_interface.mode(RNS::Type::Interface::MODE_GATEWAY); + RNS::Transport::register_interface(ble_interface); + ble_interface.start(); + + reticulum = RNS::Reticulum(); + reticulum.transport_enabled(false); + reticulum.probe_destination_enabled(false); + reticulum.start(); + + local_identity = RNS::Identity(); + inbound_destination = RNS::Destination(local_identity, + RNS::Type::Destination::IN, + RNS::Type::Destination::SINGLE, + APP_NAME, + APP_ASPECT); + inbound_destination.set_link_established_callback(on_inbound_link_established); + inbound_destination.set_proof_strategy(RNS::Type::Destination::PROVE_NONE); + + RNS::Transport::register_announce_handler(announce_handler); + + Serial.printf("Local SINGLE destination: %s\r\n", + inbound_destination.hash().toHex().c_str()); +} + +void setup() { + Serial.begin(115200); + while (!Serial && millis() < 5000) { + delay(100); + } + delay(250); + + Serial.println(); + RNS::loglevel(RNS::LOG_NOTICE); + node_label = default_node_label(); + setup_reticulum(); + Serial.println("Exercise 304: microReticulum BLE dual-role Link ping-pong"); + print_config(); + Serial.println("microReticulum ready"); +} + +void loop() { + reticulum.loop(); + + static uint32_t next_announce_ms = 0; + static uint32_t next_link_tx_ms = 0; + static uint32_t next_wait_log_ms = 0; + static uint32_t iter = 0; + uint32_t now = millis(); + + if (ble_impl && !ble_impl->connected()) { + if (next_wait_log_ms == 0 || (int32_t)(now - next_wait_log_ms) >= 0) { + next_wait_log_ms = now + 10000; + Serial.printf("BLE %s waiting for peer\r\n", ble_impl->role_name()); + } + delay(5); + return; + } + + if (next_announce_ms == 0) { + uint32_t offset = 700 + ((uint32_t)node_label.charAt(node_label.length() - 1) % 5) * 400; + next_announce_ms = now + offset; + } + if (!link_active && (int32_t)(now - next_announce_ms) >= 0) { + next_announce_ms = now + 15000; + send_announce(); + } + + maybe_open_link(); + + if (link_active && next_link_tx_ms == 0) { + uint32_t offset = should_initiate_link_to(peer_label) ? 1200 : 2400; + next_link_tx_ms = now + offset; + } + if (link_active && (int32_t)(now - next_link_tx_ms) >= 0) { + next_link_tx_ms = now + 3000; + + String message = node_label + " -> " + peer_label + " iter=" + String(iter++); + Serial.printf("TX LINK BLE: %s\r\n", message.c_str()); + RNS::Packet(active_link, RNS::bytesFromString(message.c_str())).send(); + } + + delay(5); +} + +int _write(int file, char* ptr, int len) { + (void)file; + int wrote = Serial.write(ptr, len); + Serial.flush(); + return wrote; +} diff --git a/img/20260519_135748_Tue.png b/img/20260519_135748_Tue.png new file mode 100644 index 0000000000000000000000000000000000000000..70aadbd5a0bc60cab9402751d7266ceae847abd3 GIT binary patch literal 326403 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%0Dew8}< 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

Grk0e#R_G?~uzN$)kcnxpH%<&&8(wXUSL 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

{ z%Cm~)Bl5+{S#0!sSjf;4o8ppido*}*<+ORQj1(d>VsQ1#*56kfVvVAWXIGL-OH2Eg zS5#CYhU!-!#F&Wi2;83^!#YC~q4fa4c3ePCPu}AvuK<5WYKGOIbcc2ztBiD_`Bi44 z>)rGDA6(c_Q;^Hkt?m zA3(okP(8Eod7ip)*f6gidffG+`lD?(-=RLph9L3NBr=&MS!fH`3q9kN*R4X!8Qqgk zSTZ|(XK21gXBptl_ONOovMETd@>%+xtTg1I=>3Sn0RYv-=R<@eOn&HduI{8j1`NdQ zC&vWH=f|S&CxB}@>M}5a{TIHLi~~n?Lm8)~$tsojkkCBD1E9}LvZ!gRG|Gl(VTb-8 zWQc_ucy(%p4zdgixd~dg(rL4#CQN}Mrv2@_gTi0T@emF~e*P9lHH0OK1RMz2hzTe5 zZWG0O!4MKsnh;}bB&DvJi;o0o^YRfe$bX(qfDr3RW9d1-;Bp;!dmPxaiE`MVL|RlP zYc;Xz7;!95*rk)-S_r26%e=5*ra>X?VS!x)QZpMD4IGn6_oH*R=lQ*Q%KyvF4;2z2 zIM=9TxeVs6(+Ln2My!n{8T}b1oQadX{P9X>S%BSjE(F+{o~9Z?{d->6ZM&so{*!jdWOydpqhq#U7(qM;%M?Jm><3-0IgAQ^!C5rS=zcp%A6wOjC~b z9@b>ME`zPoKRC=T&Yw3~l9Nd#E~{7i6PbYvfTb2V4nQECCl&A$?cfQ z{zv^i>qk|aqiWmpt%Ma*A*K;|w$GECM0Sc1Ul+R~h-DW|!h?`dC<1^%)+O?czxzP( zw)LRezRR-4)P%lh^MO!S@Mf=n7X4KhGA_XC%ThA*-N#PS#VlNro5xl_$k~;Hm%eC%vqi+vR?^~anhS7>YVUym};P63*msnNeE)C!UvL)!Dnu6%EljC(Pr?2Om z*8h92R|O!1=%vbfr$VE!kdY4Qi=&B95-7*g*iFca#d@%Vrtk*}uI3yhl375F-}M#t zy=qQku&;`7^AOAkXb@Irem+zNPe+F0zI|}uutVRb2MDxIP1{(BK_&OGpfUmi0<9NG zVu17#b6Y2M$MZ>iI)m!OWj;~}Up zeXguTVH6k7q6Bt;4Wm=|(mX`wsLiu)hnZOV8E08TZ;PFU1%y%)>hb=aq%TNsQDU>t zq0-Vi9ZUsgjI*z?5<|HHxukcz-JO5#oJC(LHsv%ujE#J&#`J`r5H0HGh6uV6L|BSu zoWP%T0WXO{E?-sY{Y1VgMxHH4W=a0$+6)Jrr_KpZQkCK^yu3>iQHhuG0?`o`a8A8hvN+LdBAmD2E}9bn#Av5ZBh1t zOGIK$j^Et+R*ww}KElP*e`aE%eNNVPeReG-jV)4|XC2x@2-ZE3UFSIs#de{;a=)E>%EQd2yZhSdH!| zU*Ej{)+f+ZzXTFZBY!a4;)2?9-rcIMU$6N&c;8zTT9GPbi{R=8Z+`yCmLbhdW>TPc z&X0RAmAm3Novzu#vvn?~(jD<@&Sloxq4BjqlH@t(QiPwqDjpywVm<6;ML2;@ zUu0}lR53ot&9@7jM%BlmEIu(yTESq=jx@T)+}#ZOENg&H?Uf+S0w@twD7no6uTJ&s zH=2OjdgHng)=mH*ubgj3a|7-gO*-#uj$GAD#aW@(jX-vHz8ohtSnCd03j52arFtR( zT=l4%0<>jI97pWE@%K~HugAtu!1g*^)ivh#8KDJ`(J;`WDr`M3(#_lD^c%({7=(FeE`A23Z}j`&xYh^ z5TPd~l5Bq8dS&FdgO9?;M{vh$Yq>nh0=za1fKbN9T69O6zPF-X+wuIhI`8?5V=8st zq3BuBTY)m;xOtxwComK&r_%RBY|DI8#^`)NVgj({qt6StZF6hfK;pzrSJ|=O$$-4P z8oyN-=fVr*H6IC*^Tf71D;fsJ5?6+3bF!J;&-)ZZm1Qp`qo#j!v~RJ}RVi1}V6H&i zsk^_~a+naMR_Zh$hRR<}4qrEJe^{(9(RNm|ua?x!6Oq%p}H!`1#Y?JfaIAPkeZgE}l<| zJvdcHz+`F1rGRpeR4ycsNN!RaI>Kp~6AoPM(*>=B7+OxbP(m>9O#r#qBH7d} z8?$mc!C-uvTa%IOM&H8$E4NLpU;2Or2M^5RDyF3gj{J!+uQbJg3>N7d=DQg{md59hAlc-vKhst1qU+|(2E3aB##TGcw_&K zjQWc#Mm@wiOo+yb2G+AWy3SvPK=Yo2^$1ma=8p}^mjq6u5>C^k;h0GRg}-6S+%MaL zx3_7_n-|$o+zboy^5UQPoNBcjwT?L>p%d-KQb0)u%MyB>&g*CS0nHn1(eX+dvmzIi@m33!j_SO-e)ipP6SScSXb0Nq0%g-FEiOS;P9QyJIjcc7TpwCqmbbZa59_;q z>?2Oj_X?v%RN*$qPXHF;wD-gl4IugozN}LTL=28xM+1YnhFd@<-vfLzqf1H}47l!~ zq@=?kaD`?2ui9AZF6J^jdDrT5;N1!~0{q2`$Wbd``jE+mEa9M!!_0bC$k>h|J9W_T z1oVDTAn)0#d`{H~7}VK|FR*M;5x%hgYA6!--aV2`Mn=Ya_o^YwkB&`irm>1;z%>}m z{d5x}Mn}~_mBn9zmd|P%s^*Br`t-)++kHgWU0!$-0umz6#oO6I+Sv+Y<8Zvz%xJDZ zF;iO~ypAl%*=|rG;BZeiY}y*Pfwo|9ZFL(eZ_lLoIZw^FUB7%PApoaJ_Vr< z{`AzraP!xvE$19NEXJ%=(s+xbcOPsp5}~gm@A(IyWEr%c^MLf`YBefH2E)O@IX`K3 zY&=+ddA^+#2M8o=rHO*t8G3ram)q@_czJbWyx#SDJQ$4Ld$J?`28cNxa&RmGiESx` z-eZ=E|B8`f^^(E##{<6~aY~bPmW5mAmEiar2l`gUBY&b8MRfc^yHr$GMH+QA0bxM+ zw{P0|@5ZU7Ei^SXrM-KZB*ulb>=amL?1ez&hr{83C=8z~F3-yR42c3aQqX(@C<>g6 z2hVjO0rK)Yza}6YE{>{YQSsz43=Amc=Ym&qr*Bv#vH7m7wi?5)fAo!il+WpR;4`t0 z0MB;YJapm4VqLUQN#m**FUtxyz)9jc#UGu#9^~GO6=K0RNw>BJ*<|6~e=ALaicYL%}2)YeU zR}`xxfZ#dhuC2pLg@-J$^paLejAx~e=4*x<$1Bs#k$)5$=oY>(lSdv*Yr=3P@o$lh{@(trsQv64xuF5`Vjw z8w|?Fs#xWJO&R-8$Mp>YWW?$HxGey*bD$I8%DdFw8%0&KHC3wMW`H+6J#C$DRUgBc zIZ*53;-aJ>6+@y8qy}VUE0fhQl@=rJj0nGPN;b+aS}fb2smz(eW4ip!4Tbl;pES%n z;9NIGGqiF zir=S~<8E{^M2f0v?*YMlTfCMgZC1?`&IFTWFsi_Whwi)-e)fWlk%R4l>@!}x40-$q zOd1I#_x2=cS=J^)BNcmA@3RgJRhiykMIu8PvGQM=u$esYTc-l}QApjeWdR6$ zb1uuVh51!4s4sS#KdR>PMgs_AxpG!yIp)XQn`Qj`eSMxSyxYSqN5w=vc3vi?ckiBf zI{}?Hi>|CS5ICoBH0$h?M*i_H-)tJWCY0#zK)sf=d!ynymF{ylTny+;bo%>WCaUQJ z_glX`+0Q#a>G=*F7OL)a?f|3rGkSB7!YBU=G$JPR{GX&&yy*NRD7C-QMHqf@$4USA zvYr49^O*2ajVaZCpM|&8XbBoyj+O_BANqF4Z$M*|i$;)$)mqFlM~JX9570xP>cy+f z4oH3=q?g7&pu@n8b{WQl z?hDp2jV8-pHkB2Dn40=&FLdQEb^rc(WN;*B#^3P!aFegX3wmGou}vO!eUJM)0a|R% z0)>1MSTbY0JeAYipwCe=QkieIQOH~h#R1c!p4LIT6mA_-o%jYtu+zzDl^?;Leryjb zI7yLYOMERD_1B=(zid4d06hUI?Lv-gyG47iMn?=mvz3@Khsqm+lAJv34?d=Q>^J>~ z5Vl?y`7FR^wH`-`dYx0-FSKP{+iZfpl+8us73S3+6xjG{(lUv-=T-EZ4oBN*f2m+b z#%Xi8A}ujZZI zf1R9L2p|~&C%GB-tvt*jRyB}fT^ggJVp+vFaC*ibLWfw|8FK+!C~74coj=;mn}Rx` zCNf&1bNw_yH$HCAOo0Lb`usd@AtpSLCh4gz<0y9k3G@5BU@)ahP}}7|CD=YK!Th5< zDeS*5M2m}rn3#AwUf-Y~2l3KQ&i&BIrPL!x)uJU{{?~L1>ls)F3a5_sQ?q(eUOZw* z0)QmJZ1oQfpyOh|7b!+Yo{3%OGIC=+(F@Prp||;lv%N~Vv)n89qE^z6u`rC6-{JZa%;rGKqDigU`7E%UY;kt z<8b@wD)NAiIHcXTif5S9mMmgi7|-Fg6BKY558wDnb@TIzGJl*S}bQ7zZ-LcM8)`WLJdGTJ_ zh5v`8-6)w`Sv{-wc#U(2>)dPrTHS><&`xRRHbQC{V1$RArIuI8lV#L;N%F0FfODuo zUG=d9T)o<*rgGL`Wo?a_KIfy>q}#Le?{0Wqco9DYW5Jdw$(*TZ{PZTL()1tf0OB$I z(9lR>zAoAQZ4a92;qb2A4$FF`$l$*QHUHkiSp<_3Nia0@>%$CUqkHOUNh>R$6-?^f znDY03nz!>;iB0^7n=L$NEp zDK~*()x0p&l0s%2W{mI@YXG2wG;SQih$BKvfGz_j(SUdX`solA5GdT#*o)Ea^i}`Y zkJW-ex?Mq&M@UZ|@LS*j!}wRCf<9k7g#Y3Z`?Gx6%Ofmw9iT^2d*w?asweu!5MGR$ za+Upbj({79L?6Q=SE7g~9wWmS0DiRNc%W|_1yQkXGBRNNMON5tTfTKc%w6@bRox>+ zYp6S{$S&K>gU%yoUyYV!&MqZP*fj<=r{H5y2Hicdhw6^=Bt?Dqg#aEy7&i!WOUCTf zgr_h=WMn4Y!EGpupC%zwKdT2i>r29W@wvKz?K~!HlW~Bgq!39{Xw_g5O(FP1{#L)N3hbIQZg^5J2TX?;T{9U4 zXYIi&HQj-MVW5E_rlE;|=wsKGpbhrFY<(ebbl0Ea6P=!3Szlp7Fsm1lqUfbMH_`%X z#=;&8miej`Prw1QgM`}0aFyu*JH_7zaWf1;R~5ooW(ZjgA}9@Ntg_4y^X zP`y;s!2B%iIyohvwZ?{N&iW8h>O!d^!1*}O5Ic@uhvuNGVOy~j+y5zoBeyNbkFx=IQuY6TD$Y~e3{V=OUCA=qEOEJZ}R3=>q|%HfZ@m_^ds7IBeJn^8j4_$L9g!% z>N4%JOiGaZDB_%oA2Er646?K?&I~RoRjkGeep~pEs&`_tXBJJiQ(O}>(=iuo~VZ)THi958^3jpp4Rv}(IIsnw710F>9yo2~h%3tM%FWb&9 zwm9Ovj&|x_)ZeT>lYHp8;7%F6Hfpx)*k0|uiu2BIZIh2x6x=VlC4}D^PgN}U36?h6 z9dDS~wik{PDgg5T*~)U%RrM}=n{iztO+|a#mu0{rI$9gD1TRN+_Ro)xT?<(^oTo?g z$&OF^T8@5Xt)2i&NqLEz)43<%_m9@97pIJ0w3zsRIDB%k-zD*P=*5W5LXfU84TJOT zV&wZ<@H5|ih^DNvS;nB?PS+@%)QD4TQ|zq(+R2vFli9NCMIZkctq5ncz9o-lmQ<;U zqenFDC2Q?s7lgvM-(?_2M~+2>ySaiekLRDM=idVg7X}r$0nA$}=xCcO$)~Q6?)D+q zUNqW2yjxKqKj$=T!BP@)#~#lVdi~&!=Xb=a@6~wd1L}~k*;vMY2ckfL;x#cts35|! zot7KW`_)3_+-EYkwm8UrU2y((T)RHuEcaFDCoc6=;?}|(C-7%dDT)2&DB!(Am42F2 zgG+M9p4Hy3R$9sU*ud_S*Wy*8_6FZR@uQVDgtlFK^O|T%W!BlN+Rl@WNbYg!*S(G^ zhT>GK5wx0o6{6uvqlxGWLIpGm07H|(?5i6sUnIUCi*pF{Pn?7`89G3e$_~@@YSt_L zE>FOMKGLmNTYKqP@N69y=+@k80kRPDMRcuP+~#`;c`KlZ7jHS5Y{Wmh8`#d`02Z|Z zM~3Lla-Ht<=hxzNVji!4_QMTa|LPq7nXZ|us$cMU1Vrc-pLe930)?#J>8x3G^~M5D zef^NLW81YyhS|i#1T+0D)R8Ps;zY!->GXG0QSMr5mgB4aydaAiPZ3%O8(Sr~_Tp63 zl-zU?m*3hc#G3!Cw0m=rQRTMn%T&-8!^F&~9|FP?9A zO7FJwi^cpmH!rjQ*^N)WSu>!8Q_C6xjKwh~Aa=q3CL`DXDyWaa50cEidhNOJaSZGH zv{0&XeU}%-e)jX@Z+kS3ZDCW(qHNPsWd_u?t~;l8XTMuLK_B;kw~jc9bWu(uW5?Ki zm`BWW^Fe0KGc~nSNBGgVTGH~u%Ukwm&Cg#0LP}G90VR8&JW;$wh6zu9TdU82SaL+W z^kNai6#PYcobZpHpe`RG_pm%I>39_0hj7Rbb?IbxbJk*FJTj9Fj9=D-;Qp_G+uz?5 z#71*=jicpE@)-06$UtwPQatAj&EFR_;KS2^zdh?^FWcV%wG<1hXc)Mw@~`bS4-5~Y znShbA2A(_6yN0y3b~my|<&FE*8z2p~0qqKgwp)7jq9jmqPz>i{cGNGZtzHvKq36k7 zp2YZga4JPbwd_x*+(|DiF5+TiSF0507q5=QfH$V=`sg|!NV8Dk$wQ1qepDDUTo_Ke zgC7h3&a&u^c6qwqlV)7#3FPs=S~52It@x~^fg94UI0|T*5k7H}qCDLQDzPmys6$xg z`n(Me4vrk5L=PhF3U~giBdesWyaZ6emaDI&oQ9t{kw>Wd^|n1avf;ojMArYx`SIyo zKtOS?rOplrUlTwD>(I3N9F&o>^^R6++ta`xHSiplB6LRT`Z(3?&(DN7pz{R%U-}sb zDvTg$#$(UuN%evrn<|h|v3B=%|0YD=zkJkA8Q!(^_i*uYuj+iS-3y#es&MBohZ@%&IPJiv?~{Jc z+u7AuvnOZ;{4uDw2(Jcyvh2 zN(?81C+FE1QlQ&c+pm4$3FUA#1zvmEK;^;v=VB`=Hg@@Ynh|72)4QLDHHz6R*DKT8 zeTzQLxAaGu>5uJcK%tIL&K?@%ZtKYLoa?L^eS+Cx==ru#r}X*p?rhxI*&E4s`%IUF zv`|;$3Iqwu{78xtNF)c~-dW9tz? z{XDPOiiJPWOiwquvU9gx@d5HE06c(s1=XbG5TmGQ20KGQ%#@K|*bN#c%-0{H9!k1s zUhilMPm=o+dU-o@E0qEC9`XJnbQLT!su%Vf`Ep=%sn#7yTRajG$84mMr&Ia^(hI!j zlRATP^vu`SNf;;E-#M(T9L(w;Hj-1 z8uBpk-yM%-mqx(<4gAO%WlCc0zWXieF4p|=yIiWArE*zK*w2=_xe9?#8TN_ph>sQM zI=(V9YXmNEC_n3bgr9i-T?>k!zoWF#w|Y+&=OOqfPU{q=s1m@`mSz&MQ|24ZiB7Ao`yG^Bh-%MF{o+^@D!0PYE@`oY|+8(&K1bn?Vq^x;Rx)fsGD^&cl zAZv8G))fp`yoig7D+1LAuotR&)9L%X!k`m(G?s-;>>_=o)bdio6u1EtywehVb`uyvinK~9Rv8D+h;y}oNYR)14Ui+m(qaWC9{Ij0h zjKbV;U}~p}{5yas@@^(+Y<#a_=N%tc%@s`wy1q=YkxjK&8_MqN#$J_m%k{mm0fAb> z63|Lm46*NG^s-XY#(b%6@wE)vg@Q!eouSg5RQ=SqCqI4hB7#M}KQZ@@hv zxq03JAk@7t_gZAVy~Tk3Wc`S{Jug7Y)fdbi7%-<2%PbGODOcA(8nw{w{05vH(55aD zbbQ;j$g^(MfnqtFK5|hfRqZmZMenmhEYb689e9FNTHi<*y>XxgSPo~VR2=MR{ch4z zvQ0a{^L>xL>)N0FrEI&p;s+;yCGk-r2(cBRKq$$(GwXQ1v;Oz4@LWC74V&Fr%K%=1 zAVOa=Fd>I4(-AtpsRxm-o~HCaRXthth>oETSp-T`y`QS8=BTa%So>1P)k! zT%VyC`(9wz*-hc>*v%CaX9+nl^71m(etP~%A5<1WKzJU^mQpPU6|7*M`wGv{4*-_R`2 zP3Vd^x@q1+vHaFcv)p&IocX=%@&L0?^(HepIXTjz+}4+w`nKdEZslk`-_IwN%c#3| z!T-}fJ&D7W`tc=A`EAJ>JIVRYCg{6PEd#Fv76btM%r?ZD@|Qh)6qS{q)^BZ#H&70+ zExR{PH(H3}T5G7sU>On({KxA>Gy#mg5c(ZF3jZ8ofH5frbWO9p5P zKxu%dO=3`T6?~9}dnbjVDTVr+I#rtVD-`pToORJ=nPOR=gqa znS%G}pZi2OPY5yY^;d^ZF22vpW2}7wpl;y1^?TZRG$AKPjfZNbAc`U4OH5Y|q0=gP z+R*`f?%{f&8p`%;eVpLJEz!X_%CjO3E8uUkva)iAk{xf4vmj3%isPgW zDghDB=J!%|=MVHHKs(0L?)bCcvHjX;l}a848?SIQW(zn{17)1XO?Z|=V^~5#IXE$T zF@6^hfoBCf@<1vxg26Y?u-WryIN6cq-E0ZC%YeYc?KQpY+j-xB_n712gyGK9%xj|) zlZBKk_`nC$S75WApBL4Y>9@rILQiV*P05;6;!!EGt}i0Sdw}5bp(C=rNZvt z2hL&%@BGt;hRSe8W8s?d}cuQO6kySCeUfJs+`S; z^``Zga>_2y=2zRE^Z6UpWX?CA?$2yFqO8VdgYaZA`*~+ICVO#)d(oQ3@V)%Ek~8NW z{qQ(ioezt()i)|wR_ITFEAUM?a35m&Q+%2RwDJJk7FY3#sdrqE0U%}Nw7P?TG6M8U zj)6@GpaX`-+++VEhq5u*EPR(paGO0?z*l|59mko;@?QWbiK$!^p7?G+kCP4b?;5OqgP89qO%wN3Y<}fE zy!Jk3>s@8qz)j4KSM{~O2NMnJN0g&7%ix>KLEzn+E}*I7-)^%hpv^)S3sc`F`0Hck3e`5nhuDh}ZW}}leiBhz70s#C{8r!=fF9VlY&m zRSdnWu!h75v=sRME!Gy61 zt_)*<`3NN8I+lj^7R$z&;(HAt{IfX&`|yId1K!3uw+SQ07T4=*>2}ubXNM})2)j)G z^Y2p>zKJ&-*yF0Gg5k#bcwVcZ&2YnyP%k z0d|gnf%OWv_tFjyT-XN(me+4ss?7;?=G)E8%z)V#^yvItIPasFWP7g3*iZ)ikh5lb zyI+XLKbN7iSY&BnRiMHc8v_ukBj#m5=N77866%z|Q&KY4?AWfnZu;x$yzKl2Q{8bo zxai%RU|>|p=lY{eQ))3L8-X0F>+3OHKmYF(ImtcXGe}4{+!|Qe{~^9dw2x^Wu-kYS zm&jlb(=?Xk`oDgCHGN19>N%cf&pn*ir)0)O72gsu+ZXO=#s*wutKZD216J}Q8mxxq zySwFTKof%Rw1tHIDKG>CZBvlV{K0@qGuwcf+Rbe#CzQa|N6*I^oC|D|o{*d?$5f(_ zO1kB^lpCrmLdD7G@)=^0| zXT^2{qoeFnQn|oRFEL-Xd}YUT0eBVo=ew?ttepW8SC;VYaOra2+R9mR%ehFK+_yyaeCyXbi0o z^wT3>O^bLLPIdj@d#>Gs=lTft+(Rg{Fac2bv^KP~v_uU4tbS@5cYkdDL|w`^J$ugJ zPVf)xCpz{{T}RWK&zeQX$AXqH$5Uj(pMz`+ho`KEZ05ZFR%{wp9lF(iERh_aoeZog z{ri=l>s*?!;ZO^`GT+$iqxT90s3``xtUP~TSa>)YCzUL^4yquR%~jpx19ZH`C7eQE znqSLQco>7juHYDcp{rkz?>ia=2tTk^l!ML(G@OG92~dc=yu2)op2yXjd%~7=0Wntp zv;9CTp+w;5de{09Z^6%I!_2R1?LhQOoMTMAxYpjSn39~_4LGW`_bq1k*Gm-r6 zF1ejtVtyBr(%}v0yw^MD%I(;8BQ_dG)AzW39*8*EIRmikwBkbJS=rf>5;FAEWlA<~ zs0qL@w1ENMu0bIObVgRu#tY012qRWu6)f??SPhKmK12zSfRCn&bPf0_<&<0+4YsG7 z(?T!_f#~NcH$|UVcnbX03J^kDExp%h*qwm`_l-y2G@=q*7ux*DABc9<5t7qvG7BP~ zW2R6)WZ?~dj+yI!L+#jdqMzZk%be>4ELP&pc}Nk|;m!uGzAY_)cQlkCoHjSt!iV$5 zU6h!whEKK~^B$@}xf#EQw*31;9gENkgcJZnLCp^JQqp0VOhOx23d*tKA`R&cuOdThcaSg zA<>34u`#q=T#u$({e-!gaGE#rYzo35Y~G3sNpJImOgnD;Fe6Lp)NEU4%*`)}+=tz` zql2;1Em9B&Uor}^J6?wXe$iwUs1Xw_@VYv9@Vb{M*{9i--RS<0uD5`ya{b!94HQsN zI+PL+5Ky{P0Rd?N5ox5m8x{s#0@59VBGO0-N_R?kgLJcC0pDEz_q^wv@qO>d81CU7 zdjo5&=Xvh?o^$@L>zbi4ferw8M@DQ-U0MBGOqas8s@-!fB{fyi%S*W2Vkocd2Ml=! z>&~l;I~ajl%4`m)I?PE51W7CpPmEl#&S;Vt@h?+y%LSQT;R!6&Kfh?An1f-`@hAkoZ+I zbS;#A_4@1AUV{-vsO@_qiFY<992dIz7Vcs^^G}w+8bQ$SlNMas)+crBSo-4=QUW4P zBvDWqwT(Erh!+ir37Y{_6s(;pt#)QV9Tsmt^zI;+U{1P}=|%5gaMOIy^Er=MFZ@Lk z*V&%1Id1iRqU7E}Mkh-;=$RKb}r>uoQ= zz@XQpCBwRM(_f{SGdU(j3JA)udpwJ<6BW6&6QCVfjwpq~WpBzxB^+&j=F|*h$>OA2 z2ct(rXufe<4^&Pbzl6H8C$T*{h+2Kr#Q1r2R@hfA)7~7-K?Y)%B+vKM1aL#csZ7IpUYkK4 z^H_jGksPmKEfvoDrq|m zF4iO$As{bQh&X~pnqkH(!M8)b5LbkuFj%=#cUFaLxvyD&B<+8<#@};H?Y(yCYm$GA0 zvsAO(P~hzrMR#Xm-MtR}dp0O2anX*gE6LuxmWY#7-1>_Ke?0{DLwhXgN_d3y=+Enq zPS-cae}$l@TF{5M^CfqG!?9PR^W;%*gF?mR3+QnmeTH7dvTFMpkWG4CUdQi7WUr)Q z9Z$Q08D)hbm{9G{o*#3;Auez!V)2Z0>x|e2o_e}q+9$cuJ*3*=Ki;&yy7#NmBb$$G}d0UBrTm5Y+R6slj?aSfS1gx$9gSI*wiIX z$h{XLd6)D=QXC?UQEJN%C5a@tC3v_LG$Pv_#|DgXsJO9ex}T>AIE-AaE# zDvKp`18j*LnI6JaubybNFj6bAj?^&)H(Mv(s%@NOay(Z*r0&7eoboyyTRB+wG&%<- zf(LSOj~9-#Y#&0070Mp=jenN$Jf26gYnQLTDKa($DQliZc4)-l*L{R~vws)0-)R-{ z7t1YkK|}L$4vSF_t_FFK+=)L zi-J?C-NNBWX@S~Oz->Y2OfU)r#-ew-weK*HPQEcri9Rht=2T3VQJeo_Q}H+A8dAW$ zlH$qBXjQwKP5u-YD;KR@$KiL~Tl5^Fk?~*6ZUKcra?;MSFA&vf(XJ2hpW!*l}#Op3Z#bJSk5`C}aLD}3x3f-?ae;vlFwg!5){bh`rIq&VDGm4`=fzk7NzqalV$ zKo@Dqpqljc&181Vs>Q;BAvnG4$+>7M;>b9a{4Af`h>-|$0^0;@GbKyf5q1ICPa)D4 zX*Q5OZ~BG&2gk*bhD7jBreF{}+Z&A7JP^S6b8sh)EKaWIKQ`m*Wi~^>tE*-p!R|uc zxb431qvBaA7i=og5n_t4fn(o4ua z0Z-~36!d#Ti|tDtK7I=oX(L?oOzL$)`O;B zVeOH{mzjy%Laxj3|ItD-3B7xQ|Kc3FC6|1(+1Yji4{LwDo*2&cy3r!#zooAEyEPGaKwghuH3i8kG_7ng$7%tF~9(kgJrmV#ZbUHA830qS35FCV%uk*X2p)y-Ct%W5Q3-j|Q_T3hO z&UHo4BDDCC4TpNUF4nr#m-oPpY@x88x72u@L{eojvb7_YAz94z4v6_mU8%$U0;oMc zfmUIQg_kuAP;9S*IZT}U98tLU`TWnlKrpjEN_W>$H{cFaUIz+!+YJe~!g22Xf|~I4 z0?KA2sS^VrpD~@W4x6}qMJ8e7>duGi8XR7uJoF6o%8UCPu3Or=UdWih{i=`m)9e*QphV_vSIn=`bQ8yy!X4Q=dqJ2QoZ=NJC#Vv{Jfk>h%XlZ`>8HG5f7s0d_% zUGn*Yr7#G<`B#7cRzfK!c^v2a%_{NV_m6WFLOqvtUlITiNDSjNq}6C8u|{&z=bQFK zH`QIXdL#oCWH~WZp7Duu68$waCjI#7wjR+#kdvsWUAqc*#+*Yn-a~A4b!FlhbJfSj zqiAG2pxb2O&)IhC%JJ?VOW|-CzcK$vQRF8@FQ0gVZ;3elHsBBf%-zg?-v8(q5u1vn_;|97C)io9^@gt0 zG`<^IchMkjiM#i5ohZWqR%;dux=eAr1CjzzRYcVH z?9>y-bv9R;ras_!6a)v1<({NoFz2^?lV3zu?f>95&8@H1{@v!%W$nvc$|ZE;4UBum zC#KOcDc#@M>aCtvT?Onw>xZ-N_e|Mn256;g`I@r|4IeI&kj$A){8V82UIG9vwyhI4 za?IT=MHeIBzMjg1z-#{LgnifAqCQFoKIc~33vo~(`tZ{!>(hS65;tQ^M_vtHu1>?9*804VLx1#7X^KKa` z=d)*oH`fOcK5})*1o}4x#$qD}c&|}nOG$-wnFd+@p_Iqk3Hcpx)oy^$DN*kWC>SLO z`kW{g`afCG_7`(BwMf2=rk9jWS4eWH)YkPmv%U^s*bjs)10x?P?hV`IfRk(tR2@wT zO=2n}%5tzoi{Q2K=f zIPL(8c=NqDNW>r2UDMa6fkQnP#)Ho)Z`9T4HCs$d(?(;YemA)9!=RD4)%&8K=VxBc zd16k<`q{sbUUI?34niBTfnE3ig-zX0Vmmn76bG!^V&A^yKhmTkXoMR;MAAX&^ zdlIsKJ7l$b4VxEdACXI&ywP1TV>or17O_4FGo!uk5xumsBg;gY0=Ac_K6|pM?*G~y zCM+Gi6rC>e9K9_5odU(27m?q^3U2&uGGg*Rx}p~BfjM8(*TEZz39F4UqrlpD((`x< zEnvZ?7DINjRia9EoCQ3O|1}4H0T=Eg=`AY9kw-PDi2ID4foDo{l7-twVZDgMeI$%K z_Xa}PlHDX2+v=yVjRe}mw@>prWnZZ><-PEED*B!tpOElFCez~5N@QG|9ITuEHp+!Q zlo@j8n2CAwcTccSLShX591w?O1~QQpKH^pMi9g66bA&m_nSIK-OI2ic9`O;Od3{dM z;wkL|IHo~Ej>EtZSslqEAj&9+7~&D-arcJXaVU@`eeK?RrgB9wtPFF^a?&lKu9d#wmjc<@?IRR+jpX+2_R&8E0F7rsq1Zx;z+Ztm`LC= zUq*OJi>HfsaaH$;-CxGk>PeQnh=!9wA#G za|&=01ccD@S_=z|Wq-H0OsSY&g!WY|QdZ%y-iO+f-5ZtgziL*yp=WjayYG=@g69W) zqPc_ZF#lZ`Ib28Yv|IN?PUDU0&kAZ@b0etkBhF%mSTuGvxRhWZ{N37$_S{SD5See~ zwLbh!)yC>_`hamp0m(4GUITMI)_A@+biFWtW53h;f;OcdA#`cN*ca4cE6`4x%gLyz zprWkoo0)g=-Uk3@v3g&9cC7fwPC%0c0sTI^)ULtcqGm_2zX_b*P!@N)ZWRDddk@Txy5#o)5>fTxYKs9WU?CXPO0+0`I?c#+G;+sScQPn zglz})z_N6o&!Q^{79tQ1x7Lgclc6o+E~ZDM`2x3|5$J?ht*lAw!l8u?&OiPf&5 ziDKF->piX4DAHmfE9l$n+I}VjeDs+ zCajb~dTpy5Z=n~8y-Dpjl2T?d6s#L}VEp%xkKL&)M%!iW3w~$4!=Z&u-61cWFh50( z=t_gZV}xc#L9mP{wYs>qYNfy>pVX@qnsY(BD;Dp&59N_h8R zaMEF40qV(}_?7LMp87Ftr_4Pq#gewK9k71=wfHR4$l#2}a~*C_@Qzg$zx|J25?e)e zm-qw-q09z~YS&HinUD!Wx}}Ajz|0Nd`Gt8Ip|Su41nNEh6%}=E@!w!rfOU;3f>Z?$ z_KlqMqAPKoQcxv)Q>}Tz!C}9AsxN^d0s1|Rr;)H^Gwlyape-K);Bdeu(b;e%_l zf6lramcVH;v~K-L%cMIaoSd^(nn?$%_HRsH{{Ha5c0a;$WT4zL;)Uf6T_Feh{(cqh z(enG7z1wYEz2UcGn*K+A#&-I0N5}ZzkO><#3%QA3ttQL$Lp=Ugw7e(Bt5rf|V63*c7NXjbQfWy4pg+`!0H> z2$hkBuC8dK6<~pQdQx1&zVRX-vtESAWcn(^ z_B#=)4}PM@Rw3#qih-V{gQH{r=Z>)2_cZKoeKexyZnW_D8V)oCISF5)`YvGm1mklU zwCEM?pup!~7g&W7k7frnqxGh|!y^UaUaWu+aRVZdIVJ;Y11{$dA|IXlaMu|R79;u_ z@fTAST?qo$eU-!#nlh35&w6pOY@4q0{}+f?+z@2|SM2RvX7h=cPf2O1=C5T>Fwi9# z*NegDgQhU_4)%7lWidWH1uMv&uCY>b?wz($RXmL6cc^>d$DIK1fnMwibgCsMFE4up z0^s1?BBE!{^e^b1J#_QaK}`XGpCh+=*f!*<%zcT|Ge8Ctg9N7(jMZSuHQRP_wB6ep z&Cp+?!3IlNf~X_Ihnp1b|ERW30gmZ~&SqP8Cmk5(gM3O&J?I3Lx6BuX#6CvmTX^9% zGI14vpg$YfK@RKF(7?j&_S`fR7-2(nL&^UE2iN15?{*zCz-|;Yd+33LQ( zw_*auC-0}aONnnLXZ1bzcSUTs1VW7V+4D*snG?z>(qX^*2RyzV@xK zp6G$TTigA@h!xmN7793AqgCI1DdXhUp?ks`+Y)yFdJ!-JoFsq$fnzfA#7h)>sLy-r z!5|^JuMQ^s2J_jnAWANV=&c;ZB$uwu-ei#^_$aS{`Rmi(RMLPWY%Jl6)wf+~LILiM zCXRn@r11Z6-~ZoJNMCRu0G#qEO!hh`xvWNcP-QlhNtYKw^DfZ@gaYebTuA)}Y52Y9 zi}jDk^4S?(!lm7UX9>u{zZvT`fE9hGt14YmqpG_%wS2s|jV{#{02}g1(9gv8lj~1$ zaI8uo%jN?dw(&4PA2;U|j|u1bB3tmU05q;wSSVc7`)s$bF#-?gMB)tbzgdW8w*G}w z%1$^?txlJc+SZ=mNnxu@@46@#J8x>UETmJ;>&~hwf_2Dy`Q4owXY%2JnJtfaaBTQmKyXFw)&NBzGaf`)x1m#87` z#2ovbSummCgEI+W>G&Y;%vp!sH7Y6Y_Iv-S2lIAgf#HX=6BsaOR;g9w4~F{$x<#gC z))LTu%%tyFg%cC*(@#vyd(qL+A$b;+Q@XXOW<(EVfQbQLlFlXvwzAf9`USO6DY3 z`rmj8Q)FO_KxYELxO#cVk{Gn&=4;F$bjSMs70kgqC0i?c9TcjO1lXVAKZ)1;v`*k( zBLvY8aK&hIS7`XLqC}@m_^` zP;}VqQlbfbkaJV=qcdYfhwril_VGL6C2mnJJrozDu|c-_f?DzDXO8%tpw$vD;4 zKIz&@DKn!SeKITKrzQH3P{jA>4YeZhUQwRTgXX>35Np_1^Ly{W9`!S%LrBKL^b`iz zLFgoNUemIcIlHKYn0FJKvi3ylXXGkga}=i>aXmK$)1CDyhc@LqaWBatmVwDP0pSO?S)cD*W5L{DuPB>qXeP6X z!a^1}1=OC7yFoc748XZbLjbiMBtUQgD3|dTLO%R7)Seq}YWU@t13ni&N80?t>xIJ} zhmzHgzjO~|Ae6|+$i$HBCV-hRLfct0P0J#RtF{=+l&ad8iqzIq*XD7;n)qo0oCb^1 z-To!~r@uQKTOTBWIwa7o4+JncSls7?ZPRmT1A?hhq^KMds0?E(x=6@CFhts9PZH;<*U8 zOMS;$PEP1!r?b`blB}>IfFk%Q!e2-T$}w3tu{@oXaWnbxR}CF=d3u*ZZ4Q~qw71qu zs9AAgS^(}=u)_3;2*t+fx~0}^|6((0I$xf!t%7-(G7*?N)de|T9*h0PaikPkwn0a{ zy#n1mFk|RZ;jbs6dnIv+i5=jT9r69rPR*q0F*$5Ks%k;I_1r8Pl(LCGp*8)c+(s&G z`d2)c>k|N>3LLx~9lKUmNcDVVU%eu^qUUqSbC;B*@!`3rFxAiP(LeCRK#cmIyA>m? zH==iC1tL$-(QgIyTW?IdlF5%ycKe>0`;M$=Rl^5!bJ!1cs=Q-#^vt(v7w+^}xiU0L zhjGq0)5X{K2`?@6mwOuB{2GjAg;?LzetZH^87F*(5*=?Ud-bx@dOMO?BN=K%G!@fj zmeOGCc|0w$T$y47_T3t~Uhlx_B$idHMO8^m;_1^r_PrzD?xhhhCyA*LeMenLy~tK9 z(Xt6+C2jiFw6c#+Nvv=LY?;oVr2`l*_w}-1yk<*9wCV2cK?jd6r-$|dJe`F9pw-XqveMcLH5)eoE3=ad)NB@Fo$k^@-o(HA4e(Cq+B$FKU4?lo@vw0TrFt} zi+2AB$lPb+!2RvivJkjj2a_5XcnPXzFbkx{hW^T2&*lF;-6CUk%iTN8n|E8P05{b6 zu%mf}wO)vnX^$iTIgz?nd(ZI-LZyQhW01Ta2S}yEPk~jmd)(lM^ z?FFohQG5xjd1+IwSc?eEg=W2*~x4pHZZG6 zFoE82wWrOq8_~e8E&zKXT0uBaq^_bUZUYnX{?Uy8F@IcL9l=)RIj>+UT$;jPvGDeo zd)Y(~L(MR?B7@X*tI-oofQCpp0|U-bQm4rLuJ)ISgf7>J9a+)$G@E@?b5jc^3^#~> z68Fds=jtI&ami%XU;U_@-z)jDsu&c#!QYbm5%D29pWzV`t9Y!j)bX>HwYB0PS3!;mzal#b%KS#g191fdO`@jO%8~`K+7{>-Yp6g z!IgB)!5rb!9f?pd>qF;z0kgc2ib&z>+`21v8VJ>m&xQG8mbk~b)`fcYqUhEe z^wZix%~dtaJ$OLV!sNIGoGWr;zZbcc)Q;{7P1yb_Pfm_0r~V)2$jlNX|w;=UO zCzef9-s99j7sLy{Q7@+)XU-?R7Q*uN&gdEgbQ)pEC0&}+-SP2-w1any{n+duBglKT zIQ+*P@!iS`QcHc_Kz{T1cKr%WVN93vHSv29*~zOYKOw|m4);Gxp`kxa}Zs zcL>xHiIH^vrFQ-EfdwMT__pxcl3hH$_w}yUv;eNuYo1#%A0c+R2m?Am+q8Mz*x?sI zxaEx8>BrB-GNF|~94P+sI0VAJyzN;GJalqMu5ZvMnl zuy{sYclS`tahVnUh8k^hp}fOcoe|3>@~=VnFd>BXMV3Dj-+H-y-e6njDY3~RYFCYPFWK2%bU>D#D5z>_lTLC8@GLnrm)C2 zQ(v_DtG;9VA~8v%H+$N-(4d`+u9xU_ivDaC=4pnowzv;}Z3cV=os**MM+5TAuy!A{ z`)4wJ&3iw%CH`|Pebgg+T@Va9VOr)z5^t}Fn)0I+HJ`9KLrnPlFmeiNoUfXqmxDp-8n18;O z%PA{-p@5ozRg_;HvT}qb9oC%}Nr?!sFo19k%#;D+mM0TW*>NLbhXdf&-?T;4^5!mf z^B=EkSnu1G;_l=i>V2Tzh>A>T2ehOual2j`uZt8iW$W&h42NXOfbj{b3y+>YIs&E> zVtznP0D?UhtqNsdj&aI*zbK!lqH+%h<5M*7jKDdMR=)`8*G9tcwS$xr+5+N` z1_+5~o&V8TUa+nH4Z^1W{EKvXWhI~>1KO?tg!4ci7Jxn0CJ@&J7mO}KgsT5UZOG?; z8t@x`KDS%2te8MY*n+Bv6v7miwtok(PqfglkLJX1~85aQfKLQrEUVj=9)N@3o5 zDF6y*M_T_2P#72-gu|9-VLj4>sf1?o8575!M%Opm$OQj{SA z;u+fm><8ZKU0!0mnkCuRSER&Nb}6U3C##Hmy0*GRRwf;nyHhUHl5yf5=_KyV&ryhO zTwK*E(--A3=`q}mdMG+npA^|2v)6CyxR*&SFo2ANr&-+GI!J@8?G?{dDSM(S8K4~)^SH9k|vZ1(N zM6o1XKx5N7q#!N5QYaBc&ufc{$>~nI%rbOFO>M_W@mxC}=?gP*4X<)s?#s{;BB}}T z^}P}`@UoA4ry{=i4Hx#UTXxb5ciEmk^P&YV{{|xl5lmNF*YVW4BBFEO%D$-emr$>~ zyvPIGXCoEMa!WWQ3M0`!XUa_$Y&T?M#joUc-grM-z|>~;TqRvi}fLY^!3|j|DZ~|kYX0JC|A2u{I4L0 z(S2%pxsC!iMwJqJvB#PX)rXgp`SdqGTur_goawQtN<;^f5D@QTh;w!bpT1U@FQB)Z z>yjc^C{$$?{=BYHNcc)PIkZb{fa|6C;7{TbrWaf351uqH&@#w^r|knQn@#7VkoSX2 z&!nWHCY{0JMO~uOeC`Ml6rHQsU!pLfRWOq=SX!a2v2wIFS-w6+)qwCozn$xG^Uv&| zWfMp*3r&^G%2GypT{(Joc6N>5l<<{eMfF1`3AE|Zk^iwmeo?V!%X{sd65hzZEqjze ziemB;QXnNA({JPszN7K|L$k1AO3TC)h@-_E$L38d!*b<{?-g0er)sVJi)&2(hQ7BR zJR0ObI(r(9a`_ZsAu2Og@N2jIIU6h$AM z7%BPO;~t|Tg_Nq!=f@hiKF~YPdC|7|Tz>deMDrppn0{;AxF;n-N=@fhVy1820~&qK zDmpVkiaX+9<(8~S{C(&h{k=~&t_Mpr`(Bmhq>G?K2BF~y3ywhNcDdL0{A)IK6!dSu1xcJPjp)n!`Grf%9LTbbE(^5gr6hbFx? z7kufLQ&c_mHeP%Sc9qI%jKTBI)Tf@R)AyeXbG6+hlB!w~Zh$mf^cMn`{G0h`{ws=v zSFi)95V^j}-uSxzJS$SXRP5sUZR1Y0#fB=m_{YyXrnRC<)VG@r9PRa6MK^X|JzF%y zXqyWhtLw92Dg0M_&{491J^4VEHa)|f8G!`Vcc_KMhnUs9NJ5(p=h`wpNEW_XE3cPd z8%XAN`TQ-K(fx?WV$?TYq{f>W6ASy!@I9oQKBWu(Kx!rJ+q z)NLYqpDXbL$Jywww?gML9^Yj)XEsm$RKC50i;?{2oww&$l{HIY?ZL~`R`RgtnHoP1 zPHjvO2;1pcR9Ty2*T?PpPIW4L{JByT=7sGQ%Pb8?_(XW~b)vUV`~k4tQF{LJY*)~W zXUj6}j15Qc6all{(Mkgm^e5Rk&XelI=NHyXikx~3)_G`r>!?yzi1N+=7pJVeJpDtS z8*zi`WLhEYx?6GD%|O2_bgt`KK2T9LT)(f z2>77*;WjsJIG%}2P3@_e@kVzvqd`z`(n{T5Cn0?Wj_T;+sDRJ>$KLm7^Nf|=v|RZF zPPGEXW2G-Gg zrmyEWl|-5=i}m()1MyMS_H@k+4Q_iujJ4qjqHh^yypB^=wvz~RFGt)>cl2LL7d{Xc zPVQ|9H5u*8z@gw?J-UB^_&vNifiy-sfQ#EB-AoKUpIrgC<{^<;(%0G3FDKLrbyJpq zydfkZ0SaNT(rqoOx4&=O<@`MyQf*tkn;|~c9XV7t>DVjMmCPFhexZxOQ70|y=Q6Ug zyB^3oCnV?Hq5LK1Nl^GYE?J^%P;M~J*+L2li3G9j-NnIL1h8?jD}hVx#~Z)xdZd4o zWst54y#fQ_++6bsSDJ9jjYB;$zr&eaS2mA>)gDZ0pC;RYyM*NAPhU6$YurbM^=cre zaDgU?Vl@$|o9xfxfjyvk!}JKr=h8DNkSyrklKXa>`>vSwhr&9t&OsFwB-Q@Z$+o~z z>#o;&#Qn2}VTs&TEDOg=sEhW6K~Q(}BhNUJxbc5^OGHBqzm)DSnA2rfCy*$LVU zrhLu&mp~LvtU1ndBZ7v;WJ#PAOC17vC@4g|;z8P?N+-Ry@kllI>dv!Xs)N;OK=I@G ztIVoiCh>&Lk0>OKk`hYn=X5*76b9=m9Iw_i@1hUld|pzK35@z%r;ZUnxYx#SiE|C=?6Fi zvAK3#U!9K7E7Tqrho?)a^Wbw)x65;F%QdR6x+$P@cQixbM7Km7GanxxuSCyLmzu8J zaj}}}h*!y~Wqs>9RfAQ#Vy}Vm@~bF!?pdGe6*)BsSIt zv$JyuNJ*u^{NhR6e#^=DPh+UW(c8mpI*pHRU9#!;)a&(^qlYZ{bu?ILVFh|oD--ia zGdfOL&qYVrHcpBD`bbJ*#IR_X!1u!01!UElb)fDqvt1eTDYrOQEwq`^ey7Z>uzxzO z&ZL)`r=C}|v7%>FeW_Ns5KMa+AstG?z~FB=Qc(Q1Rq?2~X-DSAeZsc1I98J(2Umon zNw48~qM7dcSzhlssmuAT_4?NRDWu^>oYi!RAK-M38>7_P)m~${yGZ8xns@Y_SedKt zF4*sVnPkbrZmLN+i(%THrgVqs@mVjUsvKRHC{X99(%PSUrp+DdV68aqa9-0c=I!-g zdz_g0w>52rKt>*xg%31X!1UzhL5&XkT~Lij%t_OCCVuywIg3fv0@{(Nmya}lax>q` z5x@PkIXL6%J;j>$Un?gC&_f+F?g#Az*S07^?gV(g3{B6>sMg6MW=zbXm3=?a_=d=f zai998CksPePm1=iw0Ux9Nn0C|GsBpiShQMm)ZTOaX$D)n%4^visqx0*cT)S|2n=V zRbG?7GF!inbrUNr6tWl;*pn1+$WbG&t-%xH@SkWqr1Z{>9q$HEEV>{vu3lA(0-al=|+j4O4pBSCku{~^t<(<6m(i#p3PY*g`5d(YJ4;*+ znMEl@f_HZ8hNTKkbPg=oNRI_0#ClqA*Wuuy|3u0P>9F*=o*@yoB?j1?;MvuLf78(O zA@>a?X13dCGiYcGnc`1tlL@C3kWU!+;vHpc@FE^5*0q4Re#+%~#5yb`&GmMiyBA5! zE9%?Vr>saJ^kS-7X|J>7i`971yCpHUnzvBDp%->j0yS2$kcU?kh=g@JGMNlN;l|4| zbeV{~i2H?E+AMFB@ba(czeg6LFQc>9*C>ST;-iaAl`+D6`^390Od6g^;JwQ?Zlt|u zGs3PJJC(SX%0~`vkn4NTLV#npAPj5sEh}56%9s?tgWU`Sn65zdR!M;J!8^> zMWjqj7}`go1>FCsMSgr)XrprlUFQGXocQ+UOYlhN6LA=MCGpy3ybZYH{xedqs(FU` zie>l}1E@2e;_dA3@4JU0%c&_SHlEa{YU`h;PSv2-;oc);?%Udq6h%fQX`U}~BQ}%f z7#N}yM^_=voz`RM#Xn$qW6rkr1x?m^#T<_&1)`#(6F3}6x=SXHo=HfU-y?4R+W)rF z=Ufm9u{AD}fm%(jv{Rn~In%=Zo~oe&oe9Uuod{8**5Mx;Gc^J8%^_S4Wm=+9^!?n- z!PwD^(Xp}5wY4eseNG}FsT;}dqo?_E!}N(xT^HQLW3|S&iCJFlX!-=_p`XI$VB)J_ z0l*F;LDBNw9nIzQ@iE!@p`8G)13$5`WcoNp<79IO z{|@EpkKdLQWMnc)!#^}D+dO}*gL>2LuzX~7sOD~GT%rDA;9Qx-*uZ)`Y7xOD5m4JX z=D70uV9+pa``7zZwtvUl%NM0FmP$i~N-G6ZW>Y^YjXOTi{dyp!N zQ#ptkOpv+iQxNq2wSMf!nLE@uE4P2~`v`9@2~#5u9>hJ-$#kwcl27Iw+E4B<3nE;{(mQ#R4 zWt@NriVWxP!>NMSS`{XG@;IbyI(xEpbxa1Sc^VNKr*+RmhJSF7;|h;_2~k?;lr2mZ zS%XF89*=p$#5v|<@$UL6e4)5FlDZ&USl&c6)-`T9NXUqtY-gVfqJuIr9*kPO0>2N_ z*eA#YFbHr +E*4`+Q24Rn&uB2j?SahS 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