Compare commits
16
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b27bc16ab0 | ||
|
|
99e564476b | ||
|
|
4d5a4ec0da | ||
|
|
2f63058882 | ||
|
|
413c984e85 | ||
|
|
448895866a | ||
|
|
aba91e02b0 | ||
|
|
56d0fd80d0 | ||
|
|
6acd4b1ca0 | ||
|
|
f4175cd7b5 | ||
|
|
678bb7f393 | ||
|
|
085e5cea93 | ||
|
|
3916b18a6f | ||
|
|
74d20c1010 | ||
|
|
25d89b30a1 | ||
|
|
632b1ec636 |
@@ -360,7 +360,9 @@ void ScuTimer_IntrHandler(void *context)
|
||||
if (XScuTimer_IsExpired((XScuTimer *)xdesc->instance))
|
||||
{
|
||||
// Update log
|
||||
Phy_UpdateHwSate(phyInstPtr);
|
||||
const HWSTATE *newHwState;
|
||||
newHwState = Phy_RefreshHwSate(phyInstPtr);
|
||||
SysMonitor_UpdateHardwareStatus(newHwState);
|
||||
XScuTimer_ClearInterruptStatus((XScuTimer *)xdesc->instance);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -361,7 +361,9 @@ void ScuTimer_IntrHandler(void *context)
|
||||
if (XScuTimer_IsExpired((XScuTimer *)xdesc->instance))
|
||||
{
|
||||
// Update log
|
||||
Phy_UpdateHwSate(phyInstPtr);
|
||||
const HWSTATE *newHwState;
|
||||
newHwState = Phy_RefreshHwSate(phyInstPtr);
|
||||
SysMonitor_UpdateHardwareStatus(newHwState);
|
||||
XScuTimer_ClearInterruptStatus((XScuTimer *)xdesc->instance);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -115,11 +115,11 @@ static int32_t Service_Packing(L2_INST *instPtr, L2_FRAME_TYPE type, uint8_t dst
|
||||
uint32_t dataId;
|
||||
if(L2_GetNodeType(instPtr) == L2_NODE_HEAD)
|
||||
{
|
||||
SysMonitor_GetSendPayloadFLJRaw(buff + L2_MSG_SVC_PAYLOAD, &dataId);
|
||||
SysMonitor_GetSendPayloadRaw(buff + L2_MSG_SVC_PAYLOAD, &dataId, PAYLOAD_LEN_FLJ_TX);
|
||||
}
|
||||
else
|
||||
{
|
||||
SysMonitor_GetSendPayloadLJRaw(buff + L2_MSG_SVC_PAYLOAD, &dataId);
|
||||
SysMonitor_GetSendPayloadRaw(buff + L2_MSG_SVC_PAYLOAD, &dataId, PAYLOAD_LEN_LJ_TX);
|
||||
}
|
||||
|
||||
L2_FrameInsertChunk(buff, L2_MSG_SVC_PAYLOAD_ID, L2_MSG_SVC_PAYLOAD_ID_LEN, &dataId);
|
||||
@@ -276,11 +276,11 @@ int32_t L2_Service_PktHandler(L2_INST *instPtr, uint8_t *msg)
|
||||
{
|
||||
if(L2_GetNodeType(instPtr) == L2_NODE_HEAD)
|
||||
{
|
||||
SysMonitor_UpdateRecvPayloadFLJRaw(msg+L2_MSG_SVC_PAYLOAD);
|
||||
SysMonitor_UpdateRecvPayloadRaw(msg+L2_MSG_SVC_PAYLOAD, PAYLOAD_LEN_FLJ_RX);
|
||||
}
|
||||
else
|
||||
{
|
||||
SysMonitor_UpdateRecvPayloadLJRaw(msg+L2_MSG_SVC_PAYLOAD);
|
||||
SysMonitor_UpdateRecvPayloadRaw(msg+L2_MSG_SVC_PAYLOAD, PAYLOAD_LEN_LJ_RX);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1110,41 +1110,74 @@ void Phy_RetrieveRecvData(PHY_INST *instPtr, uint8_t *dataBuff)
|
||||
* @param instPtr a pointer to hopping pattern buffer
|
||||
* @param patternLen a integer indicate the length of hopping pattern.
|
||||
*
|
||||
* @return SUCCESS
|
||||
* FAILURE pattern length exceeds maximum length.
|
||||
* @return pointer to new hardware status
|
||||
*
|
||||
******************************************************************************/
|
||||
void Phy_UpdateHwSate(PHY_INST *instPtr)
|
||||
const HWSTATE* Phy_RefreshHwSate(PHY_INST *instPtr)
|
||||
{
|
||||
ASSERT(instPtr != NULL);
|
||||
uint32_t rawData;
|
||||
#ifndef EMULATION
|
||||
// -- Update Chip voltage, unit mV
|
||||
float evalData;
|
||||
// -- Update Ps voltage, unit mV
|
||||
rawData = XAdcPs_GetAdcData(&(instPtr->hwXadc), XADCPS_CH_VCCPINT);
|
||||
instPtr->hwSate.spVolt = (uint16_t)(XAdcPs_RawToVoltage(rawData) * 1000);
|
||||
evalData = XAdcPs_RawToVoltage(rawData);
|
||||
instPtr->hwSate.spPsVolt = (evalData > VOLTAGE_MAX) ? UINT8_MAX : (uint8_t) evalData/VOLTAGE_LSB;
|
||||
|
||||
// -- Update Ps aux voltage, unit mV
|
||||
rawData = XAdcPs_GetAdcData(&(instPtr->hwXadc), XADCPS_CH_VCCPAUX);
|
||||
evalData = XAdcPs_RawToVoltage(rawData);
|
||||
instPtr->hwSate.spPsAuxVolt = (evalData > VOLTAGE_MAX) ? UINT8_MAX : (uint8_t) evalData/VOLTAGE_LSB;
|
||||
|
||||
// -- Update DDR voltage, unit mV
|
||||
rawData = XAdcPs_GetAdcData(&(instPtr->hwXadc), XADCPS_CH_VCCPDRO);
|
||||
evalData = XAdcPs_RawToVoltage(rawData);
|
||||
instPtr->hwSate.spDdrVolt = (evalData > VOLTAGE_MAX) ? UINT8_MAX : (uint8_t) evalData/VOLTAGE_LSB;
|
||||
|
||||
// -- Update PL voltage, unit mV
|
||||
rawData = XAdcPs_GetAdcData(&(instPtr->hwXadc), XADCPS_CH_VCCINT);
|
||||
evalData = XAdcPs_RawToVoltage(rawData);
|
||||
instPtr->hwSate.spPlVolt = (evalData > VOLTAGE_MAX) ? UINT8_MAX : (uint8_t) evalData/VOLTAGE_LSB;
|
||||
|
||||
// -- Update PL aux voltage, unit mV
|
||||
rawData = XAdcPs_GetAdcData(&(instPtr->hwXadc), XADCPS_CH_VCCAUX);
|
||||
evalData = XAdcPs_RawToVoltage(rawData);
|
||||
instPtr->hwSate.spPlAuxVolt = (evalData > VOLTAGE_MAX) ? UINT8_MAX : (uint8_t) evalData/VOLTAGE_LSB;
|
||||
|
||||
// -- Update Bram voltage, unit mV
|
||||
rawData = XAdcPs_GetAdcData(&(instPtr->hwXadc), XADCPS_CH_VBRAM);
|
||||
evalData = XAdcPs_RawToVoltage(rawData);
|
||||
instPtr->hwSate.spBramVolt = (evalData > VOLTAGE_MAX) ? UINT8_MAX : (uint8_t) evalData/VOLTAGE_LSB;
|
||||
|
||||
// -- Update Chip temperature, unit 0.01 deg
|
||||
rawData = XAdcPs_GetAdcData(&(instPtr->hwXadc), XADCPS_CH_TEMP);
|
||||
instPtr->hwSate.spTemp = (uint16_t)(XAdcPs_RawToTemperature(rawData) * 100);
|
||||
|
||||
// FIXME: Chip status determine.
|
||||
instPtr->hwSate.chipSt = 0;
|
||||
evalData = XAdcPs_RawToTemperature(rawData);
|
||||
instPtr->hwSate.spTemp = (evalData > TEMPERATURE_MAX)
|
||||
? INT8_MAX
|
||||
: ((evalData < TEMPERATURE_MIN) ? INT8_MIN : (int8_t) evalData/TEMPERATURE_LSB);
|
||||
// TODO: is OK?
|
||||
instPtr->hwSate.isSpOk = true;
|
||||
#else
|
||||
instPtr->hwSate.spVolt = 0;
|
||||
instPtr->hwSate.spTemp = 0;
|
||||
instPtr->hwSate.chipSt = 0;
|
||||
instPtr->spPsVolt = 0;
|
||||
instPtr->spPsAuxVolt = 0;
|
||||
instPtr->spDdrVolt = 0;
|
||||
instPtr->spPlVolt = 0;
|
||||
instPtr->spPlAuxVolt = 0;
|
||||
instPtr->spBramVolt = 0;
|
||||
instPtr->spTemp = 0;
|
||||
instPtr->isSpOk = true;
|
||||
#endif
|
||||
/*** Voltage and Status ***/
|
||||
rawData = PhyRead(instPtr, ANT_STATUS);
|
||||
// -- Update Antenna Status Code: 0xAA - normal, 0x55 - error
|
||||
instPtr->hwSate.antSt = ((rawData & ANT_STATUS_CODE_MASK) == 0) ? 0xAA : 0x55;
|
||||
// -- Update Antenna Voltage Status: 1 - normal, 0 - error
|
||||
// [0] - ANT voltage status
|
||||
// [2] - RF voltage status
|
||||
// [4] - NIL voltage status
|
||||
instPtr->hwSate.antVolt = (rawData & ANT_STATUS_ANT_VOLT_MASK) ? 0x01 : 0x00;
|
||||
instPtr->hwSate.antVolt |= (rawData & ANT_STATUS_RF_VOLT_MASK) ? 0x04 : 0x00;
|
||||
instPtr->hwSate.antVolt |= (rawData & ANT_STATUS_NIL_VOLT_MASK) ? 0x10 : 0x00;
|
||||
// [6] - Antenna status
|
||||
instPtr->hwSate.antVolt = (rawData & ANT_STATUS_ANT_VOLT_MASK != 0) ? 0x01 : 0x00;
|
||||
instPtr->hwSate.antVolt |= (rawData & ANT_STATUS_RF_VOLT_MASK!= 0) ? 0x04 : 0x00;
|
||||
instPtr->hwSate.antVolt |= (rawData & ANT_STATUS_NIL_VOLT_MASK!= 0) ? 0x10 : 0x00;
|
||||
instPtr->hwSate.antVolt |= (rawData & ANT_STATUS_CODE_MASK!= 0) ? 0x40 : 0x00;
|
||||
|
||||
/*** Temperature and Lock Status ***/
|
||||
rawData = PhyRead(instPtr, RF_STATUS);
|
||||
@@ -1165,9 +1198,20 @@ void Phy_UpdateHwSate(PHY_INST *instPtr)
|
||||
// [7:4] - Channel 2 MGC
|
||||
// [11:8] - Channel 3 MGC
|
||||
// [15:12] - Channel 4 MGC
|
||||
instPtr->hwSate.antMgc = (rawData & RF_MGC_CH1_MASK);
|
||||
instPtr->hwSate.antMgc |= (rawData & RF_MGC_CH2_MASK) >> 4;
|
||||
instPtr->hwSate.antMgc |= (rawData & RF_MGC_CH3_MASK) >> 8;
|
||||
instPtr->hwSate.antMgc |= (rawData & RF_MGC_CH4_MASK) >> 12;
|
||||
SysMonitor_UpdateHardwareStatus(&(instPtr->hwSate));
|
||||
instPtr->hwSate.antMgc0 = (rawData & RF_MGC_CH1_MASK);
|
||||
instPtr->hwSate.antMgc0 |= (rawData & RF_MGC_CH2_MASK) >> 4;
|
||||
instPtr->hwSate.antMgc1 = (rawData & RF_MGC_CH3_MASK) >> 16;
|
||||
instPtr->hwSate.antMgc1 |= (rawData & RF_MGC_CH4_MASK) >> 24;
|
||||
|
||||
// Determin if antenna is ok.
|
||||
if(instPtr->hwSate.antVolt != 0x55 //01010101
|
||||
||instPtr->hwSate.antPll != 0x15) // 00010101
|
||||
{
|
||||
instPtr->hwSate.isSpOk = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
instPtr->hwSate.isSpOk = true;
|
||||
}
|
||||
return (&(instPtr->hwSate));
|
||||
}
|
||||
|
||||
@@ -240,7 +240,7 @@ int32_t Phy_InstInit(PHY_INST **instPtr, PHY_CONFIG *phyConfig);
|
||||
void Phy_Destroy(PHY_INST *instPtr);
|
||||
|
||||
void Phy_UpdateState(PHY_INST *instPtr);
|
||||
void Phy_UpdateHwSate(PHY_INST *instPtr);
|
||||
const HWSTATE* Phy_RefreshHwSate(PHY_INST *instPtr);
|
||||
|
||||
void Phy_Start(PHY_INST *instPtr);
|
||||
void Phy_Halt(PHY_INST *instPtr);
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
* History:
|
||||
* [2021-11-16]: Initial version.
|
||||
* [2022-06-18]: New branch for glink control purpose:
|
||||
* -Add poll modephysical layer will start Tx/Rx procedure
|
||||
* -Add poll mode physical layer will start Tx/Rx procedure
|
||||
* at specific time stamp.
|
||||
* [2023-04-24]: Porting for DUIFEI.
|
||||
*
|
||||
@@ -33,7 +33,7 @@
|
||||
/**
|
||||
* Register: PHY_MAIN_CTRL
|
||||
*/
|
||||
#define PHY_MAIN_CTRL 0X00000000U
|
||||
#define PHY_MAIN_CTRL 0x00000000U
|
||||
#define PHY_MAIN_CTRL_EN_SHIFT 0
|
||||
#define PHY_MAIN_CTRL_EN_WIDTH 1
|
||||
#define PHY_MAIN_CTRL_EN_MASK 0x00000001U
|
||||
|
||||
@@ -78,14 +78,10 @@ int32_t SysMonitor_Init(void)
|
||||
memset(&(sysMonitorInst->protocolLogCtrl), BUFF_NONE, sizeof(PINGPONG));
|
||||
memset(&(sysMonitorInst->hwStateCtrl), BUFF_NONE, sizeof(PINGPONG));
|
||||
|
||||
sysMonitorInst->recvPL[0].dataId_flj = DATA_ID_NONE;
|
||||
sysMonitorInst->recvPL[0].dataId_lj = DATA_ID_NONE;
|
||||
sysMonitorInst->recvPL[1].dataId_flj = DATA_ID_NONE;
|
||||
sysMonitorInst->recvPL[1].dataId_lj = DATA_ID_NONE;
|
||||
sysMonitorInst->sendPL[0].dataId_flj = DATA_ID_NONE;
|
||||
sysMonitorInst->sendPL[0].dataId_lj = DATA_ID_NONE;
|
||||
sysMonitorInst->sendPL[1].dataId_flj = DATA_ID_NONE;
|
||||
sysMonitorInst->sendPL[1].dataId_lj = DATA_ID_NONE;
|
||||
sysMonitorInst->recvPL[0].dataId = DATA_ID_NONE;
|
||||
sysMonitorInst->recvPL[1].dataId = DATA_ID_NONE;
|
||||
sysMonitorInst->sendPL[0].dataId = DATA_ID_NONE;
|
||||
sysMonitorInst->sendPL[1].dataId = DATA_ID_NONE;
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
@@ -96,7 +92,7 @@ void SysMonitor_Destroy(void)
|
||||
}
|
||||
|
||||
// @System Info
|
||||
void SysMonitor_UpdateSysinfo(SYSINFO *info)
|
||||
void SysMonitor_UpdateSysinfo(const SYSINFO *info)
|
||||
{
|
||||
uint8_t buffIndx;
|
||||
buffIndx = GetWritable(sysMonitorInst->sysInfoCtrl);
|
||||
@@ -106,7 +102,7 @@ void SysMonitor_UpdateSysinfo(SYSINFO *info)
|
||||
sysMonitorInst->sysInfoCtrl.wBusy = BUFF_NONE;
|
||||
}
|
||||
|
||||
void SysMonitor_UpdateSysinfoRaw(uint8_t *buff)
|
||||
void SysMonitor_UpdateSysinfoRaw(const uint8_t *buff)
|
||||
{
|
||||
ASSERT(sysMonitorInst != NULL);
|
||||
uint8_t buffIndx;
|
||||
@@ -210,24 +206,24 @@ void SysMonitor_GetSysinfoRaw(uint8_t *buff)
|
||||
}
|
||||
// @Send Payload
|
||||
/**
|
||||
* Update send FLJ payload by raw data.
|
||||
* Update send payload by raw data.
|
||||
*/
|
||||
void SysMonitor_UpdateSendPayloadFLJRaw(uint8_t *buff)
|
||||
void SysMonitor_UpdateSendPayloadRaw(const uint8_t *buff, size_t len)
|
||||
{
|
||||
ASSERT(sysMonitorInst != NULL);
|
||||
uint8_t buffIndx;
|
||||
buffIndx = GetWritable(sysMonitorInst->sendPLCtrl);
|
||||
sysMonitorInst->sendPLCtrl.wBusy = buffIndx;
|
||||
memcpy(sysMonitorInst->sendPL[buffIndx].data_flj, buff, sizeof(uint8_t) * PAYLOAD_FLJ_TX);
|
||||
sysMonitorInst->sendPL[buffIndx].dataId_flj++;
|
||||
memcpy(sysMonitorInst->sendPL[buffIndx].data, buff, len);
|
||||
sysMonitorInst->sendPL[buffIndx].dataId++;
|
||||
sysMonitorInst->sendPLCtrl.latest = buffIndx;
|
||||
sysMonitorInst->sendPLCtrl.wBusy = BUFF_NONE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get send FLJ payload as raw data.
|
||||
* Get send payload as raw data.
|
||||
*/
|
||||
void SysMonitor_GetSendPayloadFLJRaw(uint8_t *buff, uint32_t *id)
|
||||
void SysMonitor_GetSendPayloadRaw(uint8_t *buff, uint32_t *id, size_t len)
|
||||
{
|
||||
ASSERT(sysMonitorInst != NULL);
|
||||
uint8_t buffIndx, buffIndex_old;
|
||||
@@ -237,70 +233,34 @@ void SysMonitor_GetSendPayloadFLJRaw(uint8_t *buff, uint32_t *id)
|
||||
else
|
||||
buffIndx = GetReadable(sysMonitorInst->sendPLCtrl);
|
||||
sysMonitorInst->sendPLCtrl.rBusy = buffIndx;
|
||||
if (sysMonitorInst->sendPL[buffIndx].dataId_flj != DATA_ID_NONE)
|
||||
if (sysMonitorInst->sendPL[buffIndx].dataId != DATA_ID_NONE)
|
||||
{
|
||||
memcpy(buff, sysMonitorInst->sendPL[buffIndx].data_flj, sizeof(uint8_t) * PAYLOAD_FLJ_TX);
|
||||
memcpy(buff, sysMonitorInst->sendPL[buffIndx].data, len);
|
||||
}
|
||||
*id = sysMonitorInst->sendPL[buffIndx].dataId_flj;
|
||||
sysMonitorInst->sendPLCtrl.rBusy = buffIndex_old;
|
||||
}
|
||||
|
||||
/**
|
||||
* Update LJ send payload by raw data.
|
||||
*/
|
||||
void SysMonitor_UpdateSendPayloadLJRaw(uint8_t *buff)
|
||||
{
|
||||
ASSERT(sysMonitorInst != NULL);
|
||||
uint8_t buffIndx;
|
||||
buffIndx = GetWritable(sysMonitorInst->sendPLCtrl);
|
||||
sysMonitorInst->sendPLCtrl.wBusy = buffIndx;
|
||||
memcpy(sysMonitorInst->sendPL[buffIndx].data_lj, buff, sizeof(uint8_t) * PAYLOAD_LJ_TX);
|
||||
sysMonitorInst->sendPL[buffIndx].dataId_lj++;
|
||||
sysMonitorInst->sendPLCtrl.latest = buffIndx;
|
||||
sysMonitorInst->sendPLCtrl.wBusy = BUFF_NONE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get send LJ payload as raw data.
|
||||
*/
|
||||
void SysMonitor_GetSendPayloadLJRaw(uint8_t *buff, uint32_t *id)
|
||||
{
|
||||
ASSERT(sysMonitorInst != NULL);
|
||||
uint8_t buffIndx, buffIndex_old;
|
||||
buffIndex_old = sysMonitorInst->sendPLCtrl.rBusy;
|
||||
if (buffIndex_old != BUFF_NONE)
|
||||
buffIndx = buffIndex_old; // Keep it busy
|
||||
else
|
||||
buffIndx = GetReadable(sysMonitorInst->sendPLCtrl);
|
||||
sysMonitorInst->sendPLCtrl.rBusy = buffIndx;
|
||||
if (sysMonitorInst->sendPL[buffIndx].dataId_lj != DATA_ID_NONE)
|
||||
{
|
||||
memcpy(buff, sysMonitorInst->sendPL[buffIndx].data_lj, sizeof(uint8_t) * PAYLOAD_LJ_TX);
|
||||
}
|
||||
*id = sysMonitorInst->sendPL[buffIndx].dataId_lj;
|
||||
*id = sysMonitorInst->sendPL[buffIndx].dataId;
|
||||
sysMonitorInst->sendPLCtrl.rBusy = buffIndex_old;
|
||||
}
|
||||
|
||||
// @Receive Payload
|
||||
/**
|
||||
* Update receive FLJ payload by raw data.
|
||||
* Update receive payload by raw data.
|
||||
*/
|
||||
void SysMonitor_UpdateRecvPayloadFLJRaw(uint8_t *buff)
|
||||
void SysMonitor_UpdateRecvPayloadRaw(const uint8_t *buff, size_t len)
|
||||
{
|
||||
ASSERT(sysMonitorInst != NULL);
|
||||
uint8_t buffIndx;
|
||||
buffIndx = GetWritable(sysMonitorInst->recvPLCtrl);
|
||||
sysMonitorInst->recvPLCtrl.wBusy = buffIndx;
|
||||
memcpy(sysMonitorInst->recvPL[buffIndx].data_flj, buff, sizeof(uint8_t) * PAYLOAD_FLJ_RX);
|
||||
sysMonitorInst->recvPL[buffIndx].dataId_flj++;
|
||||
memcpy(sysMonitorInst->recvPL[buffIndx].data, buff, len);
|
||||
sysMonitorInst->recvPL[buffIndx].dataId++;
|
||||
sysMonitorInst->recvPLCtrl.latest = buffIndx;
|
||||
sysMonitorInst->recvPLCtrl.wBusy = BUFF_NONE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get send FLJ payload as raw data.
|
||||
* Get send payload as raw data.
|
||||
*/
|
||||
void SysMonitor_GetRecvPayloadFLJRaw(uint8_t *buff, uint32_t *id)
|
||||
void SysMonitor_GetRecvPayloadRaw(uint8_t *buff, uint32_t *id, size_t len)
|
||||
{
|
||||
ASSERT(sysMonitorInst != NULL);
|
||||
uint8_t buffIndx, buffIndex_old;
|
||||
@@ -310,47 +270,11 @@ void SysMonitor_GetRecvPayloadFLJRaw(uint8_t *buff, uint32_t *id)
|
||||
else
|
||||
buffIndx = GetReadable(sysMonitorInst->recvPLCtrl);
|
||||
sysMonitorInst->recvPLCtrl.rBusy = buffIndx;
|
||||
if (sysMonitorInst->recvPL[buffIndx].dataId_flj != DATA_ID_NONE)
|
||||
if (sysMonitorInst->recvPL[buffIndx].dataId != DATA_ID_NONE)
|
||||
{
|
||||
memcpy(buff, sysMonitorInst->recvPL[buffIndx].data_flj, sizeof(uint8_t) * PAYLOAD_FLJ_RX);
|
||||
memcpy(buff, sysMonitorInst->recvPL[buffIndx].data, len);
|
||||
}
|
||||
*id = sysMonitorInst->recvPL[buffIndx].dataId_flj;
|
||||
sysMonitorInst->recvPLCtrl.rBusy = buffIndex_old;
|
||||
}
|
||||
|
||||
/**
|
||||
* Update receive LJ payload by raw data.
|
||||
*/
|
||||
void SysMonitor_UpdateRecvPayloadLJRaw(uint8_t *buff)
|
||||
{
|
||||
ASSERT(sysMonitorInst != NULL);
|
||||
uint8_t buffIndx;
|
||||
buffIndx = GetWritable(sysMonitorInst->recvPLCtrl);
|
||||
sysMonitorInst->recvPLCtrl.wBusy = buffIndx;
|
||||
memcpy(sysMonitorInst->recvPL[buffIndx].data_lj, buff, sizeof(uint8_t) * PAYLOAD_LJ_RX);
|
||||
sysMonitorInst->recvPL[buffIndx].dataId_lj++;
|
||||
sysMonitorInst->recvPLCtrl.latest = buffIndx;
|
||||
sysMonitorInst->recvPLCtrl.wBusy = BUFF_NONE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get send LJ payload as raw data.
|
||||
*/
|
||||
void SysMonitor_GetRecvPayloadLJRaw(uint8_t *buff, uint32_t *id)
|
||||
{
|
||||
ASSERT(sysMonitorInst != NULL);
|
||||
uint8_t buffIndx, buffIndex_old;
|
||||
buffIndex_old = sysMonitorInst->recvPLCtrl.rBusy;
|
||||
if (buffIndex_old != BUFF_NONE)
|
||||
buffIndx = buffIndex_old; // Keep it busy
|
||||
else
|
||||
buffIndx = GetReadable(sysMonitorInst->recvPLCtrl);
|
||||
sysMonitorInst->recvPLCtrl.rBusy = buffIndx;
|
||||
if (sysMonitorInst->recvPL[buffIndx].dataId_lj != DATA_ID_NONE)
|
||||
{
|
||||
memcpy(buff, sysMonitorInst->recvPL[buffIndx].data_lj, sizeof(uint8_t) * PAYLOAD_LJ_RX);
|
||||
}
|
||||
*id = sysMonitorInst->recvPL[buffIndx].dataId_lj;
|
||||
*id = sysMonitorInst->recvPL[buffIndx].dataId;
|
||||
sysMonitorInst->recvPLCtrl.rBusy = buffIndex_old;
|
||||
}
|
||||
|
||||
@@ -358,7 +282,7 @@ void SysMonitor_GetRecvPayloadLJRaw(uint8_t *buff, uint32_t *id)
|
||||
/**
|
||||
* Log send slot information
|
||||
*/
|
||||
void SysMonitor_UpdateSendSlotLog(SLOTLOG *log)
|
||||
void SysMonitor_UpdateSendSlotLog(const SLOTLOG *log)
|
||||
{
|
||||
ASSERT(sysMonitorInst != NULL);
|
||||
uint8_t buffIndx;
|
||||
@@ -422,7 +346,7 @@ void SysMonitor_GetSendSlotLogRaw(uint8_t *buff)
|
||||
/**
|
||||
* Log receive slot information
|
||||
*/
|
||||
void SysMonitor_UpdateRecvSlotLog(SLOTLOG *log)
|
||||
void SysMonitor_UpdateRecvSlotLog(const SLOTLOG *log)
|
||||
{
|
||||
ASSERT(sysMonitorInst != NULL);
|
||||
uint8_t buffIndx;
|
||||
@@ -486,7 +410,7 @@ void SysMonitor_GetRecvSlotLogRaw(uint8_t *buff)
|
||||
/**
|
||||
* Log protocol running status.
|
||||
*/
|
||||
void SysMonitor_UpdateProtocolLog(PRTCLLOG *log)
|
||||
void SysMonitor_UpdateProtocolLog(const PRTCLLOG *log)
|
||||
{
|
||||
ASSERT(sysMonitorInst != NULL);
|
||||
uint8_t buffIndx;
|
||||
@@ -551,7 +475,7 @@ void SysMonitor_GetProtocolLogRaw(uint8_t *buff)
|
||||
/**
|
||||
* Log hardware running status.
|
||||
*/
|
||||
void SysMonitor_UpdateHardwareStatus(HWSTATE *state)
|
||||
void SysMonitor_UpdateHardwareStatus(const HWSTATE *state)
|
||||
{
|
||||
ASSERT(sysMonitorInst != NULL);
|
||||
uint8_t buffIndx;
|
||||
@@ -579,40 +503,6 @@ void SysMonitor_GetHardwareStatus(HWSTATE *state)
|
||||
sysMonitorInst->hwStateCtrl.rBusy = buffIndex_old;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the latest hardware running status as raw data.
|
||||
*/
|
||||
void SysMonitor_GetHardwareStatusRaw(uint8_t *buff)
|
||||
{
|
||||
ASSERT(sysMonitorInst != NULL);
|
||||
uint8_t buffIndx, buffIndex_old;
|
||||
buffIndex_old = sysMonitorInst->hwStateCtrl.rBusy;
|
||||
if (buffIndex_old != BUFF_NONE)
|
||||
buffIndx = buffIndex_old; // Keep it busy
|
||||
else
|
||||
buffIndx = GetReadable(sysMonitorInst->hwStateCtrl);
|
||||
sysMonitorInst->hwStateCtrl.rBusy = buffIndx;
|
||||
|
||||
// Encapsulate state
|
||||
HWSTATE *stateEntry = &(sysMonitorInst->hwState[buffIndx]);
|
||||
memcpy(buff, &(stateEntry->spVolt), sizeof(stateEntry->spVolt));
|
||||
buff += sizeof(stateEntry->spVolt);
|
||||
memcpy(buff, &(stateEntry->spTemp), sizeof(stateEntry->spTemp));
|
||||
buff += sizeof(stateEntry->spTemp);
|
||||
memcpy(buff, &(stateEntry->chipSt), sizeof(stateEntry->chipSt));
|
||||
buff += sizeof(stateEntry->chipSt);
|
||||
memcpy(buff, &(stateEntry->antVolt), sizeof(stateEntry->antVolt));
|
||||
buff += sizeof(stateEntry->antVolt);
|
||||
memcpy(buff, &(stateEntry->antTemp), sizeof(stateEntry->antTemp));
|
||||
buff += sizeof(stateEntry->antTemp);
|
||||
memcpy(buff, &(stateEntry->antPll), sizeof(stateEntry->antPll));
|
||||
buff += sizeof(stateEntry->antPll);
|
||||
memcpy(buff, &(stateEntry->antMgc), sizeof(stateEntry->antMgc));
|
||||
buff += sizeof(stateEntry->antMgc);
|
||||
memcpy(buff, &(stateEntry->antSt), sizeof(stateEntry->antSt));
|
||||
sysMonitorInst->hwStateCtrl.rBusy = buffIndex_old;
|
||||
}
|
||||
|
||||
// @System log
|
||||
/**
|
||||
* Get the latest system running log.
|
||||
@@ -637,6 +527,4 @@ void SysMonitor_GetSyslogRaw(uint8_t *buff)
|
||||
SysMonitor_GetRecvSlotLogRaw(buff);
|
||||
buff += SLOTLOG_PACK_LEN;
|
||||
SysMonitor_GetProtocolLogRaw(buff);
|
||||
buff += PRTCLLOG_PACK_ELN;
|
||||
SysMonitor_GetHardwareStatusRaw(buff);
|
||||
}
|
||||
|
||||
@@ -4,15 +4,23 @@
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#define PAYLOAD_LEN 256
|
||||
#define PAYLOAD_FLJ_RX 168
|
||||
#define PAYLOAD_FLJ_TX 66
|
||||
#define PAYLOAD_LJ_RX 66
|
||||
#define PAYLOAD_LJ_TX 168
|
||||
#define PAYLOAD_LEN_MAX 256
|
||||
#define PAYLOAD_LEN_FLJ_RX 168
|
||||
#define PAYLOAD_LEN_FLJ_TX 66
|
||||
#define PAYLOAD_LEN_LJ_RX 66
|
||||
#define PAYLOAD_LEN_LJ_TX 168
|
||||
|
||||
#define DATA_ID_NONE UINT32_MAX
|
||||
#define DATA_ID_TEST 0x02030203
|
||||
|
||||
#define VOLTAGE_LSB 0.05 // volt
|
||||
#define VOLTAGE_MAX 12.75 // volt
|
||||
|
||||
#define TEMPERATURE_LSB 1.0 // Celsius degree
|
||||
#define TEMPERATURE_MAX 127.0 // Celsius degree
|
||||
#define TEMPERATURE_MIN -128.0 // Celsius degree
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
// FIXME: To Complete
|
||||
@@ -60,10 +68,8 @@ typedef struct
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t dataId_lj;
|
||||
uint8_t data_lj[PAYLOAD_LEN];
|
||||
uint32_t dataId_flj;
|
||||
uint8_t data_flj[PAYLOAD_LEN];
|
||||
uint32_t dataId;
|
||||
uint8_t data[PAYLOAD_LEN_MAX];
|
||||
} PAYLOAD;
|
||||
|
||||
typedef struct
|
||||
@@ -73,7 +79,7 @@ typedef struct
|
||||
uint8_t slotNo;
|
||||
uint8_t frameType;
|
||||
// Payload
|
||||
uint8_t payload[PAYLOAD_LEN];
|
||||
uint8_t payload[PAYLOAD_LEN_MAX];
|
||||
// Time sync info
|
||||
uint64_t tmStamp;
|
||||
uint32_t tmDevi;
|
||||
@@ -101,15 +107,21 @@ typedef struct
|
||||
{
|
||||
// Hardware log
|
||||
// -- Signal processor status
|
||||
uint16_t spVolt;
|
||||
uint16_t spTemp;
|
||||
uint8_t chipSt;
|
||||
uint8_t spPsVolt;
|
||||
uint8_t spPsAuxVolt;
|
||||
uint8_t spDdrVolt;
|
||||
uint8_t spPlVolt;
|
||||
uint8_t spPlAuxVolt;
|
||||
uint8_t spBramVolt;
|
||||
int8_t spTemp;
|
||||
bool isSpOk;
|
||||
// -- Antenna status
|
||||
uint8_t antVolt;
|
||||
uint8_t antTemp;
|
||||
uint8_t antPll;
|
||||
uint16_t antMgc;
|
||||
uint8_t antSt;
|
||||
uint8_t antMgc0;
|
||||
uint8_t antMgc1;
|
||||
bool isAntOk;
|
||||
} HWSTATE;
|
||||
|
||||
typedef struct
|
||||
@@ -130,23 +142,19 @@ typedef struct
|
||||
int32_t SysMonitor_Init(void);
|
||||
void SysMonitor_Destroy(void);
|
||||
|
||||
void SysMonitor_UpdateSysinfo(SYSINFO *info);
|
||||
void SysMonitor_UpdateSysinfoRaw(uint8_t *buff);
|
||||
void SysMonitor_UpdateSysinfo(const SYSINFO *info);
|
||||
void SysMonitor_UpdateSysinfoRaw(const uint8_t *buff);
|
||||
void SysMonitor_GetSysinfo(SYSINFO *info);
|
||||
void SysMonitor_GetSysinfoRaw(uint8_t *buff);
|
||||
|
||||
void SysMonitor_UpdateSendPayloadFLJRaw(uint8_t *buff);
|
||||
void SysMonitor_UpdateRecvPayloadFLJRaw(uint8_t *buff);
|
||||
void SysMonitor_UpdateSendPayloadLJRaw(uint8_t *buff);
|
||||
void SysMonitor_UpdateRecvPayloadLJRaw(uint8_t *buff);
|
||||
void SysMonitor_GetSendPayloadFLJRaw(uint8_t *buff, uint32_t *id);
|
||||
void SysMonitor_GetRecvPayloadFLJRaw(uint8_t *buff, uint32_t *id);
|
||||
void SysMonitor_GetSendPayloadLJRaw(uint8_t *buff, uint32_t *id);
|
||||
void SysMonitor_GetRecvPayloadLJRaw(uint8_t *buff, uint32_t *id);
|
||||
void SysMonitor_UpdateSendPayloadRaw(const uint8_t *buff, size_t len);
|
||||
void SysMonitor_UpdateRecvPayloadRaw(const uint8_t *buff, size_t len);
|
||||
void SysMonitor_GetSendPayloadRaw(uint8_t *buff, uint32_t *id, size_t len);
|
||||
void SysMonitor_GetRecvPayloadRaw(uint8_t *buff, uint32_t *id, size_t len);
|
||||
|
||||
void SysMonitor_UpdateSendSlotLog(SLOTLOG *log);
|
||||
void SysMonitor_UpdateRecvSlotLog(SLOTLOG *log);
|
||||
void SysMonitor_UpdateProtocolLog(PRTCLLOG *log);
|
||||
void SysMonitor_UpdateSendSlotLog(const SLOTLOG *log);
|
||||
void SysMonitor_UpdateRecvSlotLog(const SLOTLOG *log);
|
||||
void SysMonitor_UpdateProtocolLog(const PRTCLLOG *log);
|
||||
void SysMonitor_GetSendSlotLog(SLOTLOG *log);
|
||||
void SysMonitor_GetRecvSlotLog(SLOTLOG *log);
|
||||
void SysMonitor_GetProtocolLog(PRTCLLOG *log);
|
||||
@@ -154,9 +162,8 @@ void SysMonitor_GetSendSlotLogRaw(uint8_t *buff);
|
||||
void SysMonitor_GetRecvSlotLogRaw(uint8_t *buff);
|
||||
void SysMonitor_GetProtocolLogRaw(uint8_t *buff);
|
||||
|
||||
void SysMonitor_UpdateHardwareStatus(HWSTATE *state);
|
||||
void SysMonitor_UpdateHardwareStatus(const HWSTATE *state);
|
||||
void SysMonitor_GetHardwareStatus(HWSTATE *state);
|
||||
void SysMonitor_GetHardwareStatusRaw(uint8_t *buff);
|
||||
|
||||
void SysMonitor_GetSyslog(SYSLOG *log);
|
||||
void SysMonitor_GetSyslogRaw(uint8_t *buff);
|
||||
|
||||
@@ -51,25 +51,33 @@
|
||||
#define WD_ST_RET 0x02
|
||||
#define ST_RET_OK 0xAA
|
||||
#define ST_RET_ERROR 0x55
|
||||
// -- -- Signal processor voltage
|
||||
#define WD_SP_VOLT 0x03
|
||||
|
||||
// -- -- Signal processor PS voltage
|
||||
#define WD_SP_PS_VOLT 0x03
|
||||
// -- -- Signal processor PS AUX voltage
|
||||
#define WD_SP_PSAUX_VOLT 0x04
|
||||
// -- -- Signal processor DDR voltage
|
||||
#define WD_SP_DDR_VOLT 0x05
|
||||
// -- -- Signal processor PL voltage
|
||||
#define WD_SP_PL_VOLT 0x06
|
||||
// -- -- Signal processor PL AUX voltage
|
||||
#define WD_SP_PLAUX_VOLT 0x07
|
||||
// -- -- Signal processor Bram voltage
|
||||
#define WD_SP_BRAM_VOLT 0x08
|
||||
// -- -- Signal processor temperature
|
||||
#define WD_SP_TEMP 0x04
|
||||
// -- -- Signal processor chip status
|
||||
#define WD_SP_CS 0x05
|
||||
// -- -- Signal processor antenna voltage
|
||||
#define WD_ANT_VOLT 0x06
|
||||
// -- -- Signal processor antenna temperature
|
||||
#define WD_ANT_TEMP 0x07
|
||||
#define WD_SP_TEMP 0x09
|
||||
|
||||
// -- -- Signal processor antenna voltage status
|
||||
#define WD_ANT_VOLT 0x0A
|
||||
// -- -- Signal processor antenna RF temperature
|
||||
#define WD_ANT_RF_TEMP 0x0B
|
||||
// -- -- Signal processor antenna PLL lock status
|
||||
#define WD_ANT_PLL 0x08
|
||||
#define WD_ANT_RF_PLL 0x0C
|
||||
// -- -- Signal processor antenna MGC
|
||||
#define WD_ANT_MGC_L 0x09
|
||||
#define WD_ANT_MGC_H 0x0A
|
||||
// -- -- Signal processor antenna status
|
||||
#define WD_ANT_ST 0x0B
|
||||
#define WD_ANT_MGC_0 0x0D
|
||||
#define WD_ANT_MGC_1 0x0E
|
||||
// -- -- Dummy must be 0x00
|
||||
#define WD_ST_DUMMY 0x0C
|
||||
#define WD_ST_DUMMY 0x0F
|
||||
|
||||
// Data Send Test Command
|
||||
#define CMD_DATA_TEST_A 0xE2
|
||||
@@ -281,6 +289,7 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr)
|
||||
{
|
||||
case CMD_SELF_TEST:
|
||||
{
|
||||
const HWSTATE *hwStatsPtr;
|
||||
sysbusRsp = malloc(sizeof(SYSBUS_UART_FRAME));
|
||||
if (sysbusRsp == NULL) {
|
||||
DBG_ERROR("Failed to allocate memory for SELF TEST Response!\n");
|
||||
@@ -291,9 +300,29 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr)
|
||||
memset(sysbusRsp->data, 0x00, ST_RSP_LEN);
|
||||
sysbusRsp->data[WD_CMD] = CMD_SELF_TEST;
|
||||
sysbusRsp->data[WD_PRD] = MY_PRD_ID;
|
||||
hwStatsPtr = Phy_RefreshHwSate(linkInstPtr->config.phyInstPtr);
|
||||
if (linkInstPtr->isEnable == false)
|
||||
{
|
||||
sysbusRsp->data[WD_ST_RET] = (hwStatsPtr->isSpOk) ? ST_RET_OK : ST_RET_ERROR;
|
||||
}
|
||||
else
|
||||
{
|
||||
sysbusRsp->data[WD_ST_RET] = (hwStatsPtr->isSpOk && hwStatsPtr->isAntOk) ? ST_RET_OK : ST_RET_ERROR;
|
||||
}
|
||||
sysbusRsp->data[WD_SP_PS_VOLT] = hwStatsPtr->spPsVolt;
|
||||
sysbusRsp->data[WD_SP_PSAUX_VOLT] = hwStatsPtr->spPsAuxVolt;
|
||||
sysbusRsp->data[WD_SP_DDR_VOLT] = hwStatsPtr->spDdrVolt;
|
||||
sysbusRsp->data[WD_SP_PL_VOLT] = hwStatsPtr->spPlVolt;
|
||||
sysbusRsp->data[WD_SP_PLAUX_VOLT] = hwStatsPtr->spPlAuxVolt;
|
||||
sysbusRsp->data[WD_SP_BRAM_VOLT] = hwStatsPtr->spBramVolt;
|
||||
sysbusRsp->data[WD_SP_TEMP] = hwStatsPtr->spTemp;
|
||||
sysbusRsp->data[WD_ANT_VOLT] = hwStatsPtr->antVolt;
|
||||
sysbusRsp->data[WD_ANT_RF_TEMP] = hwStatsPtr->antTemp;
|
||||
sysbusRsp->data[WD_ANT_RF_PLL] = hwStatsPtr->antPll;
|
||||
sysbusRsp->data[WD_ANT_MGC_0] = hwStatsPtr->antMgc0;
|
||||
sysbusRsp->data[WD_ANT_MGC_1] = hwStatsPtr->antMgc1;
|
||||
sysbusRsp->data[WD_ST_DUMMY] = 0; // dummy byte should always be 0
|
||||
|
||||
// FIXME: run self-test and insert result
|
||||
sysbusRsp->data[WD_ST_RET] = ST_RET_OK;
|
||||
if (CircQueuePush(instPtr->txQueue, (void *)sysbusRsp) == false)
|
||||
{
|
||||
free(sysbusRsp);
|
||||
@@ -349,14 +378,16 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr)
|
||||
PHY_INST *phyRef = linkInstPtr->config.phyInstPtr;
|
||||
TMC_INST *tmcRef = linkInstPtr->config.tmcInstPtr;
|
||||
|
||||
if (data[WD_MODE_CMD] == MODE_CMD_HEAD)
|
||||
if (data[WD_MODE_CMD] == MODE_CMD_HEAD
|
||||
&& L2_GetNodeType(linkInstPtr) != L2_NODE_HEAD)
|
||||
{
|
||||
// head node config
|
||||
linkConfig.myType = L2_NODE_HEAD;
|
||||
linkConfig.myId = 1;
|
||||
Linklayer_Reconfig(linkInstPtr, &linkConfig);
|
||||
}
|
||||
else if (data[WD_MODE_CMD] == MODE_CMD_MEMBER)
|
||||
else if (data[WD_MODE_CMD] == MODE_CMD_MEMBER
|
||||
&& L2_GetNodeType(linkInstPtr) != L2_NODE_MEMBER)
|
||||
{
|
||||
// member node config
|
||||
linkConfig.myType = L2_NODE_MEMBER;
|
||||
@@ -365,29 +396,29 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr)
|
||||
}
|
||||
else
|
||||
{
|
||||
// FIXME:
|
||||
// FIXME: to confirm
|
||||
// Halt linklayer
|
||||
Linklayer_Halt(linkInstPtr);
|
||||
DBG_ERROR("Unexpected config command 0x%02X:0x%02X",
|
||||
WD_MODE_CMD, data[WD_MODE_CMD]);
|
||||
Status = EPARAM;
|
||||
break;
|
||||
}
|
||||
|
||||
if(data[WD_EN_CMD] == EN_CMD_ON_HIGH_POWER)
|
||||
{
|
||||
// high power config
|
||||
Phy_AntConfigMode(phyRef, PHY_ANT_MODE_HIGH_POWER);
|
||||
Linklayer_Start(linkInstPtr);
|
||||
|
||||
}
|
||||
else if(data[WD_EN_CMD] == EN_CMD_ON_LOW_POWER)
|
||||
{
|
||||
// low power config
|
||||
Phy_AntConfigMode(phyRef, PHY_ANT_MODE_LOW_POWER);
|
||||
Linklayer_Start(linkInstPtr);
|
||||
}
|
||||
else
|
||||
{
|
||||
// silence config
|
||||
// FIXME: confirm
|
||||
// TODO: better approach?
|
||||
Linklayer_Halt(linkInstPtr);
|
||||
Phy_AntConfigMode(phyRef, PHY_ANT_MODE_SILENT);
|
||||
@@ -399,9 +430,10 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr)
|
||||
DBG_ERROR("Physical set pull time failed, with error code: %" PRId32 ".\n", Status);
|
||||
}
|
||||
Phy_SetupNextSlot(phyRef, PHY_TOR_RX, L1_10KBPS_10MS_FRAME, NULL);
|
||||
break;
|
||||
}
|
||||
|
||||
_nop_(); // for debug
|
||||
Linklayer_Start(linkInstPtr);
|
||||
Status = SUCCESS;
|
||||
break;
|
||||
}
|
||||
@@ -414,12 +446,12 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr)
|
||||
// TODO
|
||||
case CMD_FLJ_SEND:
|
||||
{
|
||||
SysMonitor_UpdateSendPayloadFLJRaw(data + FLJ_DATA_OFFSET); // omit control info
|
||||
SysMonitor_UpdateSendPayloadRaw(data + FLJ_DATA_OFFSET, PAYLOAD_LEN_FLJ_TX); // omit control info
|
||||
break;
|
||||
}
|
||||
case CMD_LJ_SEND:
|
||||
{
|
||||
SysMonitor_UpdateSendPayloadLJRaw(data + LJ_DATA_OFFSET); // omit control info
|
||||
SysMonitor_UpdateSendPayloadRaw(data + LJ_DATA_OFFSET, PAYLOAD_LEN_LJ_TX); // omit control info
|
||||
break;
|
||||
}
|
||||
case CMD_FLJ_POLL:
|
||||
@@ -440,7 +472,7 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr)
|
||||
sysbusRsp->data[WD_CMD] = CMD_FLJ_POLL;
|
||||
sysbusRsp->data[WD_PRD] = MY_PRD_ID;
|
||||
uint32_t dataId;
|
||||
SysMonitor_GetRecvPayloadFLJRaw(sysbusRsp->data + FLJ_DATA_OFFSET, &dataId); // omit control info
|
||||
SysMonitor_GetRecvPayloadRaw(sysbusRsp->data + FLJ_DATA_OFFSET, &dataId, PAYLOAD_LEN_FLJ_RX); // omit control info
|
||||
if (dataId == DATA_ID_NONE)
|
||||
{
|
||||
free(sysbusRsp);
|
||||
@@ -476,7 +508,7 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr)
|
||||
sysbusRsp->data[WD_CMD] = CMD_LJ_POLL;
|
||||
sysbusRsp->data[WD_PRD] = MY_PRD_ID;
|
||||
uint32_t dataId;
|
||||
SysMonitor_GetRecvPayloadLJRaw(sysbusRsp->data + LJ_DATA_OFFSET, &dataId); // omit control info
|
||||
SysMonitor_GetRecvPayloadRaw(sysbusRsp->data + LJ_DATA_OFFSET, &dataId, PAYLOAD_LEN_LJ_RX); // omit control info
|
||||
if (dataId == DATA_ID_NONE)
|
||||
{
|
||||
free(sysbusRsp);
|
||||
@@ -562,18 +594,6 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr)
|
||||
return Status;
|
||||
}
|
||||
|
||||
int32_t SystemBus_FLJ_PeriodUpdate(SYSBUS *instPtr)
|
||||
{
|
||||
// TODO
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
int32_t SystemBus_LJ_PeriodUpdate(SYSBUS *instPtr)
|
||||
{
|
||||
// TODO
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/**
|
||||
* @brief This function send a repose frame from system bus tx queue.
|
||||
|
||||
@@ -47,10 +47,6 @@ typedef struct
|
||||
int32_t SystemBus_Init(SYSBUS **instPtr, SYSBUS_CONFIG *config);
|
||||
|
||||
int32_t SystemBus_HandleCmd(SYSBUS *instPtr);
|
||||
|
||||
int32_t SystemBus_FLJ_PeriodUpdate(SYSBUS *instPtr);
|
||||
int32_t SystemBus_LJ_PeriodUpdate(SYSBUS *instPtr);
|
||||
|
||||
int32_t SystemBus_MakeResp(SYSBUS *instPtr);
|
||||
|
||||
int32_t SystemBus_TxIntrHandler(SYSBUS *instPtr);
|
||||
|
||||
@@ -56,7 +56,6 @@ clist_new(void)
|
||||
|
||||
void clist_clear(clist_t *self)
|
||||
{
|
||||
uint32_t len = self->len;
|
||||
clist_node_t *next;
|
||||
clist_node_t *curr = self->head;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user