The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.
Dependents: hello SerialTestv11 SerialTestv12 Sierpinski ... more
mbed 2
This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.
TARGET_TB_SENSE_12/TOOLCHAIN_IAR/timing_state.h@171:3a7713b1edbc, 2018-11-08 (annotated)
- Committer:
- AnnaBridge
- Date:
- Thu Nov 08 11:45:42 2018 +0000
- Revision:
- 171:3a7713b1edbc
- Parent:
- TARGET_TB_SENSE_1/TARGET_Silicon_Labs/TARGET_SL_RAIL/efr32-rf-driver/rail/timing_state.h@167:84c0a372a020
mbed library. Release version 164
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Anna Bridge |
160:5571c4ff569f | 1 | /***************************************************************************//** |
Anna Bridge |
160:5571c4ff569f | 2 | * @file timing_state.h |
Anna Bridge |
160:5571c4ff569f | 3 | * @brief RADIO API Abstraction layer for setting state timing information |
Anna Bridge |
160:5571c4ff569f | 4 | * @version INTERNAL |
Anna Bridge |
160:5571c4ff569f | 5 | ******************************************************************************* |
Anna Bridge |
160:5571c4ff569f | 6 | * @section License |
AnnaBridge | 167:84c0a372a020 | 7 | * <b>(C) Copyright 2017 Silicon Labs, www.silabs.com</b> |
Anna Bridge |
160:5571c4ff569f | 8 | ******************************************************************************/ |
Anna Bridge |
160:5571c4ff569f | 9 | #ifndef __TIMING_STATE_H |
Anna Bridge |
160:5571c4ff569f | 10 | #define __TIMING_STATE_H |
Anna Bridge |
160:5571c4ff569f | 11 | |
Anna Bridge |
160:5571c4ff569f | 12 | #include <stdint.h> |
Anna Bridge |
160:5571c4ff569f | 13 | #include "em_device.h" |
Anna Bridge |
160:5571c4ff569f | 14 | |
Anna Bridge |
160:5571c4ff569f | 15 | #ifdef __cplusplus |
Anna Bridge |
160:5571c4ff569f | 16 | extern "C" { |
Anna Bridge |
160:5571c4ff569f | 17 | #endif |
Anna Bridge |
160:5571c4ff569f | 18 | |
Anna Bridge |
160:5571c4ff569f | 19 | /******************************************************************************* |
Anna Bridge |
160:5571c4ff569f | 20 | ******************************* STRUCTS *********************************** |
Anna Bridge |
160:5571c4ff569f | 21 | ******************************************************************************/ |
Anna Bridge |
160:5571c4ff569f | 22 | |
Anna Bridge |
160:5571c4ff569f | 23 | // All the timing information for state transitions |
Anna Bridge |
160:5571c4ff569f | 24 | typedef struct StateTimings { |
Anna Bridge |
160:5571c4ff569f | 25 | int32_t rxChainDelayNs; |
Anna Bridge |
160:5571c4ff569f | 26 | #if (_SILICON_LABS_32B_SERIES_1_CONFIG == 1) \ |
Anna Bridge |
160:5571c4ff569f | 27 | || (_SILICON_LABS_32B_SERIES_1_CONFIG == 4) |
Anna Bridge |
160:5571c4ff569f | 28 | // On Dumbo the RX2TX time is based on the RXDONE time, which is stable enough |
Anna Bridge |
160:5571c4ff569f | 29 | // for our purposes. However, the timestamp is still based on FRAMEDET, so we |
Anna Bridge |
160:5571c4ff569f | 30 | // need two delays, one for the chain delay (FRAMEDET delay), and the second |
Anna Bridge |
160:5571c4ff569f | 31 | // for the RXDONE delay, which we use for RX2TX transitions only. |
Anna Bridge |
160:5571c4ff569f | 32 | |
Anna Bridge |
160:5571c4ff569f | 33 | // On Nixi the RX2TX time and the timestamp are based on RXDONE. The chain |
Anna Bridge |
160:5571c4ff569f | 34 | // delay for RX only calculates how long we need to stay in RX to get SYNC, |
Anna Bridge |
160:5571c4ff569f | 35 | // which does not need to be precise. (And hard to measure.) |
Anna Bridge |
160:5571c4ff569f | 36 | int32_t rxDoneDelayNs; |
Anna Bridge |
160:5571c4ff569f | 37 | #endif |
AnnaBridge | 167:84c0a372a020 | 38 | #if _SILICON_LABS_32B_SERIES_1_CONFIG >= 2 |
AnnaBridge | 167:84c0a372a020 | 39 | // The viterbi phy needs extra time to power up the receive path during |
AnnaBridge | 167:84c0a372a020 | 40 | // TX2RX in order to receive low RSSI packets. This flag indicates to |
AnnaBridge | 167:84c0a372a020 | 41 | // turn on that extra time |
AnnaBridge | 167:84c0a372a020 | 42 | bool viterbiPhy; |
AnnaBridge | 167:84c0a372a020 | 43 | #endif |
Anna Bridge |
160:5571c4ff569f | 44 | int32_t txChainDelayNs; |
Anna Bridge |
160:5571c4ff569f | 45 | uint16_t rxSearch; |
Anna Bridge |
160:5571c4ff569f | 46 | uint16_t txToRxSearch; |
Anna Bridge |
160:5571c4ff569f | 47 | uint16_t rxWarm; |
Anna Bridge |
160:5571c4ff569f | 48 | uint16_t rxToTx; |
Anna Bridge |
160:5571c4ff569f | 49 | uint16_t rxFrameToTx; |
Anna Bridge |
160:5571c4ff569f | 50 | uint16_t txWarm; |
Anna Bridge |
160:5571c4ff569f | 51 | uint16_t txToRx; |
Anna Bridge |
160:5571c4ff569f | 52 | uint16_t txToTx; |
Anna Bridge |
160:5571c4ff569f | 53 | } StateTimings_t; |
Anna Bridge |
160:5571c4ff569f | 54 | |
Anna Bridge |
160:5571c4ff569f | 55 | /** @} (end addtogroup TIMING) */ |
Anna Bridge |
160:5571c4ff569f | 56 | /** @} (end addtogroup RF_Library) */ |
Anna Bridge |
160:5571c4ff569f | 57 | |
Anna Bridge |
160:5571c4ff569f | 58 | #ifdef __cplusplus |
Anna Bridge |
160:5571c4ff569f | 59 | } |
Anna Bridge |
160:5571c4ff569f | 60 | #endif |
Anna Bridge |
160:5571c4ff569f | 61 | |
Anna Bridge |
160:5571c4ff569f | 62 | #endif /* __TIMING_STATE_H */ |