From d09088734249ec9597ffe653df5d8e47f2c6603b Mon Sep 17 00:00:00 2001 From: Th3maz1ng Date: Fri, 26 Dec 2025 12:31:37 +0100 Subject: [PATCH] Modified the main app to make use of the LoRa transceiver. Added the mailbox TEST event and some debugging traces when traces are enabled --- src/app/app.ino | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/src/app/app.ino b/src/app/app.ino index fda8e44..e512f7e 100644 --- a/src/app/app.ino +++ b/src/app/app.ino @@ -52,42 +52,38 @@ void loop() #if SERIAL_DEBUG_ENABLED Serial.print("MBP Ext Peripheral : "); Serial.println(rCode); debugStruct(&payload); + + uint8_t buffer[32]; + memset(buffer, 0xFF, sizeof buffer); + memcpy(buffer, &payload, sizeof payload); + for(size_t i = 0; i < sizeof buffer; i++) + { + Serial.print('[');Serial.print(i);Serial.print("]=0x");Serial.println(buffer[i], HEX); + } #endif - if(MBP.getRadio().isChipConnected()) + if(rCode) { MBP.applyRadioConfig(); - MBP.getRadio().setRetries(15, 15); - MBP.getRadio().openWritingPipe((const uint8_t *)RADIO_NODE_ADDRESS); - MBP.getRadio().stopListening(); //Very important, if not called, no ack will be received ! - for(uint8_t i(0); i < MAX_SEND_ROUND_RETRIES; i++) { - if(MBP.getRadio().write(&payload, sizeof payload)) - { - #if SERIAL_DEBUG_ENABLED - Serial.println("Payload sent !"); - delay(100); - #endif - break; - } + MBP.getRadio().beginPacket(); + MBP.getRadio().write(reinterpret_cast(&payload), sizeof payload); + MBP.getRadio().endPacket(); #if SERIAL_DEBUG_ENABLED - else - { - Serial.println("Failed to send payload !"); - delay(100); - } + Serial.print("Sending frame: ");Serial.println(i); + delay(100); #endif } } #if SERIAL_DEBUG_ENABLED else { - Serial.println("NRF missing !"); + Serial.println("RFM95W missing !"); delay(100); } #endif - + MBP.deinitExternalPeripherals(); MBP.externalPeripherals(MBPeripherals::State::OFF); //We wait for some time before allowing next trigger @@ -133,6 +129,9 @@ void debugStruct(MailboxDataPacket *p) case MAILBOX_COLLECTED: Serial.println("COLLECTED"); break; + case MAILBOX_TEST: + Serial.println("TEST"); + break; default: Serial.println("UNKNOWN"); break;