From 34e872b25db320ddf8dc76917ac387c7643e9409 Mon Sep 17 00:00:00 2001 From: "jacob.eva" Date: Sat, 12 Oct 2024 12:55:35 +0100 Subject: [PATCH 1/2] Decrease connection interval on BLE to increase throughput --- Bluetooth.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Bluetooth.h b/Bluetooth.h index 660713e..a4913d0 100644 --- a/Bluetooth.h +++ b/Bluetooth.h @@ -476,7 +476,7 @@ char bt_devname[11]; Bluefruit.Security.setSecuredCallback(bt_connect_callback); Bluefruit.Periph.setDisconnectCallback(bt_disconnect_callback); Bluefruit.Security.setPairCompleteCallback(bt_pairing_complete); - //Bluefruit.Periph.setConnInterval(6, 12); // 7.5 - 15 ms + Bluefruit.Periph.setConnInterval(6, 12); // 7.5 - 15 ms const ble_gap_addr_t gap_addr = Bluefruit.getAddr(); char *data = (char*)malloc(BT_DEV_ADDR_LEN+1); From 982a75546427c42ca532faa075617161357068df Mon Sep 17 00:00:00 2001 From: "jacob.eva" Date: Sat, 12 Oct 2024 13:00:52 +0100 Subject: [PATCH 2/2] Improve checks around split packet handling in transmit() --- RNode_Firmware.ino | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/RNode_Firmware.ino b/RNode_Firmware.ino index a10dbb8..05d9807 100644 --- a/RNode_Firmware.ino +++ b/RNode_Firmware.ino @@ -609,8 +609,14 @@ void transmit(uint16_t size) { written++; - if (written == 255) { - LoRa->endPacket(); add_airtime(written); + if (written == 255 && header & 0x0F) { + if (!LoRa->endPacket()) { + kiss_indicate_error(ERROR_MODEM_TIMEOUT); + kiss_indicate_error(ERROR_TXFAILED); + led_indicate_error(5); + hard_reset(); + } + add_airtime(written); LoRa->beginPacket(); LoRa->write(header); written = 1;