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/pti.h@167:84c0a372a020
mbed library. Release version 164

Who changed what in which revision?

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