/* * THE FOLLOWING FIRMWARE IS PROVIDED: (1) "AS IS" WITH NO WARRANTY; AND * (2)TO ENABLE ACCESS TO CODING INFORMATION TO GUIDE AND FACILITATE CUSTOMER. * CONSEQUENTLY, CMOSTEK SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR * CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION * CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. * * Copyright (C) CMOSTEK SZ. */ /*! * @file radio.h * @brief Generic radio handlers * * @version 1.1 * @date Feb 08 2017 * @author CMOSTEK R@D */ #ifndef __RADIO_H #define __RADIO_H #include "cmt2300.h" #ifdef __cplusplus extern "C" { #endif /* RF state machine */ typedef enum { RF_STATE_IDLE = 0, RF_STATE_RX_START, RF_STATE_RX_WAIT, RF_STATE_RX_DONE, RF_STATE_RX_TIMEOUT, RF_STATE_TX_START, RF_STATE_TX_WAIT, RF_STATE_TX_DONE, RF_STATE_TX_TIMEOUT, RF_STATE_ERROR, } EnumRFStatus; /* RF process function results */ typedef enum { RF_IDLE = 0, RF_BUSY, RF_RX_DONE, RF_RX_TIMEOUT, RF_TX_DONE, RF_TX_TIMEOUT, RF_ERROR, } EnumRFResult; typedef struct { const uint8_t *CmtBank; const uint8_t *SystemBank; const uint8_t *FrequencyBank; const uint8_t *DataRateBank; const uint8_t *BasebandBank; const uint8_t *TxBank; }cmtParams_ts; //#define ENABLE_ANTENNA_SWITCH void RF_Init(uint8_t type, uint8_t br); void RF_Config(void); void RF_SetStatus(EnumRFStatus nStatus); EnumRFStatus RF_GetStatus(void); uint8_t RF_GetInterruptFlags(void); int RF_GetPacketRssi(void); void RF_StartRx(uint8_t buf[], uint16_t len, uint32_t timeout); void RF_StartTx(uint8_t buf[], uint16_t len, uint32_t timeout); EnumRFResult RF_Process(void); #ifdef __cplusplus } #endif #endif