From f2e1b547d5a704122df06ba5461c6ca92fbfb218 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20Sch=C3=A4tzlein?= <thomas@pnxs.de>
Date: Mon, 20 May 2024 10:51:41 +0200
Subject: [PATCH] fix payload of DevStatusAns mac-command

Lorawan specs say (e.g. 1.0.4 or 1.1), that the first byte is the
battery-level and the second byte is the margin.
---
 src/protocols/LoRaWAN/LoRaWAN.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/protocols/LoRaWAN/LoRaWAN.cpp b/src/protocols/LoRaWAN/LoRaWAN.cpp
index 0636ddd0..60e70957 100644
--- a/src/protocols/LoRaWAN/LoRaWAN.cpp
+++ b/src/protocols/LoRaWAN/LoRaWAN.cpp
@@ -2386,9 +2386,9 @@ bool LoRaWANNode::execMacCommand(LoRaWANMacCommand_t* cmd) {
       // set the uplink reply
       RADIOLIB_DEBUG_PROTOCOL_PRINTLN("DevStatusReq");
       cmd->len = 2;
-      cmd->payload[1] = this->battLevel;
+      cmd->payload[0] = this->battLevel;
       int8_t snr = this->phyLayer->getSNR();
-      cmd->payload[0] = snr & 0x3F;
+      cmd->payload[1] = snr & 0x3F;
 
       RADIOLIB_DEBUG_PROTOCOL_PRINTLN("DevStatusAns: status = 0x%02x%02x", cmd->payload[0], cmd->payload[1]);
       return(true);