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.

Revision:
171:3a7713b1edbc
Parent:
167:84c0a372a020
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TARGET_TB_SENSE_12/TOOLCHAIN_ARM_STD/pti.h	Thu Nov 08 11:45:42 2018 +0000
@@ -0,0 +1,91 @@
+/***************************************************************************//**
+ * @file pti.h
+ * @brief This header file contains information for working with the packet
+ * trace APIs.
+ * @copyright Copyright 2015 Silicon Laboratories, Inc. www.silabs.com
+ ******************************************************************************/
+
+#ifndef __RADIO_PTI_H
+#define __RADIO_PTI_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdint.h>
+
+#include "em_gpio.h"
+
+#include "rail_chip_specific.h"
+
+// Once this is a RAIL API this code can be removed as rail-types.h does this
+#ifndef RAIL_ENUM
+#ifdef DOXYGEN_SHOULD_SKIP_THIS
+/// The RAIL library does not use actual enums because the ARM EABI leaves their
+/// size ambiguous. This ambiguity causes problems if the application is built
+/// with different flags than the library. To work around this we use uint8_t
+/// typedefs in compiled code for all enums. For documentation purposes this is
+/// converted to an actual enum since it's much easier to read in Doxygen.
+#define RAIL_ENUM(name) enum name
+#else
+/// Define used for the actual RAIL library which sets each enum to a uint8_t
+/// typedef and creates a named enum structure for the enumeration values.
+#define RAIL_ENUM(name) typedef uint8_t name; enum name##_enum
+// For debugging use the following define to turn this back into a proper enum
+// #define RAIL_ENUM(name) typedef enum name##_enum name; enum name##_enum
+#endif
+#endif
+
+/***************************************************************************//**
+ * @addtogroup Chip_Specific
+ * @{
+ ******************************************************************************/
+
+/***************************************************************************//**
+ * @addtogroup EFR32xG1x_PTI
+ * @{
+ * @brief EFR32 Packet Trace Interface (PTI) setup and configuration
+ ******************************************************************************/
+
+/*************************  FUNCTION PROTOTYPES   *****************************/
+
+/**
+ * Initialize the PTI interface
+ *
+ * @param ptiInit The structure that defines what pins and modes to use for
+ * packet trace.
+ *
+ * This API will initialize the packet trace interface. It allows you to
+ * configure what mode and pins to use for packet trace output. You must call
+ * this API either before RAIL initialization or before an explicit call to
+ * \ref PTI_Enable() to properly initialize PTI.
+ */
+RAIL_Status_t PTI_Config(const RAIL_PtiConfig_t *config);
+
+/**
+ * Enable or disable the PTI interface
+ *
+ * This API will turn on or off the packet trace interface (PTI). By default
+ * this is turned on already during init time. Note that you must call \ref
+ * RADIO_PTI_Init() with a valid initialization structure before calling this
+ * API or PTI will not actually turn on.
+ */
+RAIL_Status_t PTI_Enable(bool enable);
+
+/**
+ * Get the current state of the PTI
+ *
+ * This function will return a pointer to a copy of the PTI state. If you
+ * actually want to change the settings, the referenced structure must be
+ * updated and then passed back to \ref RADIO_PTI_Config
+ */
+RAIL_Status_t PTI_GetConfig(RAIL_PtiConfig_t *ptiConfig);
+
+/** @} (end addtogroup EFR32xG1x_PTI) */
+/** @} (end addtogroup Chip_Specific) */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif //__RADIO_PTI_H