From ebdff6f0e7e99d4f467c5b3be99457f529a2346e Mon Sep 17 00:00:00 2001 From: Th3maz1ng Date: Fri, 26 Dec 2025 12:12:57 +0100 Subject: [PATCH] Added the printPayloadBytes function used to print byte content of any received payload, this can help the debugging process when receiving malformatted payloads --- src/app/app.ino | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/app/app.ino b/src/app/app.ino index f011348..934da85 100644 --- a/src/app/app.ino +++ b/src/app/app.ino @@ -221,6 +221,7 @@ void loop() { //Payload already retrieved in LoRa module IRQ or in the previous code part memcpy(&packetHeader, payload, sizeof(packetHeader)); + //printPayloadBytes(payload, sizeof payload); switch(packetHeader.header) { case WEATHER_STATION: @@ -564,3 +565,20 @@ void printStruct(MailboxDataPacket *p) break; } } + +void printPayloadBytes(const uint8_t *payload, size_t payload_size) +{ + if(!payload || !payload_size)return; + uint8_t buffer[32]; + size_t safeSize = (payload_size > sizeof(buffer)) ? sizeof(buffer) : payload_size; + memset(buffer, 0xFF, sizeof buffer); + memcpy(buffer, payload, safeSize); + + if(safeSize < payload_size) + Serial.println("/!\\ Payload size was truncated /!\\"); + + for(size_t i = 0; i < safeSize; i++) + { + Serial.printf("[%d]=0x%02X\n",i ,buffer[i]); + } +}