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_ARM_STD/pti.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/pti.h@167:84c0a372a020
mbed library. Release version 164
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Anna Bridge |
142:4eea097334d6 | 1 | /***************************************************************************//** |
Anna Bridge |
142:4eea097334d6 | 2 | * @file pti.h |
Anna Bridge |
142:4eea097334d6 | 3 | * @brief This header file contains information for working with the packet |
Anna Bridge |
142:4eea097334d6 | 4 | * trace APIs. |
AnnaBridge | 167:84c0a372a020 | 5 | * @copyright Copyright 2015 Silicon Laboratories, Inc. www.silabs.com |
Anna Bridge |
142:4eea097334d6 | 6 | ******************************************************************************/ |
Anna Bridge |
142:4eea097334d6 | 7 | |
Anna Bridge |
142:4eea097334d6 | 8 | #ifndef __RADIO_PTI_H |
Anna Bridge |
142:4eea097334d6 | 9 | #define __RADIO_PTI_H |
Anna Bridge |
142:4eea097334d6 | 10 | |
Anna Bridge |
142:4eea097334d6 | 11 | #ifdef __cplusplus |
Anna Bridge |
142:4eea097334d6 | 12 | extern "C" { |
Anna Bridge |
142:4eea097334d6 | 13 | #endif |
Anna Bridge |
142:4eea097334d6 | 14 | |
Anna Bridge |
142:4eea097334d6 | 15 | #include <stdint.h> |
Anna Bridge |
160:5571c4ff569f | 16 | |
Anna Bridge |
142:4eea097334d6 | 17 | #include "em_gpio.h" |
Anna Bridge |
142:4eea097334d6 | 18 | |
Anna Bridge |
160:5571c4ff569f | 19 | #include "rail_chip_specific.h" |
Anna Bridge |
142:4eea097334d6 | 20 | |
Anna Bridge |
160:5571c4ff569f | 21 | // Once this is a RAIL API this code can be removed as rail-types.h does this |
Anna Bridge |
160:5571c4ff569f | 22 | #ifndef RAIL_ENUM |
Anna Bridge |
160:5571c4ff569f | 23 | #ifdef DOXYGEN_SHOULD_SKIP_THIS |
Anna Bridge |
160:5571c4ff569f | 24 | /// The RAIL library does not use actual enums because the ARM EABI leaves their |
Anna Bridge |
160:5571c4ff569f | 25 | /// size ambiguous. This ambiguity causes problems if the application is built |
Anna Bridge |
160:5571c4ff569f | 26 | /// with different flags than the library. To work around this we use uint8_t |
Anna Bridge |
160:5571c4ff569f | 27 | /// typedefs in compiled code for all enums. For documentation purposes this is |
Anna Bridge |
160:5571c4ff569f | 28 | /// converted to an actual enum since it's much easier to read in Doxygen. |
Anna Bridge |
160:5571c4ff569f | 29 | #define RAIL_ENUM(name) enum name |
Anna Bridge |
160:5571c4ff569f | 30 | #else |
Anna Bridge |
160:5571c4ff569f | 31 | /// Define used for the actual RAIL library which sets each enum to a uint8_t |
Anna Bridge |
160:5571c4ff569f | 32 | /// typedef and creates a named enum structure for the enumeration values. |
Anna Bridge |
160:5571c4ff569f | 33 | #define RAIL_ENUM(name) typedef uint8_t name; enum name##_enum |
Anna Bridge |
160:5571c4ff569f | 34 | // For debugging use the following define to turn this back into a proper enum |
Anna Bridge |
160:5571c4ff569f | 35 | // #define RAIL_ENUM(name) typedef enum name##_enum name; enum name##_enum |
Anna Bridge |
160:5571c4ff569f | 36 | #endif |
Anna Bridge |
160:5571c4ff569f | 37 | #endif |
Anna Bridge |
142:4eea097334d6 | 38 | |
Anna Bridge |
160:5571c4ff569f | 39 | /***************************************************************************//** |
Anna Bridge |
160:5571c4ff569f | 40 | * @addtogroup Chip_Specific |
Anna Bridge |
160:5571c4ff569f | 41 | * @{ |
Anna Bridge |
160:5571c4ff569f | 42 | ******************************************************************************/ |
Anna Bridge |
142:4eea097334d6 | 43 | |
Anna Bridge |
160:5571c4ff569f | 44 | /***************************************************************************//** |
Anna Bridge |
160:5571c4ff569f | 45 | * @addtogroup EFR32xG1x_PTI |
Anna Bridge |
160:5571c4ff569f | 46 | * @{ |
Anna Bridge |
160:5571c4ff569f | 47 | * @brief EFR32 Packet Trace Interface (PTI) setup and configuration |
Anna Bridge |
160:5571c4ff569f | 48 | ******************************************************************************/ |
Anna Bridge |
142:4eea097334d6 | 49 | |
Anna Bridge |
142:4eea097334d6 | 50 | /************************* FUNCTION PROTOTYPES *****************************/ |
Anna Bridge |
160:5571c4ff569f | 51 | |
Anna Bridge |
160:5571c4ff569f | 52 | /** |
Anna Bridge |
160:5571c4ff569f | 53 | * Initialize the PTI interface |
Anna Bridge |
160:5571c4ff569f | 54 | * |
Anna Bridge |
160:5571c4ff569f | 55 | * @param ptiInit The structure that defines what pins and modes to use for |
Anna Bridge |
160:5571c4ff569f | 56 | * packet trace. |
Anna Bridge |
160:5571c4ff569f | 57 | * |
Anna Bridge |
160:5571c4ff569f | 58 | * This API will initialize the packet trace interface. It allows you to |
Anna Bridge |
160:5571c4ff569f | 59 | * configure what mode and pins to use for packet trace output. You must call |
Anna Bridge |
160:5571c4ff569f | 60 | * this API either before RAIL initialization or before an explicit call to |
Anna Bridge |
160:5571c4ff569f | 61 | * \ref PTI_Enable() to properly initialize PTI. |
Anna Bridge |
160:5571c4ff569f | 62 | */ |
Anna Bridge |
160:5571c4ff569f | 63 | RAIL_Status_t PTI_Config(const RAIL_PtiConfig_t *config); |
Anna Bridge |
160:5571c4ff569f | 64 | |
Anna Bridge |
160:5571c4ff569f | 65 | /** |
Anna Bridge |
160:5571c4ff569f | 66 | * Enable or disable the PTI interface |
Anna Bridge |
160:5571c4ff569f | 67 | * |
Anna Bridge |
160:5571c4ff569f | 68 | * This API will turn on or off the packet trace interface (PTI). By default |
Anna Bridge |
160:5571c4ff569f | 69 | * this is turned on already during init time. Note that you must call \ref |
Anna Bridge |
160:5571c4ff569f | 70 | * RADIO_PTI_Init() with a valid initialization structure before calling this |
Anna Bridge |
160:5571c4ff569f | 71 | * API or PTI will not actually turn on. |
Anna Bridge |
160:5571c4ff569f | 72 | */ |
Anna Bridge |
160:5571c4ff569f | 73 | RAIL_Status_t PTI_Enable(bool enable); |
Anna Bridge |
160:5571c4ff569f | 74 | |
Anna Bridge |
160:5571c4ff569f | 75 | /** |
Anna Bridge |
160:5571c4ff569f | 76 | * Get the current state of the PTI |
Anna Bridge |
160:5571c4ff569f | 77 | * |
Anna Bridge |
160:5571c4ff569f | 78 | * This function will return a pointer to a copy of the PTI state. If you |
Anna Bridge |
160:5571c4ff569f | 79 | * actually want to change the settings, the referenced structure must be |
Anna Bridge |
160:5571c4ff569f | 80 | * updated and then passed back to \ref RADIO_PTI_Config |
Anna Bridge |
160:5571c4ff569f | 81 | */ |
Anna Bridge |
160:5571c4ff569f | 82 | RAIL_Status_t PTI_GetConfig(RAIL_PtiConfig_t *ptiConfig); |
Anna Bridge |
160:5571c4ff569f | 83 | |
Anna Bridge |
160:5571c4ff569f | 84 | /** @} (end addtogroup EFR32xG1x_PTI) */ |
Anna Bridge |
160:5571c4ff569f | 85 | /** @} (end addtogroup Chip_Specific) */ |
Anna Bridge |
142:4eea097334d6 | 86 | |
Anna Bridge |
142:4eea097334d6 | 87 | #ifdef __cplusplus |
Anna Bridge |
142:4eea097334d6 | 88 | } |
Anna Bridge |
142:4eea097334d6 | 89 | #endif |
Anna Bridge |
142:4eea097334d6 | 90 | |
Anna Bridge |
142:4eea097334d6 | 91 | #endif //__RADIO_PTI_H |