adapted to latest changes in gwen, more work on data and nodes servers.
This commit is contained in:
@@ -42,39 +42,31 @@
|
||||
#define AQH_MSGIPC_GETDEVICES_RSP_MINSIZE (GWEN_MSGIPC_OFFS_PAYLOAD+AQH_MSGIPC_GETDEVICES_RSP_OFFS_IO+2)
|
||||
|
||||
|
||||
static void _addU16t(uint8_t **pPtr, uint16_t i);
|
||||
static void _addU32t(uint8_t **pPtr, uint32_t i);
|
||||
static void _addU64t(uint8_t **pPtr, uint64_t i);
|
||||
|
||||
|
||||
|
||||
GWEN_MSG *AQH_GetDevicesResponseIpcMsg_new(uint16_t code, uint8_t flags, const AQH_NODE_INFO *ni)
|
||||
GWEN_MSG *AQH_GetDevicesResponseIpcMsg_new(uint16_t code, uint32_t msgId, uint32_t refMsgId, uint8_t flags, const AQH_NODE_INFO *ni)
|
||||
{
|
||||
GWEN_MSG *msg;
|
||||
uint8_t *ptr;
|
||||
const GWEN_TIMESTAMP *t;
|
||||
|
||||
msg=GWEN_IpcMsg_new(AQH_IPC_PROTOCOL_NODES_ID, AQH_IPC_PROTOCOL_NODES_VERSION, code, AQH_MSGIPC_GETDEVICES_RSP_MINSIZE, NULL);
|
||||
ptr=GWEN_Msg_GetBuffer(msg)+GWEN_MSGIPC_OFFS_PAYLOAD;
|
||||
msg=GWEN_IpcMsg_new(AQH_IPC_PROTOCOL_NODES_ID, AQH_IPC_PROTOCOL_NODES_VERSION, code, msgId, refMsgId, 0, NULL);
|
||||
GWEN_Msg_AddUint8(msg, flags & 0xff);
|
||||
GWEN_Msg_AddUint8(msg, AQH_NodeInfo_GetBusAddress(ni));
|
||||
GWEN_Msg_AddUint32(msg, AQH_NodeInfo_GetUid(ni));
|
||||
|
||||
*(ptr++)=flags & 0xff;
|
||||
|
||||
*(ptr++)=AQH_NodeInfo_GetBusAddress(ni);
|
||||
_addU32t(&ptr, AQH_NodeInfo_GetUid(ni));
|
||||
|
||||
_addU32t(&ptr, AQH_NodeInfo_GetManufacturer(ni));
|
||||
_addU16t(&ptr, AQH_NodeInfo_GetDeviceType(ni));
|
||||
_addU16t(&ptr, AQH_NodeInfo_GetDeviceVersion(ni));
|
||||
_addU32t(&ptr, AQH_NodeInfo_GetFirmwareVersion(ni));
|
||||
GWEN_Msg_AddUint32(msg, AQH_NodeInfo_GetManufacturer(ni));
|
||||
GWEN_Msg_AddUint16(msg, AQH_NodeInfo_GetDeviceType(ni));
|
||||
GWEN_Msg_AddUint16(msg, AQH_NodeInfo_GetDeviceVersion(ni));
|
||||
GWEN_Msg_AddUint32(msg, AQH_NodeInfo_GetFirmwareVersion(ni));
|
||||
t=AQH_NodeInfo_GetTimestampLastChange(ni);
|
||||
_addU64t(&ptr, t?((uint64_t)GWEN_Timestamp_toInt64(t)):0L);
|
||||
GWEN_Msg_AddUint64(msg, t?((uint64_t)GWEN_Timestamp_toInt64(t)):0L);
|
||||
|
||||
_addU16t(&ptr, AQH_NodeInfo_GetStatsPacketsOut(ni));
|
||||
_addU16t(&ptr, AQH_NodeInfo_GetStatsPacketsIn(ni));
|
||||
_addU16t(&ptr, AQH_NodeInfo_GetStatsCollisions(ni));
|
||||
_addU16t(&ptr, AQH_NodeInfo_GetStatsBusy(ni));
|
||||
_addU16t(&ptr, AQH_NodeInfo_GetStatsCrcErrors(ni));
|
||||
_addU16t(&ptr, AQH_NodeInfo_GetStatsIoErrors(ni));
|
||||
GWEN_Msg_AddUint16(msg, AQH_NodeInfo_GetStatsPacketsOut(ni));
|
||||
GWEN_Msg_AddUint16(msg, AQH_NodeInfo_GetStatsPacketsIn(ni));
|
||||
GWEN_Msg_AddUint16(msg, AQH_NodeInfo_GetStatsCollisions(ni));
|
||||
GWEN_Msg_AddUint16(msg, AQH_NodeInfo_GetStatsBusy(ni));
|
||||
GWEN_Msg_AddUint16(msg, AQH_NodeInfo_GetStatsCrcErrors(ni));
|
||||
GWEN_Msg_AddUint16(msg, AQH_NodeInfo_GetStatsIoErrors(ni));
|
||||
GWEN_IpcMsg_AdjustMsgSize(msg);
|
||||
|
||||
return msg;
|
||||
}
|
||||
@@ -132,11 +124,7 @@ uint32_t AQH_GetDevicesResponseIpcMsg_GetFirmwareVersion(const GWEN_MSG *msg)
|
||||
|
||||
int64_t AQH_GetDevicesResponseIpcMsg_GetTimestamp(const GWEN_MSG *msg)
|
||||
{
|
||||
uint64_t v;
|
||||
|
||||
v=(uint64_t) GWEN_Msg_GetUint32At(msg, GWEN_MSGIPC_OFFS_PAYLOAD+AQH_MSGIPC_GETDEVICES_RSP_OFFS_LASTCHG, 0);
|
||||
v|=((uint64_t)GWEN_Msg_GetUint32At(msg, GWEN_MSGIPC_OFFS_PAYLOAD+AQH_MSGIPC_GETDEVICES_RSP_OFFS_LASTCHG+4, 0))<<32;
|
||||
return (int64_t) v;
|
||||
return GWEN_Msg_GetUint64At(msg, GWEN_MSGIPC_OFFS_PAYLOAD+AQH_MSGIPC_GETDEVICES_RSP_OFFS_LASTCHG, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -199,49 +187,3 @@ void AQH_GetDevicesResponseIpcMsg_DumpToBuffer(const GWEN_MSG *msg, GWEN_BUFFER
|
||||
}
|
||||
|
||||
|
||||
|
||||
void _addU16t(uint8_t **pPtr, uint16_t i)
|
||||
{
|
||||
uint8_t *ptr=*pPtr;
|
||||
|
||||
*(ptr++)=i & 0xff;
|
||||
*(ptr++)=(i>>8) & 0xff;
|
||||
*pPtr=ptr;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void _addU32t(uint8_t **pPtr, uint32_t i)
|
||||
{
|
||||
uint8_t *ptr=*pPtr;
|
||||
|
||||
*(ptr++)=i & 0xff;
|
||||
*(ptr++)=(i>>8) & 0xff;
|
||||
*(ptr++)=(i>>16) & 0xff;
|
||||
*(ptr++)=(i>>24) & 0xff;
|
||||
*pPtr=ptr;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void _addU64t(uint8_t **pPtr, uint64_t i)
|
||||
{
|
||||
uint8_t *ptr=*pPtr;
|
||||
|
||||
*(ptr++)=i & 0xff;
|
||||
*(ptr++)=(i>>8) & 0xff;
|
||||
*(ptr++)=(i>>16) & 0xff;
|
||||
*(ptr++)=(i>>24) & 0xff;
|
||||
*(ptr++)=(i>>32) & 0xff;
|
||||
*(ptr++)=(i>>40) & 0xff;
|
||||
*(ptr++)=(i>>48) & 0xff;
|
||||
*(ptr++)=(i>>56) & 0xff;
|
||||
*pPtr=ptr;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user