uint8_t RF_Rx(uint8_t* RxData, uint8_t* Data_Length, uint8_t* RSSI){ int _isReceived =0; int _checkFlag=0; // ============== Check RX FIFO Full/Overflow ================= // if (Us2400ReadShortReg(0x30) == 0x90){ Us2400Rx(Data, &DataLen_temp, &RFLqi, &RFRssi); if (DataLen_temp != 0){ DataLen = DataLen_temp; DataLen_temp = 0; memcpy(RxData, Data, DataLen); *Data_Length = DataLen; *RSSI = RFRssi; _checkFlag = headerCheck_AutoNet(); if(!_checkFlag) { // Not For AutoNet _isReceived = 1; Us2400WriteShortReg(0x0D, Us2400ReadShortReg(0x0D) | 0x01); } } } // ============== Packet Receive ================= // if (RFRxState == 1 || Us2400ReadShortReg(0x30) == 0x80){ Us2400Rx(Data, &DataLen_temp, &RFLqi, &rssi); if (DataLen_temp != 0){ DataLen = DataLen_temp; DataLen_temp = 0; memcpy(RxData, Data, DataLen); *Data_Length = DataLen; *RSSI = RFRssi; _checkFlag = headerCheck_AutoNet(); if(!_checkFlag) { // Not For AutoNet _isReceived = 1; RFRxState = 0; } } } return _isReceived; }
uint8_t RF_Rx(uint8_t* RxData, uint8_t* Data_Length){ int _rx_check_flag =0; int _header_check_flag=0; // ============== Check RX FIFO Full/Overflow ================= // if (Us2400ReadShortReg(0x30) == 0x90){ Us2400Rx(Data, &DataLen_temp, &RFLqi, &RFRssi); if (DataLen_temp != 0){ DataLen = DataLen_temp; DataLen_temp = 0; memcpy(pRxData, Data, DataLen); memcpy(RxData, pRxData, DataLen); *Data_Length = DataLen; _header_check_flag = autonet_header_check(); if(!_header_check_flag) { // Not For AutoNet _rx_check_flag = 1; Us2400WriteShortReg(0x0D, Us2400ReadShortReg(0x0D) | 0x01); } } } // ============== Packet Receive ================= // if (RFRxState == 1 || Us2400ReadShortReg(0x30) == 0x80){ Us2400Rx(Data, &DataLen_temp, &RFLqi, &rssi); if (DataLen_temp != 0){ DataLen = DataLen_temp; DataLen_temp = 0; memcpy(pRxData, Data, DataLen); memcpy(RxData, pRxData, DataLen); *Data_Length = DataLen; _header_check_flag = autonet_header_check(); if(!_header_check_flag) { // Not For AutoNet _rx_check_flag = 1; RFRxState = 0; } } } return _rx_check_flag; }
int RF_RX_AUTONET(){ int _isReceived =0; int _checkFlag=0; // ============== Check RX FIFO Full/Overflow ================= // if (Us2400ReadShortReg(0x30) == 0x90){ Us2400Rx(Data, &DataLen_temp, &RFLqi, &RFRssi); if (DataLen_temp != 0){ DataLen = DataLen_temp; DataLen_temp = 0; memcpy(pRxData, Data, DataLen); _checkFlag = headerCheck_AutoNet(); if(_checkFlag) { // For AutoNet _isReceived = 1; Us2400WriteShortReg(0x0D, Us2400ReadShortReg(0x0D) | 0x01); } } } // ============== Packet Receive ================= // if (RFRxState == 1 || Us2400ReadShortReg(0x30) == 0x80){ Us2400Rx(Data, &DataLen_temp, &RFLqi, &rssi); if (DataLen_temp != 0){ DataLen = DataLen_temp; DataLen_temp = 0; memcpy(pRxData, Data, DataLen); _checkFlag = headerCheck_AutoNet(); if(_checkFlag) { // For AutoNet _isReceived = 1; RFRxState = 0; } } } return _isReceived; }