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.

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?

UserRevisionLine numberNew 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 */