avr: new com2 and timer stack basically works again.

This commit is contained in:
Martin Preuss
2023-04-12 21:46:34 +02:00
parent 024d40fc95
commit ded08b8c47
15 changed files with 461 additions and 171 deletions

View File

@@ -92,6 +92,8 @@ void AQH_DeviceMsg_DumpToBuffer(const GWEN_MSG *msg, GWEN_BUFFER *dbuf, const ch
GWEN_Buffer_AppendString(dbuf, " LCD");
if (modules & AQH_MSG_DEVICE_MASK_SI7021)
GWEN_Buffer_AppendString(dbuf, " SI7021");
if (modules & AQH_MSG_DEVICE_MASK_STATS)
GWEN_Buffer_AppendString(dbuf, " STATS");
GWEN_Buffer_AppendString(dbuf, " ]");
}
GWEN_Buffer_AppendString(dbuf, ")\n");

View File

@@ -24,6 +24,7 @@
#define AQH_MSG_DEVICE_MASK_TWIMASTER 0x10
#define AQH_MSG_DEVICE_MASK_LCD 0x20
#define AQH_MSG_DEVICE_MASK_SI7021 0x40
#define AQH_MSG_DEVICE_MASK_STATS 0x80

View File

@@ -21,11 +21,10 @@
#define AQH_MSG_OFFS_MEMSTATS_SECONDS 0 /* 4 bytes */
#define AQH_MSG_OFFS_MEMSTATS_UID 4 /* 4 bytes */
#define AQH_MSG_OFFS_MEMSTATS_STACKPTR 8 /* 2 bytes */
#define AQH_MSG_OFFS_MEMSTATS_STACKUSAGE 8 /* 2 bytes */
#define AQH_MSG_OFFS_MEMSTATS_BUFFERSUSED 10 /* 1 byte */
#define AQH_MSG_OFFS_MEMSTATS_MAXBUFFERSUSED 11 /* 1 byte */
#define AQH_MSG_OFFS_MEMSTATS_SENDNOBUFFER 12 /* 2 bytes */
#define AQH_MSG_OFFS_MEMSTATS_RECVNOBUFFER 14 /* 2 bytes */
#define AQH_MSG_OFFS_MEMSTATS_RECVNOBUFFER 12 /* 2 bytes */
#define AQH_MSG_MEMSTATS_MINSIZE (AQH_MSG_OFFS_ALL_DATA_BEGIN+AQH_MSG_OFFS_MEMSTATS_RECVNOBUFFER+2)
@@ -44,9 +43,9 @@ uint32_t AQH_MemStatsMsg_GetSeconds(const GWEN_MSG *msg)
}
uint16_t AQH_MemStatsMsg_GetStackPtr(const GWEN_MSG *msg)
uint16_t AQH_MemStatsMsg_GetStackUsage(const GWEN_MSG *msg)
{
return AQH_NodeMsg_GetUint16At(msg, AQH_MSG_OFFS_ALL_DATA_BEGIN+AQH_MSG_OFFS_MEMSTATS_STACKPTR, 0);
return AQH_NodeMsg_GetUint16At(msg, AQH_MSG_OFFS_ALL_DATA_BEGIN+AQH_MSG_OFFS_MEMSTATS_STACKUSAGE, 0);
}
@@ -65,13 +64,6 @@ uint8_t AQH_MemStatsMsg_GetMaxBuffersUsed(const GWEN_MSG *msg)
uint16_t AQH_MemStatsMsg_GetSendNoBufferErrors(const GWEN_MSG *msg)
{
return AQH_NodeMsg_GetUint16At(msg, AQH_MSG_OFFS_ALL_DATA_BEGIN+AQH_MSG_OFFS_MEMSTATS_SENDNOBUFFER, 0);
}
uint16_t AQH_MemStatsMsg_GetRecvNoBufferErrors(const GWEN_MSG *msg)
{
return AQH_NodeMsg_GetUint16At(msg, AQH_MSG_OFFS_ALL_DATA_BEGIN+AQH_MSG_OFFS_MEMSTATS_RECVNOBUFFER, 0);
@@ -82,17 +74,15 @@ uint16_t AQH_MemStatsMsg_GetRecvNoBufferErrors(const GWEN_MSG *msg)
void AQH_MemStatsMsg_DumpToBuffer(const GWEN_MSG *msg, GWEN_BUFFER *dbuf, const char *sText)
{
GWEN_Buffer_AppendArgs(dbuf,
"0x%02x->0x%02x: MEMSTATS %s (uid=0x%08x, uptime=%d, stackptr=%d[%04x], buffers used=%d(max=%d), no sendbuf errs=%d, no recvbuf=%d)\n",
"0x%02x->0x%02x: MEMSTATS %s (uid=0x%08x, uptime=%d, stack used=%d, buffers used=%d(max=%d), no recvbuf=%d)\n",
AQH_NodeMsg_GetSourceAddress(msg),
AQH_NodeMsg_GetDestAddress(msg),
sText,
(unsigned int) AQH_MemStatsMsg_GetUid(msg),
AQH_MemStatsMsg_GetSeconds(msg),
AQH_MemStatsMsg_GetStackPtr(msg),
AQH_MemStatsMsg_GetStackPtr(msg),
AQH_MemStatsMsg_GetStackUsage(msg),
AQH_MemStatsMsg_GetBuffersUsed(msg),
AQH_MemStatsMsg_GetMaxBuffersUsed(msg),
AQH_MemStatsMsg_GetSendNoBufferErrors(msg),
AQH_MemStatsMsg_GetRecvNoBufferErrors(msg));
}

View File

@@ -20,7 +20,7 @@
AQHOME_API uint32_t AQH_MemStatsMsg_GetUid(const GWEN_MSG *msg);
AQHOME_API uint32_t AQH_MemStatsMsg_GetSeconds(const GWEN_MSG *msg);
AQHOME_API uint16_t AQH_MemStatsMsg_GetStackPtr(const GWEN_MSG *msg);
AQHOME_API uint16_t AQH_MemStatsMsg_GetStackUsage(const GWEN_MSG *msg);
AQHOME_API uint8_t AQH_MemStatsMsg_GetBuffersUsed(const GWEN_MSG *msg);
AQHOME_API uint8_t AQH_MemStatsMsg_GetMaxBuffersUsed(const GWEN_MSG *msg);
AQHOME_API uint16_t AQH_MemStatsMsg_GetSendNoBufferErrors(const GWEN_MSG *msg);