avr: added flash-related messages.

This commit is contained in:
Martin Preuss
2023-04-20 00:43:07 +02:00
parent 5b9fe3d0cd
commit c65bd60bc5
15 changed files with 545 additions and 9 deletions

View File

@@ -42,7 +42,7 @@ GWEN_MSG *AQH_NodeMsg_new(uint8_t destAddr, uint8_t srcAddr, uint8_t code, uint8
ptr=GWEN_Msg_GetBuffer(msg);
ptr[AQH_MSG_OFFS_ALL_DEST_ADDRESS]=destAddr & 0xff;
ptr[AQH_MSG_OFFS_ALL_PAYLOAD_LEN]=6;
ptr[AQH_MSG_OFFS_ALL_PAYLOAD_LEN]=payloadLen+2;
ptr[AQH_MSG_OFFS_ALL_MSG_TYPE]=code;
ptr[AQH_MSG_OFFS_ALL_SRC_ADDRESS]=srcAddr;
@@ -123,8 +123,10 @@ int AQH_NodeMsg_IsMsgComplete(const GWEN_MSG *msg)
ptr=GWEN_Msg_GetConstBuffer(msg);
len=ptr[AQH_MSG_OFFS_ALL_PAYLOAD_LEN]+AQH_MSG_OFFS_ALL_PAYLOAD_BEGIN+1;
if (len>AQH_MAXMSGSIZE)
return -1;
if (len>AQH_MAXMSGSIZE) {
DBG_ERROR(AQH_LOGDOMAIN, "Total length > max length (%d > %d)", len, AQH_MAXMSGSIZE);
return -1;
}
else if (msgLen>=len)
return 1;
}
@@ -259,5 +261,35 @@ uint8_t _calcXorChecksum(const uint8_t *ptr, uint8_t len)
const char *AQH_NodeMsg_MsgTypeToChar(uint8_t i)
{
switch(i) {
case AQH_MSG_TYPE_PING: return "Ping";
case AQH_MSG_TYPE_PONG: return "Pong";
case AQH_MSG_TYPE_COMSENDSTATS: return "SendStats";
case AQH_MSG_TYPE_COMRECVSTATS: return "RecvStats";
case AQH_MSG_TYPE_TWIBUSMEMBER: return "TwiBusMember";
case AQH_MSG_TYPE_DEBUG: return "Debug";
case AQH_MSG_TYPE_VALUE: return "Value";
case AQH_MSG_TYPE_VALUE2: return "Value2";
case AQH_MSG_TYPE_NEED_ADDRESS: return "NeedAddress";
case AQH_MSG_TYPE_HAVE_ADDRESS: return "HaveAddress";
case AQH_MSG_TYPE_CLAIM_ADDRESS: return "ClaimAddress";
case AQH_MSG_TYPE_DENY_ADDRESS: return "DenyAddress";
case AQH_MSG_TYPE_ADDRESS_RANGE: return "Range";
case AQH_MSG_TYPE_FLASH_START: return "FlashStart";
case AQH_MSG_TYPE_FLASH_END: return "FlashEnd";
case AQH_MSG_TYPE_FLASH_READY: return "FlashReady";
case AQH_MSG_TYPE_FLASH_DATA: return "FlashData";
case AQH_MSG_TYPE_FLASH_RSP: return "FlashResponse";
case AQH_MSG_TYPE_DEVICE: return "Device";
case AQH_MSG_TYPE_MEMSTATS: return "MemStats";
case AQH_MSG_TYPE_SYSSTATS: return "SysStats";
default: return "(unknown)";
}
}