Compare commits
12
Commits
f4f9bd0125
...
alpha-0.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9f75b519e0 | ||
|
|
7e38cf59e2 | ||
|
|
86d089e2b4 | ||
|
|
5cefee63f8 | ||
|
|
1647f4b97c | ||
|
|
1b1790657a | ||
|
|
da212a47e7 | ||
|
|
49e962612e | ||
|
|
64c116dbe0 | ||
|
|
a13ded2a89 | ||
|
|
949d0d7049 | ||
|
|
ec56ec6f6f |
@@ -51,3 +51,7 @@ modules.order
|
|||||||
Module.symvers
|
Module.symvers
|
||||||
Mkfile.old
|
Mkfile.old
|
||||||
dkms.conf
|
dkms.conf
|
||||||
|
|
||||||
|
# MacOS .DS_Store file
|
||||||
|
**/.DS_Store
|
||||||
|
**/._.DS_Store
|
||||||
@@ -88,14 +88,14 @@ L2_CONFIG linkConfig = {
|
|||||||
.tmcInstPtr = NULL
|
.tmcInstPtr = NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
// static L2_CONFIG linkConfig = {
|
// L2_CONFIG linkConfig = {
|
||||||
// .myType = L2_NODE_MEMBER,
|
// .myType = L2_NODE_MEMBER,
|
||||||
// .clustId = 1,
|
// .clustId = 1,
|
||||||
// .myId = 2,
|
// .myId = 2,
|
||||||
// .headId = 1,
|
// .headId = 1,
|
||||||
// .bkpHeadId = 0,
|
// .bkpHeadId = 0,
|
||||||
// .netScale = 2,
|
// .netScale = 2,
|
||||||
// .phyInstPtr = NULL, // pyhsical layer reference
|
// .phyInstPtr = NULL, // physical layer reference
|
||||||
// .tmcInstPtr = NULL
|
// .tmcInstPtr = NULL
|
||||||
// };
|
// };
|
||||||
|
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ L2_CONFIG linkConfig = {
|
|||||||
// .headId = 1,
|
// .headId = 1,
|
||||||
// .bkpHeadId = 0,
|
// .bkpHeadId = 0,
|
||||||
// .netScale = 2,
|
// .netScale = 2,
|
||||||
// .phyInstPtr = NULL, // pyhsical layer reference
|
// .phyInstPtr = NULL, // physical layer reference
|
||||||
// .tmcInstPtr = NULL
|
// .tmcInstPtr = NULL
|
||||||
// };
|
// };
|
||||||
|
|
||||||
@@ -830,7 +830,7 @@ int main(void)
|
|||||||
DBG_PRINT("Physical started...\n");
|
DBG_PRINT("Physical started...\n");
|
||||||
Phy_Start(phyInstPtr);
|
Phy_Start(phyInstPtr);
|
||||||
|
|
||||||
Linklayer_Start(linkInstPtr);
|
// Linklayer_Start(linkInstPtr);
|
||||||
|
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
@@ -846,7 +846,7 @@ int main(void)
|
|||||||
if (SystemBus_IsRsqPendding(sysbusDescPtr) && (!SystemBus_IsTxBusy(sysbusDescPtr)))
|
if (SystemBus_IsRsqPendding(sysbusDescPtr) && (!SystemBus_IsTxBusy(sysbusDescPtr)))
|
||||||
{
|
{
|
||||||
// FIXME: Required by 12 (CASC)
|
// FIXME: Required by 12 (CASC)
|
||||||
udelay(200);
|
udelay(4000);
|
||||||
Status = SystemBus_MakeResp(sysbusDescPtr);
|
Status = SystemBus_MakeResp(sysbusDescPtr);
|
||||||
if (Status != SUCCESS)
|
if (Status != SUCCESS)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -112,27 +112,27 @@ static int32_t Service_Packing(L2_INST *instPtr, L2_FRAME_TYPE type, uint8_t dst
|
|||||||
L2_FrameInsertChunk(buff, L2_MSG_SVC_SRC_SPEEDY, L2_MSG_SVC_SRC_SPEEDY_LEN, &(instPtr->sysInfo.vY));
|
L2_FrameInsertChunk(buff, L2_MSG_SVC_SRC_SPEEDY, L2_MSG_SVC_SRC_SPEEDY_LEN, &(instPtr->sysInfo.vY));
|
||||||
L2_FrameInsertChunk(buff, L2_MSG_SVC_SRC_SPEEDZ, L2_MSG_SVC_SRC_SPEEDZ_LEN, &(instPtr->sysInfo.vZ));
|
L2_FrameInsertChunk(buff, L2_MSG_SVC_SRC_SPEEDZ, L2_MSG_SVC_SRC_SPEEDZ_LEN, &(instPtr->sysInfo.vZ));
|
||||||
|
|
||||||
// uint32_t dataId;
|
|
||||||
// if(L2_GetNodeType(instPtr) == L2_NODE_HEAD)
|
|
||||||
// {
|
|
||||||
// SysMonitor_GetSendPayloadFLJRaw(buff+L2_MSG_SVC_PAYLOAD, &dataId);
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// SysMonitor_GetSendPayloadLJRaw(buff+L2_MSG_SVC_PAYLOAD, &dataId);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// L2_FrameInsertChunk(buff, L2_MSG_SVC_PAYLOAD_ID, L2_MSG_SVC_PAYLOAD_ID_LEN, &dataId);
|
|
||||||
// if (dataId == DATA_ID_NONE)
|
|
||||||
// {
|
|
||||||
// L2_FrameInsertChunk(buff, L2_MSG_SVC_PAYLOAD, L2_MSG_SVC_PAYLOAD_LEN, testData);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// packing payload
|
|
||||||
uint32_t dataId;
|
uint32_t dataId;
|
||||||
dataId = DATA_ID_NONE;
|
if(L2_GetNodeType(instPtr) == L2_NODE_HEAD)
|
||||||
|
{
|
||||||
|
SysMonitor_GetSendPayloadFLJRaw(buff + L2_MSG_SVC_PAYLOAD, &dataId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SysMonitor_GetSendPayloadLJRaw(buff + L2_MSG_SVC_PAYLOAD, &dataId);
|
||||||
|
}
|
||||||
|
|
||||||
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);
|
||||||
L2_FrameInsertChunk(buff, L2_MSG_SVC_PAYLOAD, L2_MSG_SVC_PAYLOAD_LEN, testData);
|
if (dataId == DATA_ID_NONE)
|
||||||
|
{
|
||||||
|
L2_FrameInsertChunk(buff, L2_MSG_SVC_PAYLOAD, L2_MSG_SVC_PAYLOAD_LEN, testData);
|
||||||
|
}
|
||||||
|
|
||||||
|
// // packing payload
|
||||||
|
// uint32_t dataId;
|
||||||
|
// dataId = DATA_ID_TEST;
|
||||||
|
// L2_FrameInsertChunk(buff, L2_MSG_SVC_PAYLOAD_ID, L2_MSG_SVC_PAYLOAD_ID_LEN, &dataId);
|
||||||
|
// L2_FrameInsertChunk(buff, L2_MSG_SVC_PAYLOAD, L2_MSG_SVC_PAYLOAD_LEN, testData);
|
||||||
|
|
||||||
|
|
||||||
Status = L2_CrcAppend(buff, L2_SVC_PACK_LEN - L2_MSG_SVC_CRC_LEN, L2_MSG_SVC_CRC, L2_CRC16_1021);
|
Status = L2_CrcAppend(buff, L2_SVC_PACK_LEN - L2_MSG_SVC_CRC_LEN, L2_MSG_SVC_CRC, L2_CRC16_1021);
|
||||||
|
|||||||
@@ -277,7 +277,7 @@
|
|||||||
/**
|
/**
|
||||||
* Register: ANT_STATUS_0
|
* Register: ANT_STATUS_0
|
||||||
*/
|
*/
|
||||||
#define ANT_STATUS 0x00000100U
|
#define ANT_STATUS 0x00000048U
|
||||||
#define ANT_STATUS_CODE_SHIFT 0
|
#define ANT_STATUS_CODE_SHIFT 0
|
||||||
#define ANT_STATUS_CODE_WIDTH 8
|
#define ANT_STATUS_CODE_WIDTH 8
|
||||||
#define ANT_STATUS_CODE_MASK 0x000000FFU
|
#define ANT_STATUS_CODE_MASK 0x000000FFU
|
||||||
@@ -294,7 +294,7 @@
|
|||||||
/**
|
/**
|
||||||
* Register: ANT_FRAME_CNT
|
* Register: ANT_FRAME_CNT
|
||||||
*/
|
*/
|
||||||
#define ANT_FRAME_CNT 0x00000104U
|
#define ANT_FRAME_CNT 0x0000004CU
|
||||||
#define ANT_FRAME_CNT_SHIFT 0
|
#define ANT_FRAME_CNT_SHIFT 0
|
||||||
#define ANT_FRAME_CNT_WIDTH 32
|
#define ANT_FRAME_CNT_WIDTH 32
|
||||||
#define ANT_FRAME_CNT_MASK 0xFFFFFFFFU
|
#define ANT_FRAME_CNT_MASK 0xFFFFFFFFU
|
||||||
@@ -302,7 +302,7 @@
|
|||||||
/**
|
/**
|
||||||
* Register: RF_STATUS
|
* Register: RF_STATUS
|
||||||
*/
|
*/
|
||||||
#define RF_STATUS 0x00000108U
|
#define RF_STATUS 0x00000050U
|
||||||
#define RF_STATUS_TEMP_SHIFT 0
|
#define RF_STATUS_TEMP_SHIFT 0
|
||||||
#define RF_STATUS_TEMP_WIDTH 8
|
#define RF_STATUS_TEMP_WIDTH 8
|
||||||
#define RF_STATUS_TEMP_MASK 0x000000FFU
|
#define RF_STATUS_TEMP_MASK 0x000000FFU
|
||||||
@@ -319,7 +319,7 @@
|
|||||||
/**
|
/**
|
||||||
* Register: RF_MGC
|
* Register: RF_MGC
|
||||||
*/
|
*/
|
||||||
#define RF_MGC 0x0000010CU
|
#define RF_MGC 0x00000054U
|
||||||
#define RF_MGC_CH1_SHIFT 0
|
#define RF_MGC_CH1_SHIFT 0
|
||||||
#define RF_MGC_CH1_WIDTH 4
|
#define RF_MGC_CH1_WIDTH 4
|
||||||
#define RF_MGC_CH1_MASK 0x0000000FU
|
#define RF_MGC_CH1_MASK 0x0000000FU
|
||||||
@@ -336,7 +336,7 @@
|
|||||||
/**
|
/**
|
||||||
* Register: RF_FRAME_CNT
|
* Register: RF_FRAME_CNT
|
||||||
*/
|
*/
|
||||||
#define RF_FRAME_CNT 0x00000110U
|
#define RF_FRAME_CNT 0x00000058U
|
||||||
#define RF_FRAME_CNT_SHIFT 0
|
#define RF_FRAME_CNT_SHIFT 0
|
||||||
#define RF_FRAME_CNT_WIDTH 32
|
#define RF_FRAME_CNT_WIDTH 32
|
||||||
#define RF_FRAME_CNT_MASK 0xFFFFFFFFU
|
#define RF_FRAME_CNT_MASK 0xFFFFFFFFU
|
||||||
|
|||||||
@@ -77,6 +77,15 @@ int32_t SysMonitor_Init(void)
|
|||||||
memset(&(sysMonitorInst->recvLogCtrl), BUFF_NONE, sizeof(PINGPONG));
|
memset(&(sysMonitorInst->recvLogCtrl), BUFF_NONE, sizeof(PINGPONG));
|
||||||
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_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;
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -209,7 +218,7 @@ void SysMonitor_UpdateSendPayloadFLJRaw(uint8_t *buff)
|
|||||||
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);
|
memcpy(sysMonitorInst->sendPL[buffIndx].data_flj, buff, sizeof(uint8_t) * PAYLOAD_FLJ_TX);
|
||||||
sysMonitorInst->sendPL[buffIndx].dataId_flj++;
|
sysMonitorInst->sendPL[buffIndx].dataId_flj++;
|
||||||
sysMonitorInst->sendPLCtrl.latest = buffIndx;
|
sysMonitorInst->sendPLCtrl.latest = buffIndx;
|
||||||
sysMonitorInst->sendPLCtrl.wBusy = BUFF_NONE;
|
sysMonitorInst->sendPLCtrl.wBusy = BUFF_NONE;
|
||||||
@@ -230,7 +239,7 @@ void SysMonitor_GetSendPayloadFLJRaw(uint8_t *buff, uint32_t *id)
|
|||||||
sysMonitorInst->sendPLCtrl.rBusy = buffIndx;
|
sysMonitorInst->sendPLCtrl.rBusy = buffIndx;
|
||||||
if (sysMonitorInst->sendPL[buffIndx].dataId_flj != DATA_ID_NONE)
|
if (sysMonitorInst->sendPL[buffIndx].dataId_flj != DATA_ID_NONE)
|
||||||
{
|
{
|
||||||
memcpy(buff, sysMonitorInst->sendPL[buffIndx].data_flj, sizeof(uint8_t) * PAYLOAD_FLJ);
|
memcpy(buff, sysMonitorInst->sendPL[buffIndx].data_flj, sizeof(uint8_t) * PAYLOAD_FLJ_TX);
|
||||||
}
|
}
|
||||||
*id = sysMonitorInst->sendPL[buffIndx].dataId_flj;
|
*id = sysMonitorInst->sendPL[buffIndx].dataId_flj;
|
||||||
sysMonitorInst->sendPLCtrl.rBusy = buffIndex_old;
|
sysMonitorInst->sendPLCtrl.rBusy = buffIndex_old;
|
||||||
@@ -245,7 +254,7 @@ void SysMonitor_UpdateSendPayloadLJRaw(uint8_t *buff)
|
|||||||
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_lj, buff, sizeof(uint8_t) * PAYLOAD_LJ);
|
memcpy(sysMonitorInst->sendPL[buffIndx].data_lj, buff, sizeof(uint8_t) * PAYLOAD_LJ_TX);
|
||||||
sysMonitorInst->sendPL[buffIndx].dataId_lj++;
|
sysMonitorInst->sendPL[buffIndx].dataId_lj++;
|
||||||
sysMonitorInst->sendPLCtrl.latest = buffIndx;
|
sysMonitorInst->sendPLCtrl.latest = buffIndx;
|
||||||
sysMonitorInst->sendPLCtrl.wBusy = BUFF_NONE;
|
sysMonitorInst->sendPLCtrl.wBusy = BUFF_NONE;
|
||||||
@@ -266,7 +275,7 @@ void SysMonitor_GetSendPayloadLJRaw(uint8_t *buff, uint32_t *id)
|
|||||||
sysMonitorInst->sendPLCtrl.rBusy = buffIndx;
|
sysMonitorInst->sendPLCtrl.rBusy = buffIndx;
|
||||||
if (sysMonitorInst->sendPL[buffIndx].dataId_lj != DATA_ID_NONE)
|
if (sysMonitorInst->sendPL[buffIndx].dataId_lj != DATA_ID_NONE)
|
||||||
{
|
{
|
||||||
memcpy(buff, sysMonitorInst->sendPL[buffIndx].data_lj, sizeof(uint8_t) * PAYLOAD_LJ);
|
memcpy(buff, sysMonitorInst->sendPL[buffIndx].data_lj, sizeof(uint8_t) * PAYLOAD_LJ_TX);
|
||||||
}
|
}
|
||||||
*id = sysMonitorInst->sendPL[buffIndx].dataId_lj;
|
*id = sysMonitorInst->sendPL[buffIndx].dataId_lj;
|
||||||
sysMonitorInst->sendPLCtrl.rBusy = buffIndex_old;
|
sysMonitorInst->sendPLCtrl.rBusy = buffIndex_old;
|
||||||
@@ -282,7 +291,7 @@ void SysMonitor_UpdateRecvPayloadFLJRaw(uint8_t *buff)
|
|||||||
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);
|
memcpy(sysMonitorInst->recvPL[buffIndx].data_flj, buff, sizeof(uint8_t) * PAYLOAD_FLJ_RX);
|
||||||
sysMonitorInst->recvPL[buffIndx].dataId_flj++;
|
sysMonitorInst->recvPL[buffIndx].dataId_flj++;
|
||||||
sysMonitorInst->recvPLCtrl.latest = buffIndx;
|
sysMonitorInst->recvPLCtrl.latest = buffIndx;
|
||||||
sysMonitorInst->recvPLCtrl.wBusy = BUFF_NONE;
|
sysMonitorInst->recvPLCtrl.wBusy = BUFF_NONE;
|
||||||
@@ -303,7 +312,7 @@ void SysMonitor_GetRecvPayloadFLJRaw(uint8_t *buff, uint32_t *id)
|
|||||||
sysMonitorInst->recvPLCtrl.rBusy = buffIndx;
|
sysMonitorInst->recvPLCtrl.rBusy = buffIndx;
|
||||||
if (sysMonitorInst->recvPL[buffIndx].dataId_flj != DATA_ID_NONE)
|
if (sysMonitorInst->recvPL[buffIndx].dataId_flj != DATA_ID_NONE)
|
||||||
{
|
{
|
||||||
memcpy(buff, sysMonitorInst->recvPL[buffIndx].data_flj, sizeof(uint8_t) * PAYLOAD_FLJ);
|
memcpy(buff, sysMonitorInst->recvPL[buffIndx].data_flj, sizeof(uint8_t) * PAYLOAD_FLJ_RX);
|
||||||
}
|
}
|
||||||
*id = sysMonitorInst->recvPL[buffIndx].dataId_flj;
|
*id = sysMonitorInst->recvPL[buffIndx].dataId_flj;
|
||||||
sysMonitorInst->recvPLCtrl.rBusy = buffIndex_old;
|
sysMonitorInst->recvPLCtrl.rBusy = buffIndex_old;
|
||||||
@@ -318,7 +327,7 @@ void SysMonitor_UpdateRecvPayloadLJRaw(uint8_t *buff)
|
|||||||
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_lj, buff, sizeof(uint8_t) * PAYLOAD_LJ);
|
memcpy(sysMonitorInst->recvPL[buffIndx].data_lj, buff, sizeof(uint8_t) * PAYLOAD_LJ_RX);
|
||||||
sysMonitorInst->recvPL[buffIndx].dataId_lj++;
|
sysMonitorInst->recvPL[buffIndx].dataId_lj++;
|
||||||
sysMonitorInst->recvPLCtrl.latest = buffIndx;
|
sysMonitorInst->recvPLCtrl.latest = buffIndx;
|
||||||
sysMonitorInst->recvPLCtrl.wBusy = BUFF_NONE;
|
sysMonitorInst->recvPLCtrl.wBusy = BUFF_NONE;
|
||||||
@@ -339,7 +348,7 @@ void SysMonitor_GetRecvPayloadLJRaw(uint8_t *buff, uint32_t *id)
|
|||||||
sysMonitorInst->recvPLCtrl.rBusy = buffIndx;
|
sysMonitorInst->recvPLCtrl.rBusy = buffIndx;
|
||||||
if (sysMonitorInst->recvPL[buffIndx].dataId_lj != DATA_ID_NONE)
|
if (sysMonitorInst->recvPL[buffIndx].dataId_lj != DATA_ID_NONE)
|
||||||
{
|
{
|
||||||
memcpy(buff, sysMonitorInst->recvPL[buffIndx].data_lj, sizeof(uint8_t) * PAYLOAD_LJ);
|
memcpy(buff, sysMonitorInst->recvPL[buffIndx].data_lj, sizeof(uint8_t) * PAYLOAD_LJ_RX);
|
||||||
}
|
}
|
||||||
*id = sysMonitorInst->recvPL[buffIndx].dataId_lj;
|
*id = sysMonitorInst->recvPL[buffIndx].dataId_lj;
|
||||||
sysMonitorInst->recvPLCtrl.rBusy = buffIndex_old;
|
sysMonitorInst->recvPLCtrl.rBusy = buffIndex_old;
|
||||||
|
|||||||
@@ -4,10 +4,14 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
#define PAYLOAD_FLJ 78
|
#define PAYLOAD_LEN 256
|
||||||
#define PAYLOAD_LJ 168
|
#define PAYLOAD_FLJ_RX 168
|
||||||
|
#define PAYLOAD_FLJ_TX 66
|
||||||
|
#define PAYLOAD_LJ_RX 66
|
||||||
|
#define PAYLOAD_LJ_TX 168
|
||||||
|
|
||||||
#define DATA_ID_NONE UINT32_MAX
|
#define DATA_ID_NONE UINT32_MAX
|
||||||
|
#define DATA_ID_TEST 0x02030203
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
@@ -57,9 +61,9 @@ typedef struct
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
uint32_t dataId_lj;
|
uint32_t dataId_lj;
|
||||||
uint8_t data_lj[PAYLOAD_LJ];
|
uint8_t data_lj[PAYLOAD_LEN];
|
||||||
uint32_t dataId_flj;
|
uint32_t dataId_flj;
|
||||||
uint8_t data_flj[PAYLOAD_FLJ];
|
uint8_t data_flj[PAYLOAD_LEN];
|
||||||
} PAYLOAD;
|
} PAYLOAD;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
@@ -69,7 +73,7 @@ typedef struct
|
|||||||
uint8_t slotNo;
|
uint8_t slotNo;
|
||||||
uint8_t frameType;
|
uint8_t frameType;
|
||||||
// Payload
|
// Payload
|
||||||
uint8_t payload[256];
|
uint8_t payload[PAYLOAD_LEN];
|
||||||
// Time sync info
|
// Time sync info
|
||||||
uint64_t tmStamp;
|
uint64_t tmStamp;
|
||||||
uint32_t tmDevi;
|
uint32_t tmDevi;
|
||||||
@@ -99,7 +103,7 @@ typedef struct
|
|||||||
// -- Signal processor status
|
// -- Signal processor status
|
||||||
uint16_t spVolt;
|
uint16_t spVolt;
|
||||||
uint16_t spTemp;
|
uint16_t spTemp;
|
||||||
uint16_t chipSt;
|
uint8_t chipSt;
|
||||||
// -- Antenna status
|
// -- Antenna status
|
||||||
uint8_t antVolt;
|
uint8_t antVolt;
|
||||||
uint8_t antTemp;
|
uint8_t antTemp;
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
// -- Production type
|
// -- Production type
|
||||||
#define WD_PRD 0x01
|
#define WD_PRD 0x01
|
||||||
#define PRD_DL_K 0xDD
|
#define PRD_DL_K 0xDD
|
||||||
#define PRD_DL_S 0xDE
|
#define PRD_DL_S 0xEE
|
||||||
#define PRD_ALL 0xFF
|
#define PRD_ALL 0xFF
|
||||||
|
|
||||||
// Self-Test
|
// Self-Test
|
||||||
@@ -52,45 +52,42 @@
|
|||||||
#define ST_RET_OK 0xAA
|
#define ST_RET_OK 0xAA
|
||||||
#define ST_RET_ERROR 0x55
|
#define ST_RET_ERROR 0x55
|
||||||
// -- -- Signal processor voltage
|
// -- -- Signal processor voltage
|
||||||
#define WD_SP_VOLT_L 0x03
|
#define WD_SP_VOLT 0x03
|
||||||
#define WD_SP_VOLT_H 0x04
|
|
||||||
// -- -- Signal processor temperature
|
// -- -- Signal processor temperature
|
||||||
#define WD_SP_TEMP_L 0x05
|
#define WD_SP_TEMP 0x04
|
||||||
#define WD_SP_TEMP_H 0x06
|
|
||||||
// -- -- Signal processor chip status
|
// -- -- Signal processor chip status
|
||||||
#define WD_SP_CS_L 0x07
|
#define WD_SP_CS 0x05
|
||||||
#define WD_SP_CS_H 0x08
|
|
||||||
// -- -- Signal processor antenna voltage
|
// -- -- Signal processor antenna voltage
|
||||||
#define WD_AS_VOLT 0x09
|
#define WD_ANT_VOLT 0x06
|
||||||
// -- -- Signal processor antenna temperature
|
// -- -- Signal processor antenna temperature
|
||||||
#define WD_AS_TEMP 0x0A
|
#define WD_ANT_TEMP 0x07
|
||||||
// -- -- Signal processor antenna PLL lock status
|
// -- -- Signal processor antenna PLL lock status
|
||||||
#define WD_AS_PLL 0x0B
|
#define WD_ANT_PLL 0x08
|
||||||
// -- -- Signal processor antenna MGC
|
// -- -- Signal processor antenna MGC
|
||||||
#define WD_AS_MGC_L 0x0C
|
#define WD_ANT_MGC_L 0x09
|
||||||
#define WD_AS_MGC_H 0x0D
|
#define WD_ANT_MGC_H 0x0A
|
||||||
// -- -- Signal processor antenna status
|
// -- -- Signal processor antenna status
|
||||||
#define WD_AS_ST 0x0E.
|
#define WD_ANT_ST 0x0B
|
||||||
// -- -- Dummy must be 0x00
|
// -- -- Dummy must be 0x00
|
||||||
#define WD_ST_DUMMY 0x0F
|
#define WD_ST_DUMMY 0x0C
|
||||||
|
|
||||||
// Data Send Test Command
|
// Data Send Test Command
|
||||||
#define CMD_DATA_TEST_A 0xE2
|
#define CMD_DATA_TEST_A 0xE2
|
||||||
// -- Request
|
// -- Request
|
||||||
#define DATA_TEST_REQ_A_LEN 80
|
#define DATA_TEST_REQ_A_LEN 68
|
||||||
// -- -- 78 byte payload
|
// -- -- 68 byte payload
|
||||||
// -- Response
|
// -- Response
|
||||||
#define DATA_TEST_RSP_A_LEN 80
|
#define DATA_TEST_RSP_A_LEN 68
|
||||||
// -- -- 78 byte payload
|
// -- -- 68 byte payload
|
||||||
|
|
||||||
// Data Send Test Command
|
// Data Send Test Command
|
||||||
#define CMD_DATA_TEST_B 0xF2
|
#define CMD_DATA_TEST_B 0xF2
|
||||||
// -- Request
|
// -- Request
|
||||||
#define DATA_TEST_REQ_B_LEN 152
|
#define DATA_TEST_REQ_B_LEN 170
|
||||||
// -- -- 150 byte payload
|
// -- -- 170 byte payload
|
||||||
// -- Response
|
// -- Response
|
||||||
#define DATA_TEST_RSP_B_LEN 152
|
#define DATA_TEST_RSP_B_LEN 170
|
||||||
// -- -- 150 byte payload
|
// -- -- 170 byte payload
|
||||||
|
|
||||||
// Config load
|
// Config load
|
||||||
#define CMD_CONFIG 0xE3
|
#define CMD_CONFIG 0xE3
|
||||||
@@ -135,8 +132,8 @@
|
|||||||
#define WD_FLJ_POLL 0x02
|
#define WD_FLJ_POLL 0x02
|
||||||
#define FLJ_POLL_CODE 0x77
|
#define FLJ_POLL_CODE 0x77
|
||||||
// -- Response
|
// -- Response
|
||||||
#define FLJ_POLL_RESP_LEN 78
|
#define FLJ_POLL_RESP_LEN 170
|
||||||
// -- -- received 78 byte payload
|
// -- -- received 170 byte payload
|
||||||
|
|
||||||
// LJ Poll
|
// LJ Poll
|
||||||
#define CMD_LJ_POLL 0xF5
|
#define CMD_LJ_POLL 0xF5
|
||||||
@@ -144,8 +141,8 @@
|
|||||||
#define WD_LJ_POLL 0x02
|
#define WD_LJ_POLL 0x02
|
||||||
#define LJ_POLL_CODE 0x77
|
#define LJ_POLL_CODE 0x77
|
||||||
// -- Response
|
// -- Response
|
||||||
#define LJ_POLL_RESP_LEN 168
|
#define LJ_POLL_RESP_LEN 68
|
||||||
// -- -- received 156 byte payload
|
// -- -- received 68 byte payload
|
||||||
|
|
||||||
// Remote Test FLJ
|
// Remote Test FLJ
|
||||||
#define CMD_FLJ_RM_TEST 0xE6
|
#define CMD_FLJ_RM_TEST 0xE6
|
||||||
@@ -440,13 +437,16 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
sysbusRsp->len = FLJ_POLL_RESP_LEN;
|
sysbusRsp->len = FLJ_POLL_RESP_LEN;
|
||||||
sysbusRsp->data[WD_CMD] = WD_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_GetRecvPayloadFLJRaw(sysbusRsp->data + FLJ_DATA_OFFSET, &dataId); // omit control info
|
||||||
if (dataId == DATA_ID_NONE)
|
if (dataId == DATA_ID_NONE)
|
||||||
{
|
{
|
||||||
memset(sysbusRsp->data + FLJ_DATA_OFFSET, 0xAA, PAYLOAD_FLJ);
|
free(sysbusRsp);
|
||||||
|
DBG_WARNING("SystemBus::no RX data!\n");
|
||||||
|
Status = SUCCESS;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if (CircQueuePush(instPtr->txQueue, (void *)sysbusRsp) == false)
|
if (CircQueuePush(instPtr->txQueue, (void *)sysbusRsp) == false)
|
||||||
{
|
{
|
||||||
@@ -473,13 +473,16 @@ int32_t SystemBus_HandleCmd(SYSBUS *instPtr)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
sysbusRsp->len = LJ_POLL_RESP_LEN;
|
sysbusRsp->len = LJ_POLL_RESP_LEN;
|
||||||
sysbusRsp->data[WD_CMD] = WD_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_GetRecvPayloadLJRaw(sysbusRsp->data + LJ_DATA_OFFSET, &dataId); // omit control info
|
||||||
if (dataId == DATA_ID_NONE)
|
if (dataId == DATA_ID_NONE)
|
||||||
{
|
{
|
||||||
memset(sysbusRsp->data + LJ_DATA_OFFSET, 0xAA, PAYLOAD_LJ);
|
free(sysbusRsp);
|
||||||
|
DBG_WARNING("SystemBus::no RX data!\n");
|
||||||
|
Status = SUCCESS;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if (CircQueuePush(instPtr->txQueue, (void *)sysbusRsp) == false)
|
if (CircQueuePush(instPtr->txQueue, (void *)sysbusRsp) == false)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user