formatted

This commit is contained in:
Gatsby Van
2024-01-19 12:48:38 +08:00
parent 64d02b3a71
commit 6f5a8d0b17
@@ -8,27 +8,31 @@
#include "linklayer/linklayer814.h"
#include "linklayer/msg_def.h"
#define TIME_INT_REG (0x00000008>>2)
#define TIME_FRAC_REG (0x0000000C>>2)
#define TIME_ADJ_INT (0x0000001C>>2)
#define TIME_ADJ_FRAC (0x00000020>>2)
#define TIME_ADJ_TRIG (0x00000024>>2)
#define CNTSTEP_OPT (0x00000028>>2)
#define TIME_INT_REG (0x00000008 >> 2)
#define TIME_FRAC_REG (0x0000000C >> 2)
#define TIME_ADJ_INT (0x0000001C >> 2)
#define TIME_ADJ_FRAC (0x00000020 >> 2)
#define TIME_ADJ_TRIG (0x00000024 >> 2)
#define CNTSTEP_OPT (0x00000028 >> 2)
TIMECTRL_INST* tmcInstPtr = NULL;
PHY_INST* phyInstPtr = NULL;
L2_INST* linkInstPtr = NULL;
TIMECTRL_INST *tmcInstPtr = NULL;
PHY_INST *phyInstPtr = NULL;
L2_INST *linkInstPtr = NULL;
uint32_t tmcReg[32] = {0};
uint32_t phycReg[512] = {0};
uint8_t bmTemplate[INTRA_BM_FRAME_LENGTH_MAX] __attribute__ ((aligned (8))) = {
uint8_t bmTemplate[INTRA_BM_FRAME_LENGTH_MAX] __attribute__ ((aligned (8))) =
{
0x08, 0x21, 0x04, 0x06, 0x00, 0xF3, 0xA8, 0xCB,
0x00, 0xA0, 0x49, 0x00, 0x9A, 0x04, 0x13, 0x1E,
0x45, 0xE7, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
0xAA, 0xAA, 0xAA, 0xAA, 0xAA
};
uint8_t w2acqTemplate[INTRA_W2ACQ_FRAME_LENGTH_MAX] __attribute__ ((aligned (8))) = {
uint8_t w2acqTemplate[INTRA_W2ACQ_FRAME_LENGTH_MAX] __attribute__ ((aligned (8))) =
{
0xCC, 0x71, 0x21, 0xA8, 0x0A, 0x00, 0x00, 0x00,
0x00, 0x1A, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00,
0xF0, 0xF0, 0x2A, 0x0F, 0x0F, 0xF0, 0x0F, 0x00,
@@ -62,7 +66,9 @@ uint8_t w2acqTemplate[INTRA_W2ACQ_FRAME_LENGTH_MAX] __attribute__ ((aligned (8))
0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA
};
uint8_t mgmtTemplate[INTRA_MGMT_FRAME_LENGTH_MAX] __attribute__ ((aligned (8))) = {
uint8_t mgmtTemplate[INTRA_MGMT_FRAME_LENGTH_MAX] __attribute__ ((aligned (8))) =
{
0xCC, 0xC3, 0x99, 0x99, 0x83, 0x99, 0x99, 0x99,
0x99, 0xA5, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xBA,
0xBB, 0x9B, 0x19, 0xCC, 0xCC, 0xDD, 0xDD, 0xEE,
@@ -96,7 +102,9 @@ uint8_t mgmtTemplate[INTRA_MGMT_FRAME_LENGTH_MAX] __attribute__ ((aligned (8)))
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
uint8_t rttTemplate[INTRA_RTT_FRAME_LENGTH_MAX] __attribute__ ((aligned (8))) = {
uint8_t rttTemplate[INTRA_RTT_FRAME_LENGTH_MAX] __attribute__ ((aligned (8))) =
{
0xDC, 0xA3, 0x10, 0x44, 0x98, 0x99, 0x99, 0x99,
0x99, 0x05, 0x00, 0x00, 0x00, 0x50, 0x32, 0x01,
0x00, 0x90, 0x99, 0xFF, 0xFF, 0xFF, 0x99, 0x99,
@@ -130,7 +138,9 @@ uint8_t rttTemplate[INTRA_RTT_FRAME_LENGTH_MAX] __attribute__ ((aligned (8))) =
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
uint8_t svcTemplate[INTRA_SVC_FRAME_LENGTH_MAX] __attribute__ ((aligned (8))) = {
uint8_t svcTemplate[INTRA_SVC_FRAME_LENGTH_MAX] __attribute__ ((aligned (8))) =
{
0xF0, 0xFF, 0x00, 0x21, 0x88, 0x00, 0x00, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x56, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -165,8 +175,8 @@ uint8_t svcTemplate[INTRA_SVC_FRAME_LENGTH_MAX] __attribute__ ((aligned (8))) =
0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0xB5,
};
L2_CONFIG l2Config = {
L2_CONFIG l2Config =
{
.myType = L2_NODE_HEAD,
.isInterHead = false,
.myId = 1,
@@ -178,7 +188,8 @@ L2_CONFIG l2Config = {
.tmcInstPtr = NULL
};
PHY_CONFIG l1Config = {
PHY_CONFIG l1Config =
{
.devId = 0,
.txBramId = 0,
.rxBramId = 0,
@@ -186,17 +197,21 @@ PHY_CONFIG l1Config = {
.baseAddr = (uintptr_t)phycReg
};
TIMECTRL_CONFIG tmcConfig = {
TIMECTRL_CONFIG tmcConfig =
{
.baseAddr = (uintptr_t)tmcReg,
.reset = 10
};
inline uint32_t rand_range(uint32_t a, uint32_t b){
int32_t rand_range(uint32_t a, uint32_t b);
inline int32_t rand_range(uint32_t a, uint32_t b)
{
ASSERT(b > a);
return (rand() % (b + 1 - a) + a);
}
void linklayer_setup(void){
void linklayer_setup(void)
{
int32_t Status;
Status = TimeCtrl_Init(&tmcInstPtr, &tmcConfig);
ASSERT_EQUAL(SUCCESS, Status);
@@ -211,18 +226,20 @@ void linklayer_setup(void){
ASSERT_EQUAL(SUCCESS, Status);
}
void linklayer_teardown(void){
void linklayer_teardown(void)
{
Linklayer_Destroy(linkInstPtr);
Phy_Destroy(phyInstPtr);
TimeCtrl_Destroy(tmcInstPtr);
}
void forge_bm_frame(uint8_t* buff, uint8_t nodeId, uint16_t clustId, uint16_t headId, uint64_t time) {
void forge_bm_frame(uint8_t *buff, uint8_t nodeId, uint16_t clustId, uint16_t headId, uint64_t time)
{
BIT_ARRAY bitarr = {
.words = (uint64_t*)buff,
.num_of_bits = INTRA_BM_FRAME_LENGTH_MAX*8,
.num_of_words = roundup_bits2words64(INTRA_BM_FRAME_LENGTH_MAX*8),
.capacity_in_words = roundup_bits2words64(INTRA_BM_FRAME_LENGTH_MAX*8),
.words = (uint64_t *)buff,
.num_of_bits = INTRA_BM_FRAME_LENGTH_MAX * 8,
.num_of_words = roundup_bits2words64(INTRA_BM_FRAME_LENGTH_MAX * 8),
.capacity_in_words = roundup_bits2words64(INTRA_BM_FRAME_LENGTH_MAX * 8),
};
memcpy(buff, bmTemplate, INTRA_BM_FRAME_LENGTH_MAX);
uint64_t dataChunk;
@@ -249,13 +266,14 @@ void forge_bm_frame(uint8_t* buff, uint8_t nodeId, uint16_t clustId, uint16_t he
L2_CrcAppend(buff, BM_MSG_CRC_OFFSET / 8, BM_MSG_CRC_OFFSET / 8, L2_CRC8_31);
}
void forge_w2acq_frame(uint8_t* buff, L2_NODE_TYPE nodeType, uint16_t srcId, uint16_t destId,
uint16_t clustId, uint32_t netStartTime, L2_NODE_STATE state) {
void forge_w2acq_frame(uint8_t *buff, L2_NODE_TYPE nodeType, uint16_t srcId, uint16_t destId,
uint16_t clustId, uint32_t netStartTime, L2_NODE_STATE state)
{
BIT_ARRAY bitarr = {
.words = (uint64_t*)buff,
.num_of_bits = INTRA_W2ACQ_FRAME_LENGTH_MAX*8,
.num_of_words = roundup_bits2words64(INTRA_W2ACQ_FRAME_LENGTH_MAX*8),
.capacity_in_words = roundup_bits2words64(INTRA_W2ACQ_FRAME_LENGTH_MAX*8),
.words = (uint64_t *)buff,
.num_of_bits = INTRA_W2ACQ_FRAME_LENGTH_MAX * 8,
.num_of_words = roundup_bits2words64(INTRA_W2ACQ_FRAME_LENGTH_MAX * 8),
.capacity_in_words = roundup_bits2words64(INTRA_W2ACQ_FRAME_LENGTH_MAX * 8),
};
memcpy(buff, w2acqTemplate, INTRA_W2ACQ_FRAME_LENGTH_MAX);
@@ -272,7 +290,8 @@ void forge_w2acq_frame(uint8_t* buff, L2_NODE_TYPE nodeType, uint16_t srcId, uin
dataChunk = (destId & 0x001F) | ((clustId & 0x001F) << 5);
FrameInsertChunk(&bitarr, NS_MSG_INI_LEN_OFFSET, NS_MSG_INI_LEN_LEN, dataChunk);
/* current net stage */
switch (state) {
switch (state)
{
case L2_INIT_STATE:
dataChunk = NET_INI_STAGE;
break;
@@ -296,17 +315,19 @@ void forge_w2acq_frame(uint8_t* buff, L2_NODE_TYPE nodeType, uint16_t srcId, uin
L2_CrcAppend(buff, W2ACQ_FRAME_CRC_DLEN, W2ACQ_FRAME_CRC_POS, L2_CRC16_8005);
}
void forge_mgmt_frame(uint8_t* buff, L2_NODE_STATE state) {
void forge_mgmt_frame(uint8_t *buff, L2_NODE_STATE state)
{
BIT_ARRAY bitarr = {
.words = (uint64_t*)buff,
.num_of_bits = INTRA_MGMT_FRAME_LENGTH_MAX*8,
.num_of_words = roundup_bits2words64(INTRA_MGMT_FRAME_LENGTH_MAX*8),
.capacity_in_words = roundup_bits2words64(INTRA_MGMT_FRAME_LENGTH_MAX*8),
.words = (uint64_t *)buff,
.num_of_bits = INTRA_MGMT_FRAME_LENGTH_MAX * 8,
.num_of_words = roundup_bits2words64(INTRA_MGMT_FRAME_LENGTH_MAX * 8),
.capacity_in_words = roundup_bits2words64(INTRA_MGMT_FRAME_LENGTH_MAX * 8),
};
memcpy(buff, mgmtTemplate, INTRA_MGMT_FRAME_LENGTH_MAX);
uint64_t dataChunk;
switch (state) {
switch (state)
{
case L2_INIT_STATE:
dataChunk = NET_INI_STAGE;
break;
@@ -329,13 +350,14 @@ void forge_mgmt_frame(uint8_t* buff, L2_NODE_STATE state) {
}
}
void forge_rtt_frame(uint8_t* buff, uint16_t srcId, uint16_t destId,
uint16_t clustId, const TIME_WORD* timeStamp, uint32_t doppler) {
void forge_rtt_frame(uint8_t *buff, uint16_t srcId, uint16_t destId,
uint16_t clustId, const TIME_WORD *timeStamp, uint32_t doppler)
{
BIT_ARRAY bitarr = {
.words = (uint64_t*)buff,
.num_of_bits = INTRA_BM_FRAME_LENGTH_MAX*8,
.num_of_words = roundup_bits2words64(INTRA_BM_FRAME_LENGTH_MAX*8),
.capacity_in_words = roundup_bits2words64(INTRA_BM_FRAME_LENGTH_MAX*8),
.words = (uint64_t *)buff,
.num_of_bits = INTRA_BM_FRAME_LENGTH_MAX * 8,
.num_of_words = roundup_bits2words64(INTRA_BM_FRAME_LENGTH_MAX * 8),
.capacity_in_words = roundup_bits2words64(INTRA_BM_FRAME_LENGTH_MAX * 8),
};
memcpy(buff, rttTemplate, INTRA_BM_FRAME_LENGTH_MAX);
uint64_t dataChunk;