Added the printPayloadBytes function used to print byte content of any received payload, this can help the debugging process when receiving malformatted payloads
This commit is contained in:
parent
fc5359ec03
commit
ebdff6f0e7
@ -221,6 +221,7 @@ void loop()
|
|||||||
{
|
{
|
||||||
//Payload already retrieved in LoRa module IRQ or in the previous code part
|
//Payload already retrieved in LoRa module IRQ or in the previous code part
|
||||||
memcpy(&packetHeader, payload, sizeof(packetHeader));
|
memcpy(&packetHeader, payload, sizeof(packetHeader));
|
||||||
|
//printPayloadBytes(payload, sizeof payload);
|
||||||
switch(packetHeader.header)
|
switch(packetHeader.header)
|
||||||
{
|
{
|
||||||
case WEATHER_STATION:
|
case WEATHER_STATION:
|
||||||
@ -564,3 +565,20 @@ void printStruct(MailboxDataPacket *p)
|
|||||||
break;
|
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]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user