1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- /*
- * 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
|