Uint8 idata Mem_RL;\r
\r
const Uint8 code BitCount_Tab[16] = {0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4};\r
-const Uint8 code ID_Tab[8]={0xC3,0x3C,0x95,0x6A,0x36,0x75,0xC5,0x2A};//ID code\r
+// const Uint8 code ID_Tab[8]={0xC3,0x3C,0x95,0x6A,0x36,0x75,0xC5,0x2A};//ID code\r
+// const Uint8 code ID_Tab[8]={0xAA,0xAA,0xAA,0xAA,0xCC,0xCC,0xAA,0xAA};\r
+const Uint8 code ID_Tab[8]={0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55};\r
//const Uint8 //code ID_Tab[8]={0x34,0x75,0xC5,0x2A,0xC7,0x33,0x45,0xEA};//ID code\r
//const Uint8 code ID_Tab[8]={0x55,0x55,0x55,0x55,0x34,0x75,0xC5,0x6A}; //ID2 code\r
//const Uint8 code ID_Tab[8]={0xFF,0xFF,0xFF,0xFF,0x36,0x75,0xC5,0xBA}; //ID2 code\r
/*********************************************************************\r
* main loop\r
*********************************************************************/\r
-void a5133_main(Uint8 Flag_MASTER)\r
+void a5133_main(Uint8 Flag_MASTER,uint8_t channel)\r
{\r
\r
if(RF_Init())/* init RF */\r
\r
if (Flag_MASTER) \r
{ \r
+ PRINT("Flag_MASTER\n");\r
while(1)\r
{\r
RF_WriteReg(GIO1_REG,0x01);/* gio1-wtr */\r
\r
RF_FIFOLength(64-1);/* fifo length 64 bytes */ \r
RF_StrobeCmd(CMD_PLL);\r
- RF_SetCH(80);/* ch=80, freq=5805.001MHz */\r
+ RF_SetCH(channel);/* ch=80, freq=5805.001MHz */\r
/* To set RF channel */\r
/* RF base Freq : 5725.001MHz */\r
/* Channel step : 1MHz */\r
/* SetCH : 80 */\r
/* RF Frequency = RF base Freq + (Channel step * SetCH) = 5725.001MHz + ( 1MHz * 80 ) = 5805.001MHz */\r
- \r
+ printf("master channel %d , freq %d\n",channel,5725+channel);\r
RxCnt = 0;\r
Err_Loss=0;\r
Err_Frame=0;\r
RF_StrobeCmd(CMD_TX);/* transmit packet */\r
\r
Delay10us(1);\r
- while(a5133_gpio_get_gio1_value());/* wait transmit completed */\r
- \r
+ while(a5133_gpio_get_gio1_value())/* wait transmit completed */\r
+ {\r
+ //sleep\r
+ LOS_Msleep(10);\r
+ }; \r
if(RF_LVR_Check())/* check if BOD reset has occurred */\r
break;/* exit loop & re-RF init */\r
else\r
\r
timer=0;\r
Flag_Timeout=0;\r
- while(a5133_gpio_get_gio1_value()==1 && Flag_Timeout==0);/* wait receive completed */\r
+ while(a5133_gpio_get_gio1_value()==1 && Flag_Timeout==0)/* wait receive completed */\r
+ {\r
+ //sleep\r
+ LOS_Msleep(10);\r
+ }; \r
if (Flag_Timeout)\r
{\r
RF_StrobeCmd(CMD_PLL);/* exit rx mode */\r
}\r
else\r
{ \r
+ PRINT("Flag_Slave\n");\r
while(1)\r
{\r
RF_WriteReg(GIO1_REG,0x01);/* gio1-wtr */\r
\r
RF_FIFOLength(64-1);/* write data to tx fifo */ \r
RF_StrobeCmd(CMD_PLL);\r
- RF_SetCH(80);/* ch=80, freq=5805.001MHz */\r
+ RF_SetCH(channel);/* ch=80, freq=5805.001MHz */\r
+ printf("slave channel %d , freq %d\n",channel,5725+channel);\r
\r
RxCnt = 0;\r
Err_Loss=0;\r
RF_StrobeCmd(CMD_RX);\r
\r
Delay10us(1);\r
- while(a5133_gpio_get_gio1_value());\r
+ while(a5133_gpio_get_gio1_value())\r
+ {\r
+ //sleep\r
+ LOS_Msleep(10);\r
+ };\r
RxPacket();\r
\r
RF_FIFOWrite(64);\r
RF_StrobeCmd(CMD_TX);\r
\r
Delay10us(1);\r
- while(a5133_gpio_get_gio1_value()); \r
+ while(a5133_gpio_get_gio1_value()){\r
+ //sleep\r
+ LOS_Msleep(10);\r
+ }; \r
}\r
}\r
}\r
memcpy(&CmdBuf[7], &Err_BitCnt, 4);\r
\r
//输出日志\r
- PRINT("RxCnt %d , Err_Loss %d , Err_Frame %d , Err_BitCnt %d \n",RxCnt,Err_Loss,Err_Frame,Err_BitCnt);\r
+ PRINT("=====RxCnt %d , Err_Loss %d , Err_Frame %d , Err_BitCnt %d \n",RxCnt,Err_Loss,Err_Frame,Err_BitCnt);\r
// UartSendCnt=12;\r
// Uartptr=&CmdBuf[0];\r
// SBUF=CmdBuf[0];\r
}\r
\r
RF_Config();/* config A7157 chip */\r
- RF_TrimmedValue_Init();/* load trimming value */\r
+ if (RF_TrimmedValue_Init()) /* load trimming value */\r
+ {\r
+ printf("RF_TrimmedValue_Init failed\n");\r
+ return 1;\r
+ }\r
if(RF_Cal())/* rf calibration */\r
{\r
printf("RF_Cal\n");\r
a5133_gpio_scs_set_value(1);\r
}\r
\r
+#include "wearable_log.h"\r
+static void dump_tmpbuf(void)\r
+{\r
+ uint8_t hexstr[256]={0};\r
+ for (int i=0 ;i < 64;i++)\r
+ {\r
+ sprintf( (char*)&hexstr[i*2],"%02X",tmpbuf[i]);\r
+ }\r
+ // printf((char*)&hexstr[0]);\r
+ // printf("\n");\r
+ printf("rx %s\n",(char*)&hexstr[0]);\r
+ // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "rx %s\n",hexstr);\r
+ \r
+\r
+}\r
/*********************************************************************\r
** RxPacket\r
*********************************************************************/\r
}\r
}\r
a5133_gpio_scs_set_value(1);\r
-\r
+ printf("=====RxPacket \n");\r
+ dump_tmpbuf();\r
if (err)//packet error\r
Err_Frame++;\r
}\r
\r
//calibration VBC,VDC procedure\r
if(RF_Cal_CHGroup(20)) //calibrate channel group Bank I\r
- return 1;\r
+ {\r
+ printf("%s,%d\n",__func__,__LINE__);\r
+ return 1;\r
+\r
+ }\r
if(RF_Cal_CHGroup(60)) //calibrate channel group Bank II\r
- return 1;\r
+ {\r
+ printf("%s,%d\n",__func__,__LINE__);\r
+ return 1;\r
+\r
+ }\r
if(RF_Cal_CHGroup(100)) //calibrate channel group Bank III\r
- return 1;\r
+ {\r
+ printf("%s,%d\n",__func__,__LINE__);\r
+ return 1;\r
+\r
+ }\r
\r
RF_StrobeCmd(CMD_STBY); //return to STBY state\r
\r
Mem_RL = rlc;\r
\r
if(fbcf)\r
+{\r
+ printf("%s,%d\n",__func__,__LINE__);\r
+\r
return 1;//error\r
+}\r
\r
return 0;\r
}\r
/*********************************************************************\r
** RF_TrimmedValue_Init\r
*********************************************************************/\r
-void RF_TrimmedValue_Init(void)\r
+int RF_TrimmedValue_Init(void)\r
{\r
Uint8 i;\r
Uint8 trimValue[8];\r
RF_WritePage(ROMP_REG, (A5133_RFConfigTab_Addr0x38[2] & 0xC0) | trimValue[1], 2);//CTR \r
}\r
else\r
- Err_State();\r
+ {\r
+\r
+ printf("%s,%d\n",__func__,__LINE__);\r
+ // Err_State();\r
+ return 1;\r
+ }\r
}\r
else if((trimValue[0] + trimValue[1] + trimValue[2] + trimValue[3]) == trimValue[4]) //case2-CP+FT\r
{\r
RF_WritePage(ROMP_REG, (A5133_RFConfigTab_Addr0x38[0] & 0x03) | (trimValue[2]<<2), 0);//BDC\r
RF_WritePage(ROMP_REG, (A5133_RFConfigTab_Addr0x38[4] & 0x40) | trimValue[3], 4);//STM\r
}\r
- else\r
- Err_State();\r
+ else{\r
+ printf("%s,%d\n",__func__,__LINE__);\r
+ // Err_State();\r
+ return 1;\r
+\r
+ }\r
}\r
else //only CP\r
{\r
RF_WritePage(ROMP_REG, (A5133_RFConfigTab_Addr0x38[4] & 0x40) | trimValue[3], 4);//STM\r
}\r
else\r
- Err_State(); \r
+ {\r
+ printf("%s,%d\n",__func__,__LINE__);\r
+ // Err_State(); \r
+ return 1;\r
+ }\r
+ \r
}\r
+ return 0;\r
}\r
\r
/*********************************************************************\r
\r
//RF power in(dBm) = (RSSI - RL) / (RH - RL) * 12 - 80dbm - 3\r
tmp = ((rssi*1.0 - Mem_RL) / (Mem_RH - Mem_RL) * 12.0) - 80 - 3; \r
+ printf("RF_RSSI_Read %d\n",tmp);\r
return tmp;\r
}\r
\r
RF_StrobeCmd(CMD_TX);/* transmit packet */\r
\r
Delay10us(1);\r
- while(a5133_gpio_get_gio1_value());\r
+ while(a5133_gpio_get_gio1_value())\r
+ {\r
+ //sleep\r
+ LOS_Msleep(10);\r
+ }; \r
\r
/* check vpoak */\r
if(Is_Vpoak())\r
timer=0;\r
// TR0=1;\r
// EA=1;\r
-\r
+ \r
while(1)\r
{\r
if(RF_LVR_Check())/* check if BOD reset has occurred */\r
RF_StrobeCmd(CMD_RX);\r
\r
Delay10us(1);\r
- while(a5133_gpio_get_gio1_value());\r
+ while(a5133_gpio_get_gio1_value())\r
+ {\r
+ //sleep\r
+ LOS_Msleep(10);\r
+ }; \r
\r
/* check vpoak */\r
if(Is_Vpoak())\r