From 2c45d1e5b8563d66961ef99506dee052ca3e9c67 Mon Sep 17 00:00:00 2001 From: Gatsby Van Date: Thu, 1 Feb 2024 17:09:59 +0800 Subject: [PATCH] add missing remote test --- .../src/networking/link_layer/link_layer.c | 1 + df_datalink_sp/src/systembus/systembus.c | 30 +++++++++++++++---- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/df_datalink_sp/src/networking/link_layer/link_layer.c b/df_datalink_sp/src/networking/link_layer/link_layer.c index bd4653d..9bf538e 100644 --- a/df_datalink_sp/src/networking/link_layer/link_layer.c +++ b/df_datalink_sp/src/networking/link_layer/link_layer.c @@ -1237,6 +1237,7 @@ int32_t Linklayer_Proc(L2_INST *instPtr) // TODO: // instPtr->linkLog.recxnCnt = // instPtr->linkLog.beamNo = + // instPtr->linkLog.beamWidth = // instPtr->linkLog.beamAz = // instPtr->linkLog.beamEl = instPtr->linkLog.advTxCnt = (uint16_t)instPtr->log.advTxCnt; diff --git a/df_datalink_sp/src/systembus/systembus.c b/df_datalink_sp/src/systembus/systembus.c index a99c4d4..68432a1 100644 --- a/df_datalink_sp/src/systembus/systembus.c +++ b/df_datalink_sp/src/systembus/systembus.c @@ -158,6 +158,15 @@ #define WD_FLJ_RM_TEST 0x02 #define FLJ_RM_TEST_CODE 0x99 // -- Response +#define WD_FLJ_TIME_STAMP 0x02 +#define WD_FLJ_TIME_STAMP_LEN 8 +#define WD_FLJ_LINK_LOG 0x0A +#define WD_FLJ_LINK_LOG_LEN 64 +#define WD_FLJ_PHY_LOG 0x4A +#define WD_FLJ_PHY_LOG_LEN 71 +#define WD_FLJ_HARDWARE_ST 0x91 +#define WD_FLJ_HARDWARE_ST_LEN 13 + #define FLJ_RM_TEST_RESP_LEN 158 // Remote Test LJ @@ -171,7 +180,7 @@ #define WD_LJ_LINK_LOG 0x0A #define WD_LJ_LINK_LOG_LEN 64 #define WD_LJ_PHY_LOG 0x4A -#define WD_LJ_PHY_LOG_LEN 81 +#define WD_LJ_PHY_LOG_LEN 71 #define WD_LJ_HARDWARE_ST 0x91 #define WD_LJ_HARDWARE_ST_LEN 13 @@ -557,11 +566,11 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr) uint64_t time; TimeCtrl_GetCurrentTime(linkInstPtr->config.tmcInstPtr, &tmWord); time = tmWord.int_part * TIME_FRAC_MAX + tmWord.frac_part; - memcpy(sysbusRsp->data + WD_LJ_TIME_STAMP, &time, WD_LJ_TIME_STAMP_LEN); + memcpy(sysbusRsp->data + WD_FLJ_TIME_STAMP, &time, WD_FLJ_TIME_STAMP_LEN); SysMonitor_GetSyslog(sysLogPtr); - memcpy(sysbusRsp->data + WD_LJ_LINK_LOG, &(sysLogPtr->linkLog), WD_LJ_LINK_LOG_LEN); - memcpy(sysbusRsp->data + WD_LJ_PHY_LOG, &(sysLogPtr->phyLog), WD_LJ_PHY_LOG_LEN); - memcpy(sysbusRsp->data + WD_LJ_HARDWARE_ST, &(sysLogPtr->hwState.spPsVolt), WD_LJ_HARDWARE_ST_LEN); + memcpy(sysbusRsp->data + WD_FLJ_LINK_LOG, &(sysLogPtr->linkLog), WD_FLJ_LINK_LOG_LEN); + memcpy(sysbusRsp->data + WD_FLJ_PHY_LOG, &(sysLogPtr->phyLog), WD_FLJ_PHY_LOG_LEN); + memcpy(sysbusRsp->data + WD_FLJ_HARDWARE_ST, &(sysLogPtr->hwState.spPsVolt), WD_FLJ_HARDWARE_ST_LEN); if (CircQueuePush(instPtr->txQueue, (void *)sysbusRsp) == false){ free(sysbusRsp); @@ -574,6 +583,7 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr) } case CMD_LJ_RM_TEST: { + SYSLOG *sysLogPtr = &(instPtr->sysLog); if (data[WD_LJ_RM_TEST] != LJ_RM_TEST_CODE) { DBG_WARNING("SystemBus::Invalid remote test code!\n"); @@ -592,6 +602,16 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr) sysbusRsp->data[WD_CMD] = CMD_LJ_RM_TEST; sysbusRsp->data[WD_PRD] = MY_PRD_ID; + TIME_WORD tmWord; + uint64_t time; + TimeCtrl_GetCurrentTime(linkInstPtr->config.tmcInstPtr, &tmWord); + time = tmWord.int_part * TIME_FRAC_MAX + tmWord.frac_part; + memcpy(sysbusRsp->data + WD_LJ_TIME_STAMP, &time, WD_LJ_TIME_STAMP_LEN); + SysMonitor_GetSyslog(sysLogPtr); + memcpy(sysbusRsp->data + WD_LJ_LINK_LOG, &(sysLogPtr->linkLog), WD_LJ_LINK_LOG_LEN); + memcpy(sysbusRsp->data + WD_LJ_PHY_LOG, &(sysLogPtr->phyLog), WD_LJ_PHY_LOG_LEN); + memcpy(sysbusRsp->data + WD_LJ_HARDWARE_ST, &(sysLogPtr->hwState.spPsVolt), WD_LJ_HARDWARE_ST_LEN); + if (CircQueuePush(instPtr->txQueue, (void *)sysbusRsp) == false){ free(sysbusRsp); DBG_WARNING("SystemBus::TX Queue overflowed!\n");