Compare commits
7
Commits
alpha-0.1
...
f4175cd7b5
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f4175cd7b5 | ||
|
|
678bb7f393 | ||
|
|
085e5cea93 | ||
|
|
3916b18a6f | ||
|
|
74d20c1010 | ||
|
|
25d89b30a1 | ||
|
|
632b1ec636 |
@@ -115,11 +115,11 @@ static int32_t Service_Packing(L2_INST *instPtr, L2_FRAME_TYPE type, uint8_t dst
|
|||||||
uint32_t dataId;
|
uint32_t dataId;
|
||||||
if(L2_GetNodeType(instPtr) == L2_NODE_HEAD)
|
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
|
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);
|
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)
|
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
|
else
|
||||||
{
|
{
|
||||||
SysMonitor_UpdateRecvPayloadLJRaw(msg+L2_MSG_SVC_PAYLOAD);
|
SysMonitor_UpdateRecvPayloadRaw(msg+L2_MSG_SVC_PAYLOAD, PAYLOAD_LEN_LJ_RX);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -78,14 +78,10 @@ int32_t SysMonitor_Init(void)
|
|||||||
memset(&(sysMonitorInst->protocolLogCtrl), BUFF_NONE, sizeof(PINGPONG));
|
memset(&(sysMonitorInst->protocolLogCtrl), BUFF_NONE, sizeof(PINGPONG));
|
||||||
memset(&(sysMonitorInst->hwStateCtrl), BUFF_NONE, sizeof(PINGPONG));
|
memset(&(sysMonitorInst->hwStateCtrl), BUFF_NONE, sizeof(PINGPONG));
|
||||||
|
|
||||||
sysMonitorInst->recvPL[0].dataId_flj = DATA_ID_NONE;
|
sysMonitorInst->recvPL[0].dataId = DATA_ID_NONE;
|
||||||
sysMonitorInst->recvPL[0].dataId_lj = DATA_ID_NONE;
|
sysMonitorInst->recvPL[1].dataId = DATA_ID_NONE;
|
||||||
sysMonitorInst->recvPL[1].dataId_flj = DATA_ID_NONE;
|
sysMonitorInst->sendPL[0].dataId = DATA_ID_NONE;
|
||||||
sysMonitorInst->recvPL[1].dataId_lj = DATA_ID_NONE;
|
sysMonitorInst->sendPL[1].dataId = 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;
|
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -210,24 +206,24 @@ void SysMonitor_GetSysinfoRaw(uint8_t *buff)
|
|||||||
}
|
}
|
||||||
// @Send Payload
|
// @Send Payload
|
||||||
/**
|
/**
|
||||||
* Update send FLJ payload by raw data.
|
* Update send payload by raw data.
|
||||||
*/
|
*/
|
||||||
void SysMonitor_UpdateSendPayloadFLJRaw(uint8_t *buff)
|
void SysMonitor_UpdateSendPayloadRaw(uint8_t *buff, size_t len)
|
||||||
{
|
{
|
||||||
ASSERT(sysMonitorInst != NULL);
|
ASSERT(sysMonitorInst != NULL);
|
||||||
uint8_t buffIndx;
|
uint8_t buffIndx;
|
||||||
buffIndx = GetWritable(sysMonitorInst->sendPLCtrl);
|
buffIndx = GetWritable(sysMonitorInst->sendPLCtrl);
|
||||||
sysMonitorInst->sendPLCtrl.wBusy = buffIndx;
|
sysMonitorInst->sendPLCtrl.wBusy = buffIndx;
|
||||||
memcpy(sysMonitorInst->sendPL[buffIndx].data_flj, buff, sizeof(uint8_t) * PAYLOAD_FLJ_TX);
|
memcpy(sysMonitorInst->sendPL[buffIndx].data, buff, len);
|
||||||
sysMonitorInst->sendPL[buffIndx].dataId_flj++;
|
sysMonitorInst->sendPL[buffIndx].dataId++;
|
||||||
sysMonitorInst->sendPLCtrl.latest = buffIndx;
|
sysMonitorInst->sendPLCtrl.latest = buffIndx;
|
||||||
sysMonitorInst->sendPLCtrl.wBusy = BUFF_NONE;
|
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);
|
ASSERT(sysMonitorInst != NULL);
|
||||||
uint8_t buffIndx, buffIndex_old;
|
uint8_t buffIndx, buffIndex_old;
|
||||||
@@ -237,70 +233,34 @@ void SysMonitor_GetSendPayloadFLJRaw(uint8_t *buff, uint32_t *id)
|
|||||||
else
|
else
|
||||||
buffIndx = GetReadable(sysMonitorInst->sendPLCtrl);
|
buffIndx = GetReadable(sysMonitorInst->sendPLCtrl);
|
||||||
sysMonitorInst->sendPLCtrl.rBusy = buffIndx;
|
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;
|
*id = sysMonitorInst->sendPL[buffIndx].dataId;
|
||||||
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;
|
|
||||||
sysMonitorInst->sendPLCtrl.rBusy = buffIndex_old;
|
sysMonitorInst->sendPLCtrl.rBusy = buffIndex_old;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Receive Payload
|
// @Receive Payload
|
||||||
/**
|
/**
|
||||||
* Update receive FLJ payload by raw data.
|
* Update receive payload by raw data.
|
||||||
*/
|
*/
|
||||||
void SysMonitor_UpdateRecvPayloadFLJRaw(uint8_t *buff)
|
void SysMonitor_UpdateRecvPayloadRaw(uint8_t *buff, size_t len)
|
||||||
{
|
{
|
||||||
ASSERT(sysMonitorInst != NULL);
|
ASSERT(sysMonitorInst != NULL);
|
||||||
uint8_t buffIndx;
|
uint8_t buffIndx;
|
||||||
buffIndx = GetWritable(sysMonitorInst->recvPLCtrl);
|
buffIndx = GetWritable(sysMonitorInst->recvPLCtrl);
|
||||||
sysMonitorInst->recvPLCtrl.wBusy = buffIndx;
|
sysMonitorInst->recvPLCtrl.wBusy = buffIndx;
|
||||||
memcpy(sysMonitorInst->recvPL[buffIndx].data_flj, buff, sizeof(uint8_t) * PAYLOAD_FLJ_RX);
|
memcpy(sysMonitorInst->recvPL[buffIndx].data, buff, len);
|
||||||
sysMonitorInst->recvPL[buffIndx].dataId_flj++;
|
sysMonitorInst->recvPL[buffIndx].dataId++;
|
||||||
sysMonitorInst->recvPLCtrl.latest = buffIndx;
|
sysMonitorInst->recvPLCtrl.latest = buffIndx;
|
||||||
sysMonitorInst->recvPLCtrl.wBusy = BUFF_NONE;
|
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);
|
ASSERT(sysMonitorInst != NULL);
|
||||||
uint8_t buffIndx, buffIndex_old;
|
uint8_t buffIndx, buffIndex_old;
|
||||||
@@ -310,47 +270,11 @@ void SysMonitor_GetRecvPayloadFLJRaw(uint8_t *buff, uint32_t *id)
|
|||||||
else
|
else
|
||||||
buffIndx = GetReadable(sysMonitorInst->recvPLCtrl);
|
buffIndx = GetReadable(sysMonitorInst->recvPLCtrl);
|
||||||
sysMonitorInst->recvPLCtrl.rBusy = buffIndx;
|
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;
|
*id = sysMonitorInst->recvPL[buffIndx].dataId;
|
||||||
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;
|
|
||||||
sysMonitorInst->recvPLCtrl.rBusy = buffIndex_old;
|
sysMonitorInst->recvPLCtrl.rBusy = buffIndex_old;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,11 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
#define PAYLOAD_LEN 256
|
#define PAYLOAD_LEN_MAX 256
|
||||||
#define PAYLOAD_FLJ_RX 168
|
#define PAYLOAD_LEN_FLJ_RX 168
|
||||||
#define PAYLOAD_FLJ_TX 66
|
#define PAYLOAD_LEN_FLJ_TX 66
|
||||||
#define PAYLOAD_LJ_RX 66
|
#define PAYLOAD_LEN_LJ_RX 66
|
||||||
#define PAYLOAD_LJ_TX 168
|
#define PAYLOAD_LEN_LJ_TX 168
|
||||||
|
|
||||||
#define DATA_ID_NONE UINT32_MAX
|
#define DATA_ID_NONE UINT32_MAX
|
||||||
#define DATA_ID_TEST 0x02030203
|
#define DATA_ID_TEST 0x02030203
|
||||||
@@ -60,10 +60,8 @@ typedef struct
|
|||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
uint32_t dataId_lj;
|
uint32_t dataId;
|
||||||
uint8_t data_lj[PAYLOAD_LEN];
|
uint8_t data[PAYLOAD_LEN_MAX];
|
||||||
uint32_t dataId_flj;
|
|
||||||
uint8_t data_flj[PAYLOAD_LEN];
|
|
||||||
} PAYLOAD;
|
} PAYLOAD;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
@@ -73,7 +71,7 @@ typedef struct
|
|||||||
uint8_t slotNo;
|
uint8_t slotNo;
|
||||||
uint8_t frameType;
|
uint8_t frameType;
|
||||||
// Payload
|
// Payload
|
||||||
uint8_t payload[PAYLOAD_LEN];
|
uint8_t payload[PAYLOAD_LEN_MAX];
|
||||||
// Time sync info
|
// Time sync info
|
||||||
uint64_t tmStamp;
|
uint64_t tmStamp;
|
||||||
uint32_t tmDevi;
|
uint32_t tmDevi;
|
||||||
@@ -135,14 +133,10 @@ void SysMonitor_UpdateSysinfoRaw(uint8_t *buff);
|
|||||||
void SysMonitor_GetSysinfo(SYSINFO *info);
|
void SysMonitor_GetSysinfo(SYSINFO *info);
|
||||||
void SysMonitor_GetSysinfoRaw(uint8_t *buff);
|
void SysMonitor_GetSysinfoRaw(uint8_t *buff);
|
||||||
|
|
||||||
void SysMonitor_UpdateSendPayloadFLJRaw(uint8_t *buff);
|
void SysMonitor_UpdateSendPayloadRaw(uint8_t *buff, size_t len);
|
||||||
void SysMonitor_UpdateRecvPayloadFLJRaw(uint8_t *buff);
|
void SysMonitor_UpdateRecvPayloadRaw(uint8_t *buff, size_t len);
|
||||||
void SysMonitor_UpdateSendPayloadLJRaw(uint8_t *buff);
|
void SysMonitor_GetSendPayloadRaw(uint8_t *buff, uint32_t *id, size_t len);
|
||||||
void SysMonitor_UpdateRecvPayloadLJRaw(uint8_t *buff);
|
void SysMonitor_GetRecvPayloadRaw(uint8_t *buff, uint32_t *id, size_t len);
|
||||||
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_UpdateSendSlotLog(SLOTLOG *log);
|
void SysMonitor_UpdateSendSlotLog(SLOTLOG *log);
|
||||||
void SysMonitor_UpdateRecvSlotLog(SLOTLOG *log);
|
void SysMonitor_UpdateRecvSlotLog(SLOTLOG *log);
|
||||||
|
|||||||
@@ -349,14 +349,16 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr)
|
|||||||
PHY_INST *phyRef = linkInstPtr->config.phyInstPtr;
|
PHY_INST *phyRef = linkInstPtr->config.phyInstPtr;
|
||||||
TMC_INST *tmcRef = linkInstPtr->config.tmcInstPtr;
|
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
|
// head node config
|
||||||
linkConfig.myType = L2_NODE_HEAD;
|
linkConfig.myType = L2_NODE_HEAD;
|
||||||
linkConfig.myId = 1;
|
linkConfig.myId = 1;
|
||||||
Linklayer_Reconfig(linkInstPtr, &linkConfig);
|
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
|
// member node config
|
||||||
linkConfig.myType = L2_NODE_MEMBER;
|
linkConfig.myType = L2_NODE_MEMBER;
|
||||||
@@ -365,29 +367,29 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// FIXME:
|
// FIXME: to confirm
|
||||||
// Halt linklayer
|
// Halt linklayer
|
||||||
Linklayer_Halt(linkInstPtr);
|
Linklayer_Halt(linkInstPtr);
|
||||||
DBG_ERROR("Unexpected config command 0x%02X:0x%02X",
|
DBG_ERROR("Unexpected config command 0x%02X:0x%02X",
|
||||||
WD_MODE_CMD, data[WD_MODE_CMD]);
|
WD_MODE_CMD, data[WD_MODE_CMD]);
|
||||||
|
Status = EPARAM;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(data[WD_EN_CMD] == EN_CMD_ON_HIGH_POWER)
|
if(data[WD_EN_CMD] == EN_CMD_ON_HIGH_POWER)
|
||||||
{
|
{
|
||||||
// high power config
|
// high power config
|
||||||
Phy_AntConfigMode(phyRef, PHY_ANT_MODE_HIGH_POWER);
|
Phy_AntConfigMode(phyRef, PHY_ANT_MODE_HIGH_POWER);
|
||||||
Linklayer_Start(linkInstPtr);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else if(data[WD_EN_CMD] == EN_CMD_ON_LOW_POWER)
|
else if(data[WD_EN_CMD] == EN_CMD_ON_LOW_POWER)
|
||||||
{
|
{
|
||||||
// low power config
|
// low power config
|
||||||
Phy_AntConfigMode(phyRef, PHY_ANT_MODE_LOW_POWER);
|
Phy_AntConfigMode(phyRef, PHY_ANT_MODE_LOW_POWER);
|
||||||
Linklayer_Start(linkInstPtr);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// silence config
|
// silence config
|
||||||
|
// FIXME: confirm
|
||||||
// TODO: better approach?
|
// TODO: better approach?
|
||||||
Linklayer_Halt(linkInstPtr);
|
Linklayer_Halt(linkInstPtr);
|
||||||
Phy_AntConfigMode(phyRef, PHY_ANT_MODE_SILENT);
|
Phy_AntConfigMode(phyRef, PHY_ANT_MODE_SILENT);
|
||||||
@@ -399,9 +401,10 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr)
|
|||||||
DBG_ERROR("Physical set pull time failed, with error code: %" PRId32 ".\n", Status);
|
DBG_ERROR("Physical set pull time failed, with error code: %" PRId32 ".\n", Status);
|
||||||
}
|
}
|
||||||
Phy_SetupNextSlot(phyRef, PHY_TOR_RX, L1_10KBPS_10MS_FRAME, NULL);
|
Phy_SetupNextSlot(phyRef, PHY_TOR_RX, L1_10KBPS_10MS_FRAME, NULL);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
_nop_(); // for debug
|
Linklayer_Start(linkInstPtr);
|
||||||
Status = SUCCESS;
|
Status = SUCCESS;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -414,12 +417,12 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr)
|
|||||||
// TODO
|
// TODO
|
||||||
case CMD_FLJ_SEND:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
case CMD_LJ_SEND:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
case CMD_FLJ_POLL:
|
case CMD_FLJ_POLL:
|
||||||
@@ -440,7 +443,7 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr)
|
|||||||
sysbusRsp->data[WD_CMD] = CMD_FLJ_POLL;
|
sysbusRsp->data[WD_CMD] = CMD_FLJ_POLL;
|
||||||
sysbusRsp->data[WD_PRD] = MY_PRD_ID;
|
sysbusRsp->data[WD_PRD] = MY_PRD_ID;
|
||||||
uint32_t dataId;
|
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)
|
if (dataId == DATA_ID_NONE)
|
||||||
{
|
{
|
||||||
free(sysbusRsp);
|
free(sysbusRsp);
|
||||||
@@ -476,7 +479,7 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr)
|
|||||||
sysbusRsp->data[WD_CMD] = CMD_LJ_POLL;
|
sysbusRsp->data[WD_CMD] = CMD_LJ_POLL;
|
||||||
sysbusRsp->data[WD_PRD] = MY_PRD_ID;
|
sysbusRsp->data[WD_PRD] = MY_PRD_ID;
|
||||||
uint32_t dataId;
|
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)
|
if (dataId == DATA_ID_NONE)
|
||||||
{
|
{
|
||||||
free(sysbusRsp);
|
free(sysbusRsp);
|
||||||
@@ -562,18 +565,6 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr)
|
|||||||
return Status;
|
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.
|
* @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_Init(SYSBUS **instPtr, SYSBUS_CONFIG *config);
|
||||||
|
|
||||||
int32_t SystemBus_HandleCmd(SYSBUS *instPtr);
|
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_MakeResp(SYSBUS *instPtr);
|
||||||
|
|
||||||
int32_t SystemBus_TxIntrHandler(SYSBUS *instPtr);
|
int32_t SystemBus_TxIntrHandler(SYSBUS *instPtr);
|
||||||
|
|||||||
@@ -56,7 +56,6 @@ clist_new(void)
|
|||||||
|
|
||||||
void clist_clear(clist_t *self)
|
void clist_clear(clist_t *self)
|
||||||
{
|
{
|
||||||
uint32_t len = self->len;
|
|
||||||
clist_node_t *next;
|
clist_node_t *next;
|
||||||
clist_node_t *curr = self->head;
|
clist_node_t *curr = self->head;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user