Compare commits
3
Commits
a2c6ff83f7
...
2c45d1e5b8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2c45d1e5b8 | ||
|
|
9412f65c3c | ||
|
|
c0ebef41ee |
@@ -1237,6 +1237,7 @@ int32_t Linklayer_Proc(L2_INST *instPtr)
|
|||||||
// TODO:
|
// TODO:
|
||||||
// instPtr->linkLog.recxnCnt =
|
// instPtr->linkLog.recxnCnt =
|
||||||
// instPtr->linkLog.beamNo =
|
// instPtr->linkLog.beamNo =
|
||||||
|
// instPtr->linkLog.beamWidth =
|
||||||
// instPtr->linkLog.beamAz =
|
// instPtr->linkLog.beamAz =
|
||||||
// instPtr->linkLog.beamEl =
|
// instPtr->linkLog.beamEl =
|
||||||
instPtr->linkLog.advTxCnt = (uint16_t)instPtr->log.advTxCnt;
|
instPtr->linkLog.advTxCnt = (uint16_t)instPtr->log.advTxCnt;
|
||||||
|
|||||||
@@ -83,6 +83,7 @@ typedef struct __attribute__((packed))
|
|||||||
uint8_t linkStage;
|
uint8_t linkStage;
|
||||||
uint32_t recxnCnt;
|
uint32_t recxnCnt;
|
||||||
uint8_t beamNo;
|
uint8_t beamNo;
|
||||||
|
uint8_t beamWidth;
|
||||||
uint16_t beamAz;
|
uint16_t beamAz;
|
||||||
uint16_t beamEl;
|
uint16_t beamEl;
|
||||||
uint16_t advTxCnt;
|
uint16_t advTxCnt;
|
||||||
@@ -111,8 +112,8 @@ typedef struct __attribute__((packed))
|
|||||||
uint64_t acqMean;
|
uint64_t acqMean;
|
||||||
uint8_t acqPhase;
|
uint8_t acqPhase;
|
||||||
uint8_t acqFreqCh;
|
uint8_t acqFreqCh;
|
||||||
uint8_t fsyncPeak;
|
uint64_t fsyncPeak;
|
||||||
uint8_t fsyncMean;
|
uint64_t fsyncMean;
|
||||||
uint8_t fsyncFreqCh;
|
uint8_t fsyncFreqCh;
|
||||||
uint16_t deintlvAmpEst;
|
uint16_t deintlvAmpEst;
|
||||||
uint16_t reserve;
|
uint16_t reserve;
|
||||||
|
|||||||
@@ -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");
|
||||||
|
|||||||
Reference in New Issue
Block a user