forked from gatsby/df_datalink
fix: 修改数据接收上传逻辑, comtool增加数据发送测试
This commit is contained in:
@@ -38,11 +38,19 @@ class Plugin(Plugin_Base):
|
|||||||
"icon": "fa5.question-circle",
|
"icon": "fa5.question-circle",
|
||||||
"data": "5A 54 E1 EE 00 CF 02 5A FE"
|
"data": "5A 54 E1 EE 00 CF 02 5A FE"
|
||||||
},
|
},
|
||||||
# {
|
{
|
||||||
# "caption": "数据发送测试 - 1",
|
"caption": "数据发送测试 - 40 Byte",
|
||||||
# "icon": "fa5.play-circle",
|
"icon": "fa5.play-circle",
|
||||||
# "data": ""
|
"data": (
|
||||||
# },
|
"5A 54 E4 EE 00 00 00 00 02 00 28 "
|
||||||
|
"00 01 02 03 04 05 06 07 "
|
||||||
|
"08 09 0A 0B 0C 0D 0E 0F "
|
||||||
|
"10 11 12 13 14 15 16 17 "
|
||||||
|
"18 19 1A 1B 1C 1D 1E 1F "
|
||||||
|
"20 21 22 23 24 25 26 27 "
|
||||||
|
"00 08 31 5A FE"
|
||||||
|
)
|
||||||
|
},
|
||||||
# {
|
# {
|
||||||
# "caption": "数据发送测试 - 2",
|
# "caption": "数据发送测试 - 2",
|
||||||
# "icon": "fa5.play-circle",
|
# "icon": "fa5.play-circle",
|
||||||
@@ -198,8 +206,7 @@ class Plugin(Plugin_Base):
|
|||||||
# frame struct
|
# frame struct
|
||||||
self.structSelfTestRsp = Struct("<BB B BBBbbb HHHBBbB B 3s")
|
self.structSelfTestRsp = Struct("<BB B BBBbbb HHHBBbB B 3s")
|
||||||
self.structStatusCheckRsp = Struct("<BB Q IIII IBBBBIB III III III III III III i II 3s IIII d Q dBB dB H B 2s BBBbbb HHHBBbB B 3s")
|
self.structStatusCheckRsp = Struct("<BB Q IIII IBBBBIB III III III III III III i II 3s IIII d Q dBB dB H B 2s BBBbbb HHHBBbB B 3s")
|
||||||
self.structFljData = Struct("<dddd IHI fff fff")
|
self.structData = Struct("<BB IBH 40s")
|
||||||
self.structLjData = Struct("<IHI ffff IHI fff fff fff IHI fff fff fff IHI fff fff fff I")
|
|
||||||
self.structSysInfo = Struct("<IHI H B I B fff fff fff")
|
self.structSysInfo = Struct("<IHI H B I B fff fff fff")
|
||||||
|
|
||||||
def insertSendItem(self, item = None, load = False):
|
def insertSendItem(self, item = None, load = False):
|
||||||
@@ -260,9 +267,9 @@ class Plugin(Plugin_Base):
|
|||||||
if data[0] == 0xE1:
|
if data[0] == 0xE1:
|
||||||
# eval self test
|
# eval self test
|
||||||
self.showReceiveDataSignal.emit(self.evalSelfTestRsp(data) + "\n")
|
self.showReceiveDataSignal.emit(self.evalSelfTestRsp(data) + "\n")
|
||||||
elif data[0] == 0xE6 or data[0] == 0xF6:
|
elif data[0] == 0xE6:
|
||||||
self.showReceiveDataSignal.emit(self.evalStatusCheckRsp(data) + "\n")
|
self.showReceiveDataSignal.emit(self.evalStatusCheckRsp(data) + "\n")
|
||||||
elif data[0] == 0xE5 or data[0] == 0xF5:
|
elif data[0] == 0xE5:
|
||||||
self.showReceiveDataSignal.emit('Retrieved Data Frame:\n' + self.printFrame(data) + "\n")
|
self.showReceiveDataSignal.emit('Retrieved Data Frame:\n' + self.printFrame(data) + "\n")
|
||||||
else:
|
else:
|
||||||
self.showReceiveDataSignal.emit(f"\n### Unexpected response code 0x{data[0]:02x}.\n")
|
self.showReceiveDataSignal.emit(f"\n### Unexpected response code 0x{data[0]:02x}.\n")
|
||||||
|
|||||||
@@ -243,12 +243,20 @@ int32_t L2_Scan_PktHandler(L2_INST *instPtr, uint8_t *msg)
|
|||||||
L2_TimeAdjust(instPtr, &(instPtr->log.timeDev));
|
L2_TimeAdjust(instPtr, &(instPtr->log.timeDev));
|
||||||
|
|
||||||
// Get data payload & upload
|
// Get data payload & upload
|
||||||
SYSMON_SVC_PAYLOAD recvPayload;
|
if (message->dataId != DATA_ID_NONE)
|
||||||
recvPayload.dataId = message->dataId;
|
{
|
||||||
recvPayload.nodeId = message->common.src;
|
if (message->dataLen > maxDataLen)
|
||||||
recvPayload.dataLen = message->dataLen;
|
{
|
||||||
memcpy(recvPayload.data, message->data, maxDataLen);
|
DBG_ERROR("Payload length" PRIu16 " out of range.\n", message->dataLen);
|
||||||
SysMonitor_GenRecvRsp(&recvPayload);
|
return EIGNORE;
|
||||||
|
}
|
||||||
|
SYSMON_SVC_PAYLOAD *recvPayload = calloc(1, NORMALIZE_SIZE(sizeof(SYSMON_SVC_PAYLOAD)));
|
||||||
|
recvPayload->dataId = message->dataId;
|
||||||
|
recvPayload->nodeId = message->common.src;
|
||||||
|
recvPayload->dataLen = message->dataLen;
|
||||||
|
memcpy(recvPayload->data, message->data, message->dataLen);
|
||||||
|
SysMonitor_GenRecvRsp(recvPayload);
|
||||||
|
}
|
||||||
|
|
||||||
// Logging...
|
// Logging...
|
||||||
instPtr->log.rxLog.dataId = message->dataId;
|
instPtr->log.rxLog.dataId = message->dataId;
|
||||||
|
|||||||
@@ -528,12 +528,20 @@ static int32_t Service_PktHandler128K(L2_INST *instPtr, uint8_t *msg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get data payload
|
// Get data payload
|
||||||
SYSMON_SVC_PAYLOAD recvPayload;
|
if (message->dataId != DATA_ID_NONE)
|
||||||
recvPayload.dataId = message->dataId;
|
{
|
||||||
recvPayload.nodeId = message->common.src;
|
if (message->dataLen > maxDataLen)
|
||||||
recvPayload.dataLen = message->dataLen;
|
{
|
||||||
memcpy(recvPayload.data, message->data, maxDataLen);
|
DBG_ERROR("Payload length" PRIu16 " out of range.\n", message->dataLen);
|
||||||
SysMonitor_GenRecvRsp(&recvPayload);
|
return EIGNORE;
|
||||||
|
}
|
||||||
|
SYSMON_SVC_PAYLOAD *recvPayload = calloc(1, NORMALIZE_SIZE(sizeof(SYSMON_SVC_PAYLOAD)));
|
||||||
|
recvPayload->dataId = message->dataId;
|
||||||
|
recvPayload->nodeId = message->common.src;
|
||||||
|
recvPayload->dataLen = message->dataLen;
|
||||||
|
memcpy(recvPayload->data, message->data, message->dataLen);
|
||||||
|
SysMonitor_GenRecvRsp(recvPayload);
|
||||||
|
}
|
||||||
|
|
||||||
// Logging...
|
// Logging...
|
||||||
instPtr->log.rxLog.dataId = message->dataId;
|
instPtr->log.rxLog.dataId = message->dataId;
|
||||||
@@ -608,12 +616,20 @@ static int32_t Service_PktHandler512K(L2_INST *instPtr, uint8_t *msg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get data payload
|
// Get data payload
|
||||||
SYSMON_SVC_PAYLOAD recvPayload;
|
if (message->dataId != DATA_ID_NONE)
|
||||||
recvPayload.dataId = message->dataId;
|
{
|
||||||
recvPayload.nodeId = message->common.src;
|
if (message->dataLen > maxDataLen)
|
||||||
recvPayload.dataLen = message->dataLen;
|
{
|
||||||
memcpy(recvPayload.data, message->data, maxDataLen);
|
DBG_ERROR("Payload length" PRIu16 " out of range.\n", message->dataLen);
|
||||||
SysMonitor_GenRecvRsp(&recvPayload);
|
return EIGNORE;
|
||||||
|
}
|
||||||
|
SYSMON_SVC_PAYLOAD *recvPayload = calloc(1, NORMALIZE_SIZE(sizeof(SYSMON_SVC_PAYLOAD)));
|
||||||
|
recvPayload->dataId = message->dataId;
|
||||||
|
recvPayload->nodeId = message->common.src;
|
||||||
|
recvPayload->dataLen = message->dataLen;
|
||||||
|
memcpy(recvPayload->data, message->data, message->dataLen);
|
||||||
|
SysMonitor_GenRecvRsp(recvPayload);
|
||||||
|
}
|
||||||
|
|
||||||
// Logging...
|
// Logging...
|
||||||
instPtr->log.rxLog.dataId = message->dataId;
|
instPtr->log.rxLog.dataId = message->dataId;
|
||||||
@@ -688,12 +704,20 @@ static int32_t Service_PktHandler2M(L2_INST *instPtr, uint8_t *msg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get data payload
|
// Get data payload
|
||||||
SYSMON_SVC_PAYLOAD recvPayload;
|
if (message->dataId != DATA_ID_NONE)
|
||||||
recvPayload.dataId = message->dataId;
|
{
|
||||||
recvPayload.nodeId = message->common.src;
|
if (message->dataLen > maxDataLen)
|
||||||
recvPayload.dataLen = message->dataLen;
|
{
|
||||||
memcpy(recvPayload.data, message->data, maxDataLen);
|
DBG_ERROR("Payload length" PRIu16 " out of range.\n", message->dataLen);
|
||||||
SysMonitor_GenRecvRsp(&recvPayload);
|
return EIGNORE;
|
||||||
|
}
|
||||||
|
SYSMON_SVC_PAYLOAD *recvPayload = calloc(1, NORMALIZE_SIZE(sizeof(SYSMON_SVC_PAYLOAD)));
|
||||||
|
recvPayload->dataId = message->dataId;
|
||||||
|
recvPayload->nodeId = message->common.src;
|
||||||
|
recvPayload->dataLen = message->dataLen;
|
||||||
|
memcpy(recvPayload->data, message->data, message->dataLen);
|
||||||
|
SysMonitor_GenRecvRsp(recvPayload);
|
||||||
|
}
|
||||||
|
|
||||||
// Logging...
|
// Logging...
|
||||||
instPtr->log.rxLog.dataId = message->dataId;
|
instPtr->log.rxLog.dataId = message->dataId;
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
* @name SystemMonitor_Constants
|
* @name SystemMonitor_Constants
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
#define PAYLOAD_LEN_MAX 1000
|
#define PAYLOAD_LEN_MAX 2048
|
||||||
|
|
||||||
#define DATA_ID_NONE UINT32_MAX
|
#define DATA_ID_NONE UINT32_MAX
|
||||||
#define DATA_ID_TEST 0x02030203
|
#define DATA_ID_TEST 0x02030203
|
||||||
|
|||||||
Reference in New Issue
Block a user