Prototype RF driver for STM Sub-1 GHz RF expansion board based on the SPSGRF-868 module for STM32 Nucleo.

Prototype RF Driver for STM Sub-1 GHz RF Expansion Boards based on the SPSGRF-868 and SPSGRF-915 Modules for STM32 Nucleo

Currently supported boards:

Note, in order to use expansion board X-NUCLEO-IDS01A4 in mbed you need to perform the following HW modifications on the board:

  • Unmount resistor R4
  • Mount resistor R7

Furthermore, on some Nucleo development boards (e.g. the NUCLEO_F429ZI), in order to be able to use Ethernet together with these Sub-1 GHz RF expansion boards, you need to compile this driver with macro SPIRIT1_SPI_MOSI=PB_5 defined, while the development board typically requires some HW modification as e.g. described here!

This driver can be used together with the 6LoWPAN stack (a.k.a. Nanostack).

Committer:
Wolfgang Betz
Date:
Tue Nov 22 11:40:10 2016 +0100
Revision:
34:edda6a7238ec
Child:
67:93bec0baf1de
Perform re-naming

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Wolfgang Betz 34:edda6a7238ec 1 /**
Wolfgang Betz 34:edda6a7238ec 2 ******************************************************************************
Wolfgang Betz 34:edda6a7238ec 3 * @file radio_gpio.h
Wolfgang Betz 34:edda6a7238ec 4 * @author System Lab - NOIDA
Wolfgang Betz 34:edda6a7238ec 5 * @version V1.0.0
Wolfgang Betz 34:edda6a7238ec 6 * @date 15-May-2014
Wolfgang Betz 34:edda6a7238ec 7 * @brief This file contains all the functions prototypes for the gpio
Wolfgang Betz 34:edda6a7238ec 8 ******************************************************************************
Wolfgang Betz 34:edda6a7238ec 9 * @attention
Wolfgang Betz 34:edda6a7238ec 10 *
Wolfgang Betz 34:edda6a7238ec 11 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
Wolfgang Betz 34:edda6a7238ec 12 *
Wolfgang Betz 34:edda6a7238ec 13 * Redistribution and use in source and binary forms, with or without modification,
Wolfgang Betz 34:edda6a7238ec 14 * are permitted provided that the following conditions are met:
Wolfgang Betz 34:edda6a7238ec 15 * 1. Redistributions of source code must retain the above copyright notice,
Wolfgang Betz 34:edda6a7238ec 16 * this list of conditions and the following disclaimer.
Wolfgang Betz 34:edda6a7238ec 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
Wolfgang Betz 34:edda6a7238ec 18 * this list of conditions and the following disclaimer in the documentation
Wolfgang Betz 34:edda6a7238ec 19 * and/or other materials provided with the distribution.
Wolfgang Betz 34:edda6a7238ec 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
Wolfgang Betz 34:edda6a7238ec 21 * may be used to endorse or promote products derived from this software
Wolfgang Betz 34:edda6a7238ec 22 * without specific prior written permission.
Wolfgang Betz 34:edda6a7238ec 23 *
Wolfgang Betz 34:edda6a7238ec 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
Wolfgang Betz 34:edda6a7238ec 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Wolfgang Betz 34:edda6a7238ec 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Wolfgang Betz 34:edda6a7238ec 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
Wolfgang Betz 34:edda6a7238ec 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Wolfgang Betz 34:edda6a7238ec 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
Wolfgang Betz 34:edda6a7238ec 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
Wolfgang Betz 34:edda6a7238ec 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
Wolfgang Betz 34:edda6a7238ec 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Wolfgang Betz 34:edda6a7238ec 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Wolfgang Betz 34:edda6a7238ec 34 *
Wolfgang Betz 34:edda6a7238ec 35 ******************************************************************************
Wolfgang Betz 34:edda6a7238ec 36 */
Wolfgang Betz 34:edda6a7238ec 37 /* Exported types ------------------------------------------------------------*/
Wolfgang Betz 34:edda6a7238ec 38 /* Exported constants --------------------------------------------------------*/
Wolfgang Betz 34:edda6a7238ec 39 /* Exported macro ------------------------------------------------------------*/
Wolfgang Betz 34:edda6a7238ec 40 /* Exported Variables ------------------------------------------------------------*/
Wolfgang Betz 34:edda6a7238ec 41 /* Exported functions ------------------------------------------------------- */
Wolfgang Betz 34:edda6a7238ec 42
Wolfgang Betz 34:edda6a7238ec 43 /* Define to prevent recursive inclusion -------------------------------------*/
Wolfgang Betz 34:edda6a7238ec 44 #ifndef __RADIO_GPIO_H
Wolfgang Betz 34:edda6a7238ec 45 #define __RADIO_GPIO_H
Wolfgang Betz 34:edda6a7238ec 46 #ifdef __cplusplus
Wolfgang Betz 34:edda6a7238ec 47 extern "C" {
Wolfgang Betz 34:edda6a7238ec 48 #endif
Wolfgang Betz 34:edda6a7238ec 49
Wolfgang Betz 34:edda6a7238ec 50 /* Includes ------------------------------------------------------------------*/
Wolfgang Betz 34:edda6a7238ec 51 #ifdef USE_STM32L1XX_NUCLEO
Wolfgang Betz 34:edda6a7238ec 52 #include "stm32l1xx_hal.h"
Wolfgang Betz 34:edda6a7238ec 53 #endif
Wolfgang Betz 34:edda6a7238ec 54
Wolfgang Betz 34:edda6a7238ec 55 #ifdef USE_STM32F4XX_NUCLEO
Wolfgang Betz 34:edda6a7238ec 56 #include "stm32f4xx_hal.h"
Wolfgang Betz 34:edda6a7238ec 57 #endif
Wolfgang Betz 34:edda6a7238ec 58 #include "SPIRIT_Types.h"
Wolfgang Betz 34:edda6a7238ec 59
Wolfgang Betz 34:edda6a7238ec 60 /**
Wolfgang Betz 34:edda6a7238ec 61 * @addtogroup BSP
Wolfgang Betz 34:edda6a7238ec 62 * @{
Wolfgang Betz 34:edda6a7238ec 63 */
Wolfgang Betz 34:edda6a7238ec 64
Wolfgang Betz 34:edda6a7238ec 65
Wolfgang Betz 34:edda6a7238ec 66 /* Exported types ------------------------------------------------------------*/
Wolfgang Betz 34:edda6a7238ec 67 /* MCU GPIO pin working mode for GPIO */
Wolfgang Betz 34:edda6a7238ec 68 typedef enum
Wolfgang Betz 34:edda6a7238ec 69 {
Wolfgang Betz 34:edda6a7238ec 70 RADIO_MODE_GPIO_IN = 0x00, /*!< Work as GPIO input */
Wolfgang Betz 34:edda6a7238ec 71 RADIO_MODE_EXTI_IN, /*!< Work as EXTI */
Wolfgang Betz 34:edda6a7238ec 72 RADIO_MODE_GPIO_OUT, /*!< Work as GPIO output */
Wolfgang Betz 34:edda6a7238ec 73 }RadioGpioMode;
Wolfgang Betz 34:edda6a7238ec 74
Wolfgang Betz 34:edda6a7238ec 75 /* MCU GPIO pin enumeration for GPIO */
Wolfgang Betz 34:edda6a7238ec 76 typedef enum
Wolfgang Betz 34:edda6a7238ec 77 {
Wolfgang Betz 34:edda6a7238ec 78 RADIO_GPIO_0 = 0x00, /*!< GPIO_0 selected */
Wolfgang Betz 34:edda6a7238ec 79 RADIO_GPIO_1 = 0x01, /*!< GPIO_1 selected */
Wolfgang Betz 34:edda6a7238ec 80 RADIO_GPIO_2 = 0x02, /*!< GPIO_2 selected */
Wolfgang Betz 34:edda6a7238ec 81 RADIO_GPIO_3 = 0x03, /*!< GPIO_3 selected */
Wolfgang Betz 34:edda6a7238ec 82 RADIO_GPIO_SDN = 0x04, /*!< GPIO_SDN selected */
Wolfgang Betz 34:edda6a7238ec 83 }
Wolfgang Betz 34:edda6a7238ec 84 RadioGpioPin;
Wolfgang Betz 34:edda6a7238ec 85
Wolfgang Betz 34:edda6a7238ec 86
Wolfgang Betz 34:edda6a7238ec 87 /* Exported constants --------------------------------------------------------*/
Wolfgang Betz 34:edda6a7238ec 88
Wolfgang Betz 34:edda6a7238ec 89
Wolfgang Betz 34:edda6a7238ec 90 /* Exported macro ------------------------------------------------------------*/
Wolfgang Betz 34:edda6a7238ec 91 /* MCU GPIO pin working mode for GPIO */
Wolfgang Betz 34:edda6a7238ec 92 #define IS_RADIO_GPIO_MODE(MODE) (((MODE) == RADIO_MODE_GPIO_IN) || \
Wolfgang Betz 34:edda6a7238ec 93 ((MODE) == RADIO_MODE_EXTI_IN) || \
Wolfgang Betz 34:edda6a7238ec 94 ((MODE) == RADIO_MODE_GPIO_OUT))
Wolfgang Betz 34:edda6a7238ec 95
Wolfgang Betz 34:edda6a7238ec 96 /* Number of Arduino pins used for RADIO GPIO interface */
Wolfgang Betz 34:edda6a7238ec 97 #define RADIO_GPIO_NUMBER ((uint8_t)5)
Wolfgang Betz 34:edda6a7238ec 98
Wolfgang Betz 34:edda6a7238ec 99 /* MCU GPIO pin enumeration for GPIO */
Wolfgang Betz 34:edda6a7238ec 100 #define IS_RADIO_GPIO_PIN(PIN) (((PIN) == RADIO_GPIO_0) || \
Wolfgang Betz 34:edda6a7238ec 101 ((PIN) == RADIO_GPIO_1) || \
Wolfgang Betz 34:edda6a7238ec 102 ((PIN) == RADIO_GPIO_2) || \
Wolfgang Betz 34:edda6a7238ec 103 ((PIN) == RADIO_GPIO_3) || \
Wolfgang Betz 34:edda6a7238ec 104 ((PIN) == RADIO_GPIO_SDN))
Wolfgang Betz 34:edda6a7238ec 105
Wolfgang Betz 34:edda6a7238ec 106 /* Define for RADIO board */
Wolfgang Betz 34:edda6a7238ec 107 #if !defined (USE_SPIRIT1_DEFAULT)
Wolfgang Betz 34:edda6a7238ec 108 #define USE_SPIRIT1_DEFAULT
Wolfgang Betz 34:edda6a7238ec 109 #endif
Wolfgang Betz 34:edda6a7238ec 110
Wolfgang Betz 34:edda6a7238ec 111 /* @defgroup Radio_Gpio_config_Define */
Wolfgang Betz 34:edda6a7238ec 112 /*NOTE: GPIO0, GPIO1, GPIO2 of SPIRIT1 is not used in the shield*/
Wolfgang Betz 34:edda6a7238ec 113
Wolfgang Betz 34:edda6a7238ec 114 #define RADIO_GPIO_0_PORT GPIOC
Wolfgang Betz 34:edda6a7238ec 115 #define RADIO_GPIO_0_PIN GPIO_PIN_1
Wolfgang Betz 34:edda6a7238ec 116 #define RADIO_GPIO_0_CLOCK_ENABLE() __GPIOC_CLK_ENABLE()
Wolfgang Betz 34:edda6a7238ec 117 #define RADIO_GPIO_0_CLOCK_DISABLE() __GPIOC_CLK_ENABLE()
Wolfgang Betz 34:edda6a7238ec 118 #define RADIO_GPIO_0_SPEED GPIO_SPEED_HIGH
Wolfgang Betz 34:edda6a7238ec 119 #define RADIO_GPIO_0_PUPD GPIO_NOPULL
Wolfgang Betz 34:edda6a7238ec 120 #define RADIO_GPIO_0_EXTI_LINE GPIO_PIN_1
Wolfgang Betz 34:edda6a7238ec 121 #define RADIO_GPIO_0_EXTI_MODE GPIO_MODE_IT_FALLING
Wolfgang Betz 34:edda6a7238ec 122 #define RADIO_GPIO_0_EXTI_IRQN EXTI1_IRQn
Wolfgang Betz 34:edda6a7238ec 123 #define RADIO_GPIO_0_EXTI_PREEMPTION_PRIORITY 2
Wolfgang Betz 34:edda6a7238ec 124 #define RADIO_GPIO_0_EXTI_SUB_PRIORITY 2
Wolfgang Betz 34:edda6a7238ec 125 #define RADIO_GPIO_0_EXTI_IRQ_HANDLER EXTI1_IRQHandler
Wolfgang Betz 34:edda6a7238ec 126
Wolfgang Betz 34:edda6a7238ec 127 #define RADIO_GPIO_1_PORT GPIOB
Wolfgang Betz 34:edda6a7238ec 128 #define RADIO_GPIO_1_PIN GPIO_PIN_0
Wolfgang Betz 34:edda6a7238ec 129 #define RADIO_GPIO_1_CLOCK_ENABLE() __GPIOB_CLK_ENABLE()
Wolfgang Betz 34:edda6a7238ec 130 #define RADIO_GPIO_1_CLOCK_DISABLE() __GPIOB_CLK_ENABLE()
Wolfgang Betz 34:edda6a7238ec 131 #define RADIO_GPIO_1_SPEED GPIO_SPEED_HIGH
Wolfgang Betz 34:edda6a7238ec 132 #define RADIO_GPIO_1_PUPD GPIO_NOPULL
Wolfgang Betz 34:edda6a7238ec 133 #define RADIO_GPIO_1_EXTI_LINE GPIO_PIN_0
Wolfgang Betz 34:edda6a7238ec 134 #define RADIO_GPIO_1_EXTI_MODE GPIO_MODE_IT_FALLING
Wolfgang Betz 34:edda6a7238ec 135 #define RADIO_GPIO_1_EXTI_IRQN EXTI0_IRQn
Wolfgang Betz 34:edda6a7238ec 136 #define RADIO_GPIO_1_EXTI_PREEMPTION_PRIORITY 2
Wolfgang Betz 34:edda6a7238ec 137 #define RADIO_GPIO_1_EXTI_SUB_PRIORITY 2
Wolfgang Betz 34:edda6a7238ec 138 #define RADIO_GPIO_1_EXTI_IRQ_HANDLER EXTI0_IRQHandler
Wolfgang Betz 34:edda6a7238ec 139
Wolfgang Betz 34:edda6a7238ec 140 #define RADIO_GPIO_2_PORT GPIOA
Wolfgang Betz 34:edda6a7238ec 141 #define RADIO_GPIO_2_PIN GPIO_PIN_4
Wolfgang Betz 34:edda6a7238ec 142 #define RADIO_GPIO_2_CLOCK_ENABLE() __GPIOA_CLK_ENABLE()
Wolfgang Betz 34:edda6a7238ec 143 #define RADIO_GPIO_2_CLOCK_DISABLE() __GPIOA_CLK_ENABLE()
Wolfgang Betz 34:edda6a7238ec 144 #define RADIO_GPIO_2_SPEED GPIO_SPEED_HIGH
Wolfgang Betz 34:edda6a7238ec 145 #define RADIO_GPIO_2_PUPD GPIO_NOPULL
Wolfgang Betz 34:edda6a7238ec 146 #define RADIO_GPIO_2_EXTI_LINE GPIO_PIN_4
Wolfgang Betz 34:edda6a7238ec 147 #define RADIO_GPIO_2_EXTI_MODE GPIO_MODE_IT_FALLING
Wolfgang Betz 34:edda6a7238ec 148 #define RADIO_GPIO_2_EXTI_IRQN EXTI4_IRQn
Wolfgang Betz 34:edda6a7238ec 149 #define RADIO_GPIO_2_EXTI_PREEMPTION_PRIORITY 2
Wolfgang Betz 34:edda6a7238ec 150 #define RADIO_GPIO_2_EXTI_SUB_PRIORITY 2
Wolfgang Betz 34:edda6a7238ec 151 #define RADIO_GPIO_2_EXTI_IRQ_HANDLER EXTI4_IRQHandler
Wolfgang Betz 34:edda6a7238ec 152
Wolfgang Betz 34:edda6a7238ec 153
Wolfgang Betz 34:edda6a7238ec 154 #if defined (USE_SPIRIT1_DEFAULT)
Wolfgang Betz 34:edda6a7238ec 155
Wolfgang Betz 34:edda6a7238ec 156
Wolfgang Betz 34:edda6a7238ec 157 #define RADIO_GPIO_3_PORT GPIOC
Wolfgang Betz 34:edda6a7238ec 158 #define RADIO_GPIO_3_PIN GPIO_PIN_7
Wolfgang Betz 34:edda6a7238ec 159 #define RADIO_GPIO_3_CLOCK_ENABLE() __GPIOC_CLK_ENABLE()
Wolfgang Betz 34:edda6a7238ec 160 #define RADIO_GPIO_3_CLOCK_DISABLE() __GPIOC_CLK_DISABLE()
Wolfgang Betz 34:edda6a7238ec 161 #define RADIO_GPIO_3_SPEED GPIO_SPEED_HIGH
Wolfgang Betz 34:edda6a7238ec 162 #define RADIO_GPIO_3_PUPD GPIO_NOPULL
Wolfgang Betz 34:edda6a7238ec 163 #define RADIO_GPIO_3_EXTI_LINE GPIO_PIN_7
Wolfgang Betz 34:edda6a7238ec 164 #define RADIO_GPIO_3_EXTI_MODE GPIO_MODE_IT_FALLING
Wolfgang Betz 34:edda6a7238ec 165 #define RADIO_GPIO_3_EXTI_IRQN EXTI9_5_IRQn
Wolfgang Betz 34:edda6a7238ec 166 #define RADIO_GPIO_3_EXTI_PREEMPTION_PRIORITY 2
Wolfgang Betz 34:edda6a7238ec 167 #define RADIO_GPIO_3_EXTI_SUB_PRIORITY 2
Wolfgang Betz 34:edda6a7238ec 168 #define RADIO_GPIO_3_EXTI_IRQ_HANDLER EXTI9_5_IRQHandler
Wolfgang Betz 34:edda6a7238ec 169
Wolfgang Betz 34:edda6a7238ec 170 #else
Wolfgang Betz 34:edda6a7238ec 171
Wolfgang Betz 34:edda6a7238ec 172 #define RADIO_GPIO_3_PORT GPIOA
Wolfgang Betz 34:edda6a7238ec 173 #define RADIO_GPIO_3_PIN GPIO_PIN_0
Wolfgang Betz 34:edda6a7238ec 174 #define RADIO_GPIO_3_CLOCK_ENABLE() __GPIOA_CLK_ENABLE()
Wolfgang Betz 34:edda6a7238ec 175 #define RADIO_GPIO_3_CLOCK_DISABLE() __GPIOA_CLK_DISABLE()
Wolfgang Betz 34:edda6a7238ec 176 #define RADIO_GPIO_3_SPEED GPIO_SPEED_HIGH
Wolfgang Betz 34:edda6a7238ec 177 #define RADIO_GPIO_3_PUPD GPIO_NOPULL
Wolfgang Betz 34:edda6a7238ec 178 #define RADIO_GPIO_3_EXTI_LINE GPIO_PIN_0
Wolfgang Betz 34:edda6a7238ec 179 #define RADIO_GPIO_3_EXTI_MODE GPIO_MODE_IT_FALLING
Wolfgang Betz 34:edda6a7238ec 180 #define RADIO_GPIO_3_EXTI_IRQN EXTI0_IRQn
Wolfgang Betz 34:edda6a7238ec 181 #define RADIO_GPIO_3_EXTI_PREEMPTION_PRIORITY 2
Wolfgang Betz 34:edda6a7238ec 182 #define RADIO_GPIO_3_EXTI_SUB_PRIORITY 2
Wolfgang Betz 34:edda6a7238ec 183 #define RADIO_GPIO_3_EXTI_IRQ_HANDLER EXTI0_IRQHandler
Wolfgang Betz 34:edda6a7238ec 184
Wolfgang Betz 34:edda6a7238ec 185 #endif
Wolfgang Betz 34:edda6a7238ec 186
Wolfgang Betz 34:edda6a7238ec 187 #define RADIO_GPIO_SDN_PORT GPIOA
Wolfgang Betz 34:edda6a7238ec 188 #define RADIO_GPIO_SDN_PIN GPIO_PIN_10
Wolfgang Betz 34:edda6a7238ec 189 #define RADIO_GPIO_SDN_CLOCK_ENABLE() __GPIOA_CLK_ENABLE()
Wolfgang Betz 34:edda6a7238ec 190 #define RADIO_GPIO_SDN_CLOCK_DISABLE() __GPIOA_CLK_DISABLE()
Wolfgang Betz 34:edda6a7238ec 191 #define RADIO_GPIO_SDN_SPEED GPIO_SPEED_HIGH
Wolfgang Betz 34:edda6a7238ec 192 #define RADIO_GPIO_SDN_PUPD GPIO_PULLUP
Wolfgang Betz 34:edda6a7238ec 193
Wolfgang Betz 34:edda6a7238ec 194
Wolfgang Betz 34:edda6a7238ec 195 #define RADIO_GPIO_IRQ RADIO_GPIO_3
Wolfgang Betz 34:edda6a7238ec 196 #define SPIRIT_GPIO_IRQ SPIRIT_GPIO_3
Wolfgang Betz 34:edda6a7238ec 197
Wolfgang Betz 34:edda6a7238ec 198 /* Exported Variables ------------------------------------------------------------*/
Wolfgang Betz 34:edda6a7238ec 199
Wolfgang Betz 34:edda6a7238ec 200
Wolfgang Betz 34:edda6a7238ec 201 /* Exported functions ------------------------------------------------------- */
Wolfgang Betz 34:edda6a7238ec 202 FlagStatus RadioGpioGetLevel(RadioGpioPin xGpio);
Wolfgang Betz 34:edda6a7238ec 203 void RadioGpioSetLevel(RadioGpioPin xGpio, GPIO_PinState xState);
Wolfgang Betz 34:edda6a7238ec 204 void SdkEvalEnterShutdown(void);
Wolfgang Betz 34:edda6a7238ec 205 void SdkEvalExitShutdown(void);
Wolfgang Betz 34:edda6a7238ec 206 SpiritFlagStatus SdkEvalCheckShutdown(void);
Wolfgang Betz 34:edda6a7238ec 207 void RadioGpioInit(RadioGpioPin xGpio, RadioGpioMode xGpioMode);
Wolfgang Betz 34:edda6a7238ec 208 void RadioGpioInterruptCmd(RadioGpioPin xGpio, uint8_t nPreemption, uint8_t nSubpriority, FunctionalState xNewState);
Wolfgang Betz 34:edda6a7238ec 209
Wolfgang Betz 34:edda6a7238ec 210
Wolfgang Betz 34:edda6a7238ec 211 #ifdef __cplusplus
Wolfgang Betz 34:edda6a7238ec 212 }
Wolfgang Betz 34:edda6a7238ec 213 #endif
Wolfgang Betz 34:edda6a7238ec 214 #endif /*__RADIO_GPIO_H */
Wolfgang Betz 34:edda6a7238ec 215
Wolfgang Betz 34:edda6a7238ec 216 /**
Wolfgang Betz 34:edda6a7238ec 217 * @}
Wolfgang Betz 34:edda6a7238ec 218 */
Wolfgang Betz 34:edda6a7238ec 219
Wolfgang Betz 34:edda6a7238ec 220 /**
Wolfgang Betz 34:edda6a7238ec 221 * @}
Wolfgang Betz 34:edda6a7238ec 222 */
Wolfgang Betz 34:edda6a7238ec 223
Wolfgang Betz 34:edda6a7238ec 224 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/