|
|
@@ -158,6 +158,15 @@
|
|
|
|
#define WD_FLJ_RM_TEST 0x02
|
|
|
|
#define WD_FLJ_RM_TEST 0x02
|
|
|
|
#define FLJ_RM_TEST_CODE 0x99
|
|
|
|
#define FLJ_RM_TEST_CODE 0x99
|
|
|
|
// -- Response
|
|
|
|
// -- 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
|
|
|
|
#define FLJ_RM_TEST_RESP_LEN 158
|
|
|
|
|
|
|
|
|
|
|
|
// Remote Test LJ
|
|
|
|
// Remote Test LJ
|
|
|
@@ -171,7 +180,7 @@
|
|
|
|
#define WD_LJ_LINK_LOG 0x0A
|
|
|
|
#define WD_LJ_LINK_LOG 0x0A
|
|
|
|
#define WD_LJ_LINK_LOG_LEN 64
|
|
|
|
#define WD_LJ_LINK_LOG_LEN 64
|
|
|
|
#define WD_LJ_PHY_LOG 0x4A
|
|
|
|
#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 0x91
|
|
|
|
#define WD_LJ_HARDWARE_ST_LEN 13
|
|
|
|
#define WD_LJ_HARDWARE_ST_LEN 13
|
|
|
|
|
|
|
|
|
|
|
@@ -320,7 +329,7 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr)
|
|
|
|
sysbusRsp->data[WD_ST_RET] = (hwStatsPtr->isSpOk && hwStatsPtr->isAntOk) ? ST_RET_OK : ST_RET_ERROR;
|
|
|
|
sysbusRsp->data[WD_ST_RET] = (hwStatsPtr->isSpOk && hwStatsPtr->isAntOk) ? ST_RET_OK : ST_RET_ERROR;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// apply status and omit 2 bytes of overhead.
|
|
|
|
// apply status and omit 2 bytes of overhead.
|
|
|
|
memcpy(sysbusRsp->data + WD_SP_PS_VOLT, &(hwStatsPtr->spPlAuxVolt), ST_RET_INFO_LEN);
|
|
|
|
memcpy(sysbusRsp->data + WD_SP_PS_VOLT, &(hwStatsPtr->spPsVolt), ST_RET_INFO_LEN);
|
|
|
|
|
|
|
|
|
|
|
|
if (CircQueuePush(instPtr->txQueue, (void *)sysbusRsp) == false)
|
|
|
|
if (CircQueuePush(instPtr->txQueue, (void *)sysbusRsp) == false)
|
|
|
|
{
|
|
|
|
{
|
|
|
@@ -557,11 +566,11 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr)
|
|
|
|
uint64_t time;
|
|
|
|
uint64_t time;
|
|
|
|
TimeCtrl_GetCurrentTime(linkInstPtr->config.tmcInstPtr, &tmWord);
|
|
|
|
TimeCtrl_GetCurrentTime(linkInstPtr->config.tmcInstPtr, &tmWord);
|
|
|
|
time = tmWord.int_part * TIME_FRAC_MAX + tmWord.frac_part;
|
|
|
|
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);
|
|
|
|
SysMonitor_GetSyslog(sysLogPtr);
|
|
|
|
memcpy(sysbusRsp->data + WD_LJ_LINK_LOG, &(sysLogPtr->linkLog), WD_LJ_LINK_LOG_LEN);
|
|
|
|
memcpy(sysbusRsp->data + WD_FLJ_LINK_LOG, &(sysLogPtr->linkLog), WD_FLJ_LINK_LOG_LEN);
|
|
|
|
memcpy(sysbusRsp->data + WD_LJ_PHY_LOG, &(sysLogPtr->phyLog), WD_LJ_PHY_LOG_LEN);
|
|
|
|
memcpy(sysbusRsp->data + WD_FLJ_PHY_LOG, &(sysLogPtr->phyLog), WD_FLJ_PHY_LOG_LEN);
|
|
|
|
memcpy(sysbusRsp->data + WD_LJ_HARDWARE_ST, &(sysLogPtr->hwState.spPsVolt), WD_LJ_HARDWARE_ST_LEN);
|
|
|
|
memcpy(sysbusRsp->data + WD_FLJ_HARDWARE_ST, &(sysLogPtr->hwState.spPsVolt), WD_FLJ_HARDWARE_ST_LEN);
|
|
|
|
|
|
|
|
|
|
|
|
if (CircQueuePush(instPtr->txQueue, (void *)sysbusRsp) == false){
|
|
|
|
if (CircQueuePush(instPtr->txQueue, (void *)sysbusRsp) == false){
|
|
|
|
free(sysbusRsp);
|
|
|
|
free(sysbusRsp);
|
|
|
@@ -574,6 +583,7 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case CMD_LJ_RM_TEST:
|
|
|
|
case CMD_LJ_RM_TEST:
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
SYSLOG *sysLogPtr = &(instPtr->sysLog);
|
|
|
|
if (data[WD_LJ_RM_TEST] != LJ_RM_TEST_CODE)
|
|
|
|
if (data[WD_LJ_RM_TEST] != LJ_RM_TEST_CODE)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
DBG_WARNING("SystemBus::Invalid remote test code!\n");
|
|
|
|
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_CMD] = CMD_LJ_RM_TEST;
|
|
|
|
sysbusRsp->data[WD_PRD] = MY_PRD_ID;
|
|
|
|
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){
|
|
|
|
if (CircQueuePush(instPtr->txQueue, (void *)sysbusRsp) == false){
|
|
|
|
free(sysbusRsp);
|
|
|
|
free(sysbusRsp);
|
|
|
|
DBG_WARNING("SystemBus::TX Queue overflowed!\n");
|
|
|
|
DBG_WARNING("SystemBus::TX Queue overflowed!\n");
|
|
|
|