miscellaneous update, enhance code coherence.

This commit is contained in:
Gatsby Van
2024-01-19 16:54:28 +08:00
parent 789560d1b5
commit 22f7822499
7 changed files with 97 additions and 67 deletions
+1 -1
View File
@@ -556,7 +556,7 @@ int32_t L2_SetupNextSlot(L2_INST *instPtr, L2_TOR_TYPE txrxMode, L2_FRAME_TYPE f
TIME_WORD pullTime = {0, 0}; TIME_WORD pullTime = {0, 0};
pullTime.int_part = TimeCtrl_GetIntCnt(instPtr->config.tmcInstPtr) + 1; pullTime.int_part = TimeCtrl_GetIntCnt(instPtr->config.tmcInstPtr) + 1;
Status = Phy_SetTimeWord(phyRef, &pullTime, TIME_WORD_POLL); Status = Phy_SetTimeWord(phyRef, &pullTime, PHY_TIME_WORD_POLL);
if (Status != SUCCESS) if (Status != SUCCESS)
{ {
DBG_ERROR("Physical set pull time failed, with error code: %d\n", Status); DBG_ERROR("Physical set pull time failed, with error code: %d\n", Status);
+13 -8
View File
@@ -43,11 +43,15 @@
#define RXTXMODE_RX 0x00 #define RXTXMODE_RX 0x00
#define RXTXMODE_TX 0x01 #define RXTXMODE_TX 0x01
#define RXTXMODE_DEFAULT 0x00
#define CALIBRMODE_NORMAL 0x00 #define CALIBRMODE_NORMAL 0x00
#define CALIBRMODE_SINGLE_TR_CAL 0x01 #define CALIBRMODE_SINGLE_TR_CAL 0x01
#define MODECTRL_DEFAULT 0x00 #define MODECTRL_DEFAULT 0x00
// Pair by regex
// Regex: (([0-9]+, ){8})
uint16_t hopPattern_Config[L1_FRAME_MAX_HOPS] = uint16_t hopPattern_Config[L1_FRAME_MAX_HOPS] =
{ {
0 0
@@ -113,7 +117,8 @@ uint16_t hopPattern_1M2BPS_5MS[L1_FRAME_1M2BPS_5MS_HOPS] =
// Pair by regex // Pair by regex
// Regex: ((\{\.oaxis = [0-9]+[ ,]+\.raxis = [0-9]+[ ]*\}, ){2}) // Regex: ((\{\.oaxis = [0-9]+[ ,]+\.raxis = [0-9]+[ ]*\}, ){2})
#if defined(PHY_BEAM_SET_PRESET) #if defined(PHY_BEAM_SET_PRESET)
ANT_ANGLE antSubnrrwPattern[NUM_ANT_SUBNRRW_PATTERN] = { PHY_ANT_ANGLE antSubnrrwPattern[NUM_ANT_SUBNRRW_PATTERN] =
{
{.oaxis = 0 , .raxis = 222}, {.oaxis = 10, .raxis = 85 }, {.oaxis = 0 , .raxis = 222}, {.oaxis = 10, .raxis = 85 },
{.oaxis = 14, .raxis = 307}, {.oaxis = 17, .raxis = 170}, {.oaxis = 14, .raxis = 307}, {.oaxis = 17, .raxis = 170},
{.oaxis = 19, .raxis = 32 }, {.oaxis = 21, .raxis = 255}, {.oaxis = 19, .raxis = 32 }, {.oaxis = 21, .raxis = 255},
@@ -134,7 +139,7 @@ ANT_ANGLE antSubnrrwPattern[NUM_ANT_SUBNRRW_PATTERN] = {
{.oaxis = 58, .raxis = 227}, {.oaxis = 59, .raxis = 90 }, {.oaxis = 58, .raxis = 227}, {.oaxis = 59, .raxis = 90 },
{.oaxis = 60, .raxis = 312} {.oaxis = 60, .raxis = 312}
}; };
ANT_ANGLE antNrrwPattern[NUM_ANT_NRRW_PATTERN] = { PHY_ANT_ANGLE antNrrwPattern[NUM_ANT_NRRW_PATTERN] = {
{.oaxis = 0 , .raxis = 222}, {.oaxis = 7 , .raxis = 85 }, {.oaxis = 0 , .raxis = 222}, {.oaxis = 7 , .raxis = 85 },
{.oaxis = 10, .raxis = 307}, {.oaxis = 13, .raxis = 170}, {.oaxis = 10, .raxis = 307}, {.oaxis = 13, .raxis = 170},
{.oaxis = 15, .raxis = 32 }, {.oaxis = 17, .raxis = 255}, {.oaxis = 15, .raxis = 32 }, {.oaxis = 17, .raxis = 255},
@@ -310,7 +315,7 @@ int32_t Phy_AntCoinfoInit(PHY_ANT_CONFIG *antCoinfoPtr)
int32_t Phy_SetBeamNo(PHY_INST *instPtr, int32_t beamNo) int32_t Phy_SetBeamNo(PHY_INST *instPtr, int32_t beamNo)
{ {
if (instPtr->beamWd.next == ANT_BEAM_8) if (instPtr->beamWd.next == PHY_ANT_BEAM_8)
{ {
if (beamNo >= NUM_ANT_NRRW_PATTERN) if (beamNo >= NUM_ANT_NRRW_PATTERN)
{ {
@@ -326,7 +331,7 @@ int32_t Phy_SetBeamNo(PHY_INST *instPtr, int32_t beamNo)
return SUCCESS; return SUCCESS;
} }
} }
else if (instPtr->beamWd.next == ANT_BEAM_25) else if (instPtr->beamWd.next == PHY_ANT_BEAM_25)
{ {
if (beamNo >= NUM_ANT_SUBNRRW_PATTERN) if (beamNo >= NUM_ANT_SUBNRRW_PATTERN)
{ {
@@ -361,16 +366,16 @@ int32_t Phy_SetBeamWidth(PHY_INST *instPtr, PHY_ANT_BEAM_WIDTH beamWidth)
uint8_t beamConfig = instPtr->antCoinfoPtr.antMode & (~ANT_MODE_BEAM_MASK); uint8_t beamConfig = instPtr->antCoinfoPtr.antMode & (~ANT_MODE_BEAM_MASK);
switch (beamWidth) switch (beamWidth)
{ {
case ANT_BEAM_120: case PHY_ANT_BEAM_120:
beamConfig |= ANT_MODE_WIDE_BEAM_3; beamConfig |= ANT_MODE_WIDE_BEAM_3;
break; break;
case ANT_BEAM_60: case PHY_ANT_BEAM_60:
beamConfig |= ANT_MODE_WIDE_BEAM_2; beamConfig |= ANT_MODE_WIDE_BEAM_2;
break; break;
case ANT_BEAM_25: case PHY_ANT_BEAM_25:
beamConfig |= ANT_MODE_WIDE_BEAM_1; beamConfig |= ANT_MODE_WIDE_BEAM_1;
break; break;
case ANT_BEAM_8: case PHY_ANT_BEAM_8:
beamConfig |= ANT_MODE_NARROR_BEAM; beamConfig |= ANT_MODE_NARROR_BEAM;
break; break;
default: default:
+2 -2
View File
@@ -798,11 +798,11 @@ int32_t Phy_SetTimeWord(PHY_INST *instPtr, const TIME_WORD *tmWord, PHY_TIME_WOR
} }
switch (tmType) switch (tmType)
{ {
case TIME_WORD_POLL: case PHY_TIME_WORD_POLL:
PhyWrite(instPtr, POLLTIME_L, tmWord->frac_part); PhyWrite(instPtr, POLLTIME_L, tmWord->frac_part);
PhyWrite(instPtr, POLLTIME_H, tmWord->int_part); PhyWrite(instPtr, POLLTIME_H, tmWord->int_part);
break; break;
case TIME_WORD_LISTEN_TIMEOUT: case PHY_TIME_WORD_LISTEN_TIMEOUT:
PhyWrite(instPtr, LISTENTIMEOUT_L, tmWord->frac_part); PhyWrite(instPtr, LISTENTIMEOUT_L, tmWord->frac_part);
PhyWrite(instPtr, LISTENTIMEOUT_H, tmWord->int_part); PhyWrite(instPtr, LISTENTIMEOUT_H, tmWord->int_part);
break; break;
+11 -10
View File
@@ -34,7 +34,7 @@
#define NUM_ANT_SUBNRRW_PATTERN 37 #define NUM_ANT_SUBNRRW_PATTERN 37
#define NUM_ANT_NRRW_PATTERN 61 #define NUM_ANT_NRRW_PATTERN 61
#define INIT_BEAM_NO 0 #define INIT_BEAM_NO 0
#define INIT_ANT_WD ANT_BEAM_120 #define INIT_ANT_WD PHY_ANT_BEAM_120
#define INIT_ANT_NO 0 #define INIT_ANT_NO 0
#define L1_FRAME_NONE_HOPS UINT32_MAX #define L1_FRAME_NONE_HOPS UINT32_MAX
@@ -159,18 +159,18 @@ typedef struct
typedef enum typedef enum
{ {
TIME_WORD_NONE = 0, PHY_TIME_WORD_NONE = 0,
TIME_WORD_POLL = 1, PHY_TIME_WORD_POLL = 1,
TIME_WORD_LISTEN_TIMEOUT = 2 PHY_TIME_WORD_LISTEN_TIMEOUT = 2
} PHY_TIME_WORD_TYPE; } PHY_TIME_WORD_TYPE;
typedef enum typedef enum
{ {
ANT_BEAM_NONE = 0, PHY_ANT_BEAM_NONE = 0,
ANT_BEAM_120 = 1, PHY_ANT_BEAM_120 = 1,
ANT_BEAM_60 = 2, PHY_ANT_BEAM_60 = 2,
ANT_BEAM_25 = 3, PHY_ANT_BEAM_25 = 3,
ANT_BEAM_8 = 4 PHY_ANT_BEAM_8 = 4
} PHY_ANT_BEAM_WIDTH; } PHY_ANT_BEAM_WIDTH;
typedef enum typedef enum
@@ -215,9 +215,9 @@ typedef struct
bool isFrameSync; // if last reception frame sync success bool isFrameSync; // if last reception frame sync success
bool isDecode; // if last reception decode success bool isDecode; // if last reception decode success
bool isValid; // if last reception frame data valid (crc check pass) bool isValid; // if last reception frame data valid (crc check pass)
bool isPresetHop; // if using preset frequency hop
TIME_WORD recvSlotTime; // last slot start time stamp TIME_WORD recvSlotTime; // last slot start time stamp
TIME_WORD recvFsTime; // last frame sync time stamp TIME_WORD recvFsTime; // last frame sync time stamp
bool isPresetHop; // if using preset frequency hop
PHY_RCD antNo; // antenna number record PHY_RCD antNo; // antenna number record
PHY_RCD beamNo; // beam number record PHY_RCD beamNo; // beam number record
PHY_RCD beamWd; // beam width record PHY_RCD beamWd; // beam width record
@@ -236,6 +236,7 @@ extern uint16_t hopPattern_10KBPS_10MS[L1_FRAME_10KBPS_10MS_HOPS];
extern uint16_t hopPattern_10KBPS_20MS[L1_FRAME_10KBPS_20MS_HOPS]; extern uint16_t hopPattern_10KBPS_20MS[L1_FRAME_10KBPS_20MS_HOPS];
extern uint16_t hopPattern_40KBPS_10MS[L1_FRAME_40KBPS_10MS_HOPS]; extern uint16_t hopPattern_40KBPS_10MS[L1_FRAME_40KBPS_10MS_HOPS];
extern uint16_t hopPattern_40KBPS_20MS[L1_FRAME_40KBPS_20MS_HOPS]; extern uint16_t hopPattern_40KBPS_20MS[L1_FRAME_40KBPS_20MS_HOPS];
extern uint16_t hopPattern_200KBPS_5MS[L1_FRAME_200KBPS_5MS_HOPS]; extern uint16_t hopPattern_200KBPS_5MS[L1_FRAME_200KBPS_5MS_HOPS];
extern uint16_t hopPattern_1M2BPS_5MS[L1_FRAME_1M2BPS_5MS_HOPS]; extern uint16_t hopPattern_1M2BPS_5MS[L1_FRAME_1M2BPS_5MS_HOPS];
+11 -11
View File
@@ -113,7 +113,7 @@ static int32_t EvalPhyConfig(INTER_COMM_INST* instPtr, uint8_t* msgPtr){
PHY_INST* phyRef = instPtr->phyInstPtr; PHY_INST* phyRef = instPtr->phyInstPtr;
L1_FRAME_TYPE frameType = L1_NONE_FRAME; L1_FRAME_TYPE frameType = L1_NONE_FRAME;
PHY_TOR_TYPE torState = PHY_TOR_SUSPEND; PHY_TOR_TYPE torState = PHY_TOR_SUSPEND;
PHY_ANT_BEAM_WIDTH beamWidth = ANT_BEAM_NONE; PHY_ANT_BEAM_WIDTH beamWidth = PHY_ANT_BEAM_NONE;
uint32_t beamNo = 0; uint32_t beamNo = 0;
uint16_t msg_Recv = 0; uint16_t msg_Recv = 0;
@@ -199,13 +199,13 @@ static int32_t EvalPhyConfig(INTER_COMM_INST* instPtr, uint8_t* msgPtr){
} }
} }
if(msgPtr[INTER_MSG_CTRL_BEAM_MODE_OFFSET] == BEAM_MODE_WIDE){ if(msgPtr[INTER_MSG_CTRL_BEAM_MODE_OFFSET] == BEAM_MODE_WIDE){
beamWidth = ANT_BEAM_120; beamWidth = PHY_ANT_BEAM_120;
} }
else if(msgPtr[INTER_MSG_CTRL_BEAM_MODE_OFFSET] == BEAM_MODE_SUBNRW){ else if(msgPtr[INTER_MSG_CTRL_BEAM_MODE_OFFSET] == BEAM_MODE_SUBNRW){
beamWidth = ANT_BEAM_25; beamWidth = PHY_ANT_BEAM_25;
} }
else if(msgPtr[INTER_MSG_CTRL_BEAM_MODE_OFFSET] == BEAM_MODE_NRW){ else if(msgPtr[INTER_MSG_CTRL_BEAM_MODE_OFFSET] == BEAM_MODE_NRW){
beamWidth = ANT_BEAM_8; beamWidth = PHY_ANT_BEAM_8;
} }
else{ else{
DBG_ERROR("[PHY Control] Beam Width Configure cannot be recognized...\n\r"); DBG_ERROR("[PHY Control] Beam Width Configure cannot be recognized...\n\r");
@@ -217,9 +217,9 @@ static int32_t EvalPhyConfig(INTER_COMM_INST* instPtr, uint8_t* msgPtr){
return Status; return Status;
} }
beamNo = (uint32_t)msgPtr[INTER_MSG_CTRL_BEAM_NO_OFFSET]; beamNo = (uint32_t)msgPtr[INTER_MSG_CTRL_BEAM_NO_OFFSET];
if((beamNo<NUM_ANT_SUBNRRW_PATTERN && beamWidth == ANT_BEAM_25) if((beamNo<NUM_ANT_SUBNRRW_PATTERN && beamWidth == PHY_ANT_BEAM_25)
||(beamNo<NUM_ANT_NRRW_PATTERN && beamWidth == ANT_BEAM_8) ||(beamNo<NUM_ANT_NRRW_PATTERN && beamWidth == PHY_ANT_BEAM_8)
|| (beamNo == 0 && beamWidth == ANT_BEAM_120)){ || (beamNo == 0 && beamWidth == PHY_ANT_BEAM_120)){
Phy_SetBeamNo(phyRef, beamNo); Phy_SetBeamNo(phyRef, beamNo);
} }
else{ else{
@@ -245,7 +245,7 @@ static int32_t EvalPhyConfig(INTER_COMM_INST* instPtr, uint8_t* msgPtr){
TIME_WORD tmWord = {0}; TIME_WORD tmWord = {0};
tmWord.int_part = (uint32_t)(instPtr->lastCtrlTimeTag >> 32); tmWord.int_part = (uint32_t)(instPtr->lastCtrlTimeTag >> 32);
tmWord.frac_part = (uint32_t)(instPtr->lastCtrlTimeTag); tmWord.frac_part = (uint32_t)(instPtr->lastCtrlTimeTag);
Status = Phy_SetTimeWord(phyRef, &tmWord, TIME_WORD_POLL); Status = Phy_SetTimeWord(phyRef, &tmWord, PHY_TIME_WORD_POLL);
Status = Phy_SetMode(phyRef, PHY_MODE_PULL); Status = Phy_SetMode(phyRef, PHY_MODE_PULL);
Status = Phy_SetupNextSlot(phyRef, torState, frameType, instPtr->phySendBuff); Status = Phy_SetupNextSlot(phyRef, torState, frameType, instPtr->phySendBuff);
@@ -508,7 +508,7 @@ int32_t InterComm_MsgHandler(INTER_COMM_INST* instPtr){
timeTemp = GetTimeWord(msgRecvPtr + MODESW_START_TIME_OFFSET); timeTemp = GetTimeWord(msgRecvPtr + MODESW_START_TIME_OFFSET);
tmWord.int_part = (uint32_t)(timeTemp>>32);; tmWord.int_part = (uint32_t)(timeTemp>>32);;
tmWord.frac_part = (uint32_t)(timeTemp); tmWord.frac_part = (uint32_t)(timeTemp);
Status = Phy_SetTimeWord(instPtr->phyInstPtr, &tmWord, TIME_WORD_POLL); Status = Phy_SetTimeWord(instPtr->phyInstPtr, &tmWord, PHY_TIME_WORD_POLL);
if(Status != SUCCESS){ if(Status != SUCCESS){
return EPARAM; return EPARAM;
} }
@@ -516,7 +516,7 @@ int32_t InterComm_MsgHandler(INTER_COMM_INST* instPtr){
if(timeTemp == 0){ if(timeTemp == 0){
tmWord.frac_part = 0; tmWord.frac_part = 0;
tmWord.int_part = 0; tmWord.int_part = 0;
Status = Phy_SetTimeWord(instPtr->phyInstPtr, &tmWord, TIME_WORD_LISTEN_TIMEOUT); Status = Phy_SetTimeWord(instPtr->phyInstPtr, &tmWord, PHY_TIME_WORD_LISTEN_TIMEOUT);
if(Status != SUCCESS){ if(Status != SUCCESS){
return EPARAM; return EPARAM;
} }
@@ -526,7 +526,7 @@ int32_t InterComm_MsgHandler(INTER_COMM_INST* instPtr){
tmWord.int_part += (uint32_t)(timeTemp>>32); tmWord.int_part += (uint32_t)(timeTemp>>32);
tmWord.int_part = (tmWord.frac_part >= TMWORD_FRAC_MAX) ? tmWord.int_part + 1:tmWord.int_part; tmWord.int_part = (tmWord.frac_part >= TMWORD_FRAC_MAX) ? tmWord.int_part + 1:tmWord.int_part;
tmWord.frac_part %= TMWORD_FRAC_MAX; tmWord.frac_part %= TMWORD_FRAC_MAX;
Status = Phy_SetTimeWord(instPtr->phyInstPtr, &tmWord, TIME_WORD_LISTEN_TIMEOUT); Status = Phy_SetTimeWord(instPtr->phyInstPtr, &tmWord, PHY_TIME_WORD_LISTEN_TIMEOUT);
if(Status != SUCCESS){ if(Status != SUCCESS){
return EPARAM; return EPARAM;
} }
@@ -38,9 +38,13 @@
#define ANT_MODE_LOWAPOWER 0x04 #define ANT_MODE_LOWAPOWER 0x04
#define ANT_MODE_STANDBY 0x0F #define ANT_MODE_STANDBY 0x0F
#define ATN_MODE_DEFAULT (ANT_MODE_WIDE_BEAM_1 | ANT_MODE_LOWAPOWER) #define ATN_MODE_DEFAULT (ANT_MODE_WIDE_BEAM_1 | ANT_MODE_LOWAPOWER)
#define ATN_MODE_HIGH (ANT_MODE_WIDE_BEAM_1 | ANT_MODE_HIGH_POWER)
#define DEFAULT_CENTRTAL_FREQ 0x06D7 // 26.25GHz #define DEFAULT_CENTRTAL_FREQ 0x06D7 // 26.25GHz
#define RXTXMODE_RX 0x00
#define RXTXMODE_TX 0x01
#define RXTXMODE_DEFAULT 0x00 #define RXTXMODE_DEFAULT 0x00
#define CALIBRMODE_NORMAL 0x00 #define CALIBRMODE_NORMAL 0x00
@@ -50,15 +54,18 @@
// Pair by regex // Pair by regex
// Regex: (([0-9]+, ){8}) // Regex: (([0-9]+, ){8})
uint16_t hopPattern_Config[L1_FRAME_MAX_HOPS] = { uint16_t hopPattern_Config[L1_FRAME_MAX_HOPS] =
{
0 0
}; };
uint16_t hopPattern_2KBPS_20MS[L1_FRAME_2KBPS_20MS_HOPS] = { uint16_t hopPattern_2KBPS_20MS[L1_FRAME_2KBPS_20MS_HOPS] =
{
1500 1500
}; };
//uint16_t hopPattern_2KBPS_100MS[L1_FRAME_2KBPS_100MS_HOPS] = { // uint16_t hopPattern_2KBPS_100MS[L1_FRAME_2KBPS_100MS_HOPS] =
// {
// 0, 44, 88, 131, 175, 219, 263, 306, // 0, 44, 88, 131, 175, 219, 263, 306,
// 350, 394, 438, 481, 525, 569, 613, 656, // 350, 394, 438, 481, 525, 569, 613, 656,
// 700, 744, 788, 831, 875, 919, 963, 1006, // 700, 744, 788, 831, 875, 919, 963, 1006,
@@ -70,37 +77,44 @@ uint16_t hopPattern_2KBPS_20MS[L1_FRAME_2KBPS_20MS_HOPS] = {
// 2800, 2844, 2888, 2931, 2975, 3019, 3063, 3106, // 2800, 2844, 2888, 2931, 2975, 3019, 3063, 3106,
// 3150, 3194, 3238, 3281, 3325, 3369, 3413, 3456, // 3150, 3194, 3238, 3281, 3325, 3369, 3413, 3456,
// 3500 // 3500
//}; // };
uint16_t hopPattern_2KBPS_100MS[L1_FRAME_2KBPS_100MS_HOPS] = { uint16_t hopPattern_2KBPS_100MS[L1_FRAME_2KBPS_100MS_HOPS] =
{
1500 1500
}; };
uint16_t hopPattern_10KBPS_10MS[L1_FRAME_10KBPS_10MS_HOPS] = { uint16_t hopPattern_10KBPS_10MS[L1_FRAME_10KBPS_10MS_HOPS] =
{
1500 1500
}; };
uint16_t hopPattern_10KBPS_20MS[L1_FRAME_10KBPS_20MS_HOPS] = { uint16_t hopPattern_10KBPS_20MS[L1_FRAME_10KBPS_20MS_HOPS] =
{
1500, 1600, 1700, 1800, 1900, 2000, 1500, 1600, 1500, 1600, 1700, 1800, 1900, 2000, 1500, 1600,
1700, 1800, 1900 1700, 1800, 1900
}; };
uint16_t hopPattern_40KBPS_20MS[L1_FRAME_40KBPS_20MS_HOPS] = { uint16_t hopPattern_40KBPS_20MS[L1_FRAME_40KBPS_20MS_HOPS] =
{
2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400,
2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400,
2400, 2400, 2400 2400, 2400, 2400
}; };
uint16_t hopPattern_40KBPS_10MS[L1_FRAME_40KBPS_10MS_HOPS] = { uint16_t hopPattern_40KBPS_10MS[L1_FRAME_40KBPS_10MS_HOPS] =
{
2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400,
2400 2400
}; };
uint16_t hopPattern_200KBPS_5MS[L1_FRAME_200KBPS_5MS_HOPS] ={ uint16_t hopPattern_200KBPS_5MS[L1_FRAME_200KBPS_5MS_HOPS] =
{
500, 1600, 1700, 1800, 1900, 2000, 1500, 1600, 500, 1600, 1700, 1800, 1900, 2000, 1500, 1600,
1700, 1800, 1900, 2000, 1500, 1600, 1700, 1800, 1700, 1800, 1900, 2000, 1500, 1600, 1700, 1800,
1900, 2000, 1500, 1500 1900, 2000, 1500, 1500
}; };
uint16_t hopPattern_1M2BPS_5MS[L1_FRAME_1M2BPS_5MS_HOPS] = { uint16_t hopPattern_1M2BPS_5MS[L1_FRAME_1M2BPS_5MS_HOPS] =
{
500, 600, 700, 800, 900, 1000, 500, 600, 500, 600, 700, 800, 900, 1000, 500, 600,
700, 800, 900, 1000, 500, 600, 700, 800, 700, 800, 900, 1000, 500, 600, 700, 800,
900, 1000, 500, 500 900, 1000, 500, 500
@@ -109,7 +123,8 @@ uint16_t hopPattern_1M2BPS_5MS[L1_FRAME_1M2BPS_5MS_HOPS] = {
// Pair by regex // Pair by regex
// Regex: ((\{\.oaxis = [0-9]+[ ,]+\.raxis = [0-9]+[ ]*\}, ){2}) // Regex: ((\{\.oaxis = [0-9]+[ ,]+\.raxis = [0-9]+[ ]*\}, ){2})
#ifdef PHY_BEAM_SET_PRESET #ifdef PHY_BEAM_SET_PRESET
PHY_ANT_ANGLE antSubnrrwPattern[L1_NUM_ANT_SUBNRRW_PATTERN] = { PHY_ANT_ANGLE antSubnrrwPattern[L1_NUM_ANT_SUBNRRW_PATTERN] =
{
{.oaxis = 0 , .raxis = 222}, {.oaxis = 10, .raxis = 85 }, {.oaxis = 0 , .raxis = 222}, {.oaxis = 10, .raxis = 85 },
{.oaxis = 14, .raxis = 307}, {.oaxis = 17, .raxis = 170}, {.oaxis = 14, .raxis = 307}, {.oaxis = 17, .raxis = 170},
{.oaxis = 19, .raxis = 32 }, {.oaxis = 21, .raxis = 255}, {.oaxis = 19, .raxis = 32 }, {.oaxis = 21, .raxis = 255},
@@ -130,7 +145,8 @@ PHY_ANT_ANGLE antSubnrrwPattern[L1_NUM_ANT_SUBNRRW_PATTERN] = {
{.oaxis = 58, .raxis = 227}, {.oaxis = 59, .raxis = 90 }, {.oaxis = 58, .raxis = 227}, {.oaxis = 59, .raxis = 90 },
{.oaxis = 60, .raxis = 312} {.oaxis = 60, .raxis = 312}
}; };
PHY_ANT_ANGLE antNrrwPattern[L1_NUM_ANT_NRRW_PATTERN] = { PHY_ANT_ANGLE antNrrwPattern[L1_NUM_ANT_NRRW_PATTERN] =
{
{.oaxis = 0 , .raxis = 222}, {.oaxis = 7 , .raxis = 85 }, {.oaxis = 0 , .raxis = 222}, {.oaxis = 7 , .raxis = 85 },
{.oaxis = 10, .raxis = 307}, {.oaxis = 13, .raxis = 170}, {.oaxis = 10, .raxis = 307}, {.oaxis = 13, .raxis = 170},
{.oaxis = 15, .raxis = 32 }, {.oaxis = 17, .raxis = 255}, {.oaxis = 15, .raxis = 32 }, {.oaxis = 17, .raxis = 255},
@@ -164,8 +180,14 @@ PHY_ANT_ANGLE antNrrwPattern[L1_NUM_ANT_NRRW_PATTERN] = {
{.oaxis = 60, .raxis = 252} {.oaxis = 60, .raxis = 252}
}; };
#else #else
PHY_ANT_ANGLE antSubnrrwPattern[NUM_ANT_SUBNRRW_PATTERN] = {0}; PHY_ANT_ANGLE antSubnrrwPattern[NUM_ANT_SUBNRRW_PATTERN] =
PHY_ANT_ANGLE antNrrwPattern[NUM_ANT_NRRW_PATTERN] = {0}; {
0
};
PHY_ANT_ANGLE antNrrwPattern[NUM_ANT_NRRW_PATTERN] =
{
0
};
#endif #endif
/*****************************************************************************/ /*****************************************************************************/
/** /**
@@ -129,8 +129,9 @@ typedef enum
{ {
PHY_TIME_WORD_NONE = 0, PHY_TIME_WORD_NONE = 0,
PHY_TIME_WORD_POLL = 1, PHY_TIME_WORD_POLL = 1,
PHY_TIME_WORD_LOCAL_ADJ = 2, PHY_TIME_WORD_LISTEN_TIMEOUT = 2,
PHY_TIME_WORD_STEP = 3, PHY_TIME_WORD_LOCAL_ADJ = 3,
PHY_TIME_WORD_STEP = 4,
} PHY_TIME_WORD_TYPE; } PHY_TIME_WORD_TYPE;
typedef enum typedef enum
@@ -177,12 +178,12 @@ typedef struct
typedef struct typedef struct
{ {
PHY_CONFIG phyCofig; // Device address configs PHY_CONFIG phyCofig; // Device address configs
bool isPhyEn; // is physical instance enable bool isPhyEn; // if physical layer running
bool isAcq; // is last reception acquisition success bool isAcq; // if last reception acquisition success
bool isFrameSync; // is last reception frame sync success bool isFrameSync; // if last reception frame sync success
bool isDecode; // is last reception decode success bool isDecode; // if last reception decode success
bool isValid; // is last reception frame data valid (crc check pass) bool isValid; // if last reception frame data valid (crc check pass)
bool isPresetHop; // is using preset frequency hop bool isPresetHop; // if using preset frequency hop
PHY_RCD antNo; // antenna number record PHY_RCD antNo; // antenna number record
PHY_RCD beamNo; // beam number record PHY_RCD beamNo; // beam number record
PHY_RCD beamWd; // beam width record PHY_RCD beamWd; // beam width record
@@ -204,8 +205,9 @@ extern uint16_t hopPattern_2KBPS_20MS[L1_FRAME_2KBPS_20MS_HOPS];
extern uint16_t hopPattern_2KBPS_100MS[L1_FRAME_2KBPS_100MS_HOPS]; extern uint16_t hopPattern_2KBPS_100MS[L1_FRAME_2KBPS_100MS_HOPS];
extern uint16_t hopPattern_10KBPS_10MS[L1_FRAME_10KBPS_10MS_HOPS]; extern uint16_t hopPattern_10KBPS_10MS[L1_FRAME_10KBPS_10MS_HOPS];
extern uint16_t hopPattern_10KBPS_20MS[L1_FRAME_10KBPS_20MS_HOPS]; extern uint16_t hopPattern_10KBPS_20MS[L1_FRAME_10KBPS_20MS_HOPS];
extern uint16_t hopPattern_40KBPS_20MS[L1_FRAME_40KBPS_20MS_HOPS];
extern uint16_t hopPattern_40KBPS_10MS[L1_FRAME_40KBPS_10MS_HOPS]; extern uint16_t hopPattern_40KBPS_10MS[L1_FRAME_40KBPS_10MS_HOPS];
extern uint16_t hopPattern_40KBPS_20MS[L1_FRAME_40KBPS_20MS_HOPS];
extern uint16_t hopPattern_200KBPS_5MS[L1_FRAME_200KBPS_5MS_HOPS]; extern uint16_t hopPattern_200KBPS_5MS[L1_FRAME_200KBPS_5MS_HOPS];
extern uint16_t hopPattern_1M2BPS_5MS[L1_FRAME_1M2BPS_5MS_HOPS]; extern uint16_t hopPattern_1M2BPS_5MS[L1_FRAME_1M2BPS_5MS_HOPS];