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:
Thu Oct 13 15:41:39 2016 +0200
Revision:
0:4fb29d9ee571
First compiling version (without warnings)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Wolfgang Betz 0:4fb29d9ee571 1 /**
Wolfgang Betz 0:4fb29d9ee571 2 ******************************************************************************
Wolfgang Betz 0:4fb29d9ee571 3 * @file st-lib.h
Wolfgang Betz 0:4fb29d9ee571 4 * @author System LAB
Wolfgang Betz 0:4fb29d9ee571 5 * @version V1.0.0
Wolfgang Betz 0:4fb29d9ee571 6 * @date 30-July-2015
Wolfgang Betz 0:4fb29d9ee571 7 * @brief Contiki style wrapping library for STM32Cube HAL APIs
Wolfgang Betz 0:4fb29d9ee571 8 ******************************************************************************
Wolfgang Betz 0:4fb29d9ee571 9 * @attention
Wolfgang Betz 0:4fb29d9ee571 10 *
Wolfgang Betz 0:4fb29d9ee571 11 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
Wolfgang Betz 0:4fb29d9ee571 12 *
Wolfgang Betz 0:4fb29d9ee571 13 * Redistribution and use in source and binary forms, with or without modification,
Wolfgang Betz 0:4fb29d9ee571 14 * are permitted provided that the following conditions are met:
Wolfgang Betz 0:4fb29d9ee571 15 * 1. Redistributions of source code must retain the above copyright notice,
Wolfgang Betz 0:4fb29d9ee571 16 * this list of conditions and the following disclaimer.
Wolfgang Betz 0:4fb29d9ee571 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
Wolfgang Betz 0:4fb29d9ee571 18 * this list of conditions and the following disclaimer in the documentation
Wolfgang Betz 0:4fb29d9ee571 19 * and/or other materials provided with the distribution.
Wolfgang Betz 0:4fb29d9ee571 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
Wolfgang Betz 0:4fb29d9ee571 21 * may be used to endorse or promote products derived from this software
Wolfgang Betz 0:4fb29d9ee571 22 * without specific prior written permission.
Wolfgang Betz 0:4fb29d9ee571 23 *
Wolfgang Betz 0:4fb29d9ee571 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
Wolfgang Betz 0:4fb29d9ee571 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Wolfgang Betz 0:4fb29d9ee571 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Wolfgang Betz 0:4fb29d9ee571 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
Wolfgang Betz 0:4fb29d9ee571 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Wolfgang Betz 0:4fb29d9ee571 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
Wolfgang Betz 0:4fb29d9ee571 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
Wolfgang Betz 0:4fb29d9ee571 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
Wolfgang Betz 0:4fb29d9ee571 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Wolfgang Betz 0:4fb29d9ee571 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Wolfgang Betz 0:4fb29d9ee571 34 *
Wolfgang Betz 0:4fb29d9ee571 35 ******************************************************************************
Wolfgang Betz 0:4fb29d9ee571 36 */
Wolfgang Betz 0:4fb29d9ee571 37 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 38 /**
Wolfgang Betz 0:4fb29d9ee571 39 * \defgroup stm32nucleo-spirit1 STM32Cube HAL APIs
Wolfgang Betz 0:4fb29d9ee571 40 *
Wolfgang Betz 0:4fb29d9ee571 41 * Abstraction of STM32Cube HAL APIs as per Contiki coding rules
Wolfgang Betz 0:4fb29d9ee571 42 * @{
Wolfgang Betz 0:4fb29d9ee571 43 *
Wolfgang Betz 0:4fb29d9ee571 44 * \file
Wolfgang Betz 0:4fb29d9ee571 45 * Header file for the STM32Cube HAL APIs
Wolfgang Betz 0:4fb29d9ee571 46 */
Wolfgang Betz 0:4fb29d9ee571 47 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 48 #ifndef ST_LIB_H_
Wolfgang Betz 0:4fb29d9ee571 49 #define ST_LIB_H_
Wolfgang Betz 0:4fb29d9ee571 50
Wolfgang Betz 0:4fb29d9ee571 51 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 52 /* extern global varialbles */
Wolfgang Betz 0:4fb29d9ee571 53 #ifdef USE_X_CUBE_IDW01M1
Wolfgang Betz 0:4fb29d9ee571 54 #define st_lib_uart_handle UartMsgHandle
Wolfgang Betz 0:4fb29d9ee571 55 #else
Wolfgang Betz 0:4fb29d9ee571 56 #define st_lib_uart_handle UartHandle
Wolfgang Betz 0:4fb29d9ee571 57 #endif
Wolfgang Betz 0:4fb29d9ee571 58
Wolfgang Betz 0:4fb29d9ee571 59
Wolfgang Betz 0:4fb29d9ee571 60 #define st_lib_g_x_status g_xStatus
Wolfgang Betz 0:4fb29d9ee571 61
Wolfgang Betz 0:4fb29d9ee571 62 #define st_lib_p_spi_handle pSpiHandle
Wolfgang Betz 0:4fb29d9ee571 63 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 64
Wolfgang Betz 0:4fb29d9ee571 65 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 66 /* misc */
Wolfgang Betz 0:4fb29d9ee571 67 #define st_lib_tim2_irq_handler(...) TIM2_IRQHandler(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 68 #define st_lib_tim5_irq_handler(...) TIM5_IRQHandler(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 69 #define st_lib_spirit_management_set_frequency_base(...) SpiritManagementSetFrequencyBase(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 70 #define st_lib_sys_tick_handler(...) SysTick_Handler(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 71 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 72
Wolfgang Betz 0:4fb29d9ee571 73 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 74 /* MCU_Interface.h */
Wolfgang Betz 0:4fb29d9ee571 75 #include "MCU_Interface.h"
Wolfgang Betz 0:4fb29d9ee571 76
Wolfgang Betz 0:4fb29d9ee571 77 #define st_lib_spirit_spi_init(...) SpiritSpiInit(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 78 #define st_lib_spirit_spi_read_linear_fifo(...) SpiritSpiReadLinearFifo(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 79 #define st_lib_spirit_spi_write_linear_fifo(...) SpiritSpiWriteLinearFifo(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 80 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 81
Wolfgang Betz 0:4fb29d9ee571 82
Wolfgang Betz 0:4fb29d9ee571 83 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 84 /* radio_gpio.h */
Wolfgang Betz 0:4fb29d9ee571 85 #include "radio_gpio.h"
Wolfgang Betz 0:4fb29d9ee571 86
Wolfgang Betz 0:4fb29d9ee571 87 #define st_lib_radio_gpio_interrupt_cmd(...) RadioGpioInterruptCmd(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 88 #define st_lib_radio_gpio_init(...) RadioGpioInit(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 89 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 90
Wolfgang Betz 0:4fb29d9ee571 91 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 92 /* radio_shield_config.h */
Wolfgang Betz 0:4fb29d9ee571 93 #include "radio_shield_config.h"
Wolfgang Betz 0:4fb29d9ee571 94
Wolfgang Betz 0:4fb29d9ee571 95 #define st_lib_a_led_gpio_port aLED_GPIO_PORT
Wolfgang Betz 0:4fb29d9ee571 96 #define st_lib_a_led_gpio_pin aLED_GPIO_PIN
Wolfgang Betz 0:4fb29d9ee571 97
Wolfgang Betz 0:4fb29d9ee571 98 #define st_lib_radio_shield_led_init(...) RadioShieldLedInit(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 99 #define st_lib_radio_shield_led_off(...) RadioShieldLedOff(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 100 #define st_lib_radio_shield_led_on(...) RadioShieldLedOn(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 101 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 102
Wolfgang Betz 0:4fb29d9ee571 103 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 104 /* radio_spi.h */
Wolfgang Betz 0:4fb29d9ee571 105 #include "radio_spi.h"
Wolfgang Betz 0:4fb29d9ee571 106
Wolfgang Betz 0:4fb29d9ee571 107 #define st_lib_radio_spi_cs_high(...) RadioSpiCSHigh(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 108 #define st_lib_radio_spi_cs_low(...) RadioSpiCSLow(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 109 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 110
Wolfgang Betz 0:4fb29d9ee571 111 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 112 /* SPIRIT_Commands.h */
Wolfgang Betz 0:4fb29d9ee571 113 #include "SPIRIT_Commands.h"
Wolfgang Betz 0:4fb29d9ee571 114
Wolfgang Betz 0:4fb29d9ee571 115 #define st_lib_spirit_cmd_strobe_flush_rx_fifo(...) SpiritCmdStrobeFlushRxFifo(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 116 #define st_lib_spirit_cmd_strobe_command(...) SpiritCmdStrobeCommand(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 117 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 118
Wolfgang Betz 0:4fb29d9ee571 119 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 120 /* SPIRIT_Gpio.h */
Wolfgang Betz 0:4fb29d9ee571 121 #include "SPIRIT_Gpio.h"
Wolfgang Betz 0:4fb29d9ee571 122
Wolfgang Betz 0:4fb29d9ee571 123 #define st_lib_s_gpio_init SGpioInit
Wolfgang Betz 0:4fb29d9ee571 124
Wolfgang Betz 0:4fb29d9ee571 125 #define st_lib_spirit_gpio_init(...) SpiritGpioInit(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 126 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 127
Wolfgang Betz 0:4fb29d9ee571 128 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 129 /* SPIRIT_Irq.h */
Wolfgang Betz 0:4fb29d9ee571 130 #include "SPIRIT_Irq.h"
Wolfgang Betz 0:4fb29d9ee571 131
Wolfgang Betz 0:4fb29d9ee571 132 #define st_lib_spirit_irqs SpiritIrqs
Wolfgang Betz 0:4fb29d9ee571 133
Wolfgang Betz 0:4fb29d9ee571 134 #define st_lib_spirit_irq(...) SpiritIrq(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 135 #define st_lib_spirit_irq_de_init(...) SpiritIrqDeInit(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 136 #define st_lib_spirit_irq_init(...) SpiritIrqInit(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 137 #define st_lib_spirit_irq_get_mask(...) SpiritIrqGetMask(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 138 #define st_lib_spirit_irq_get_status(...) SpiritIrqGetStatus(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 139 #define st_lib_spirit_irq_clear_status(...) SpiritIrqClearStatus(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 140 #define st_lib_spirit_irq_chack_flag(...) SpiritIrqCheckFlag(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 141 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 142
Wolfgang Betz 0:4fb29d9ee571 143 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 144 /* SPIRIT_LinearFifo.h */
Wolfgang Betz 0:4fb29d9ee571 145 #include "SPIRIT_LinearFifo.h"
Wolfgang Betz 0:4fb29d9ee571 146
Wolfgang Betz 0:4fb29d9ee571 147 #define st_lib_spirit_linear_fifo_read_num_elements_rx_fifo(...) SpiritLinearFifoReadNumElementsRxFifo(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 148 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 149
Wolfgang Betz 0:4fb29d9ee571 150 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 151 /* SPIRIT_PktBasic.h */
Wolfgang Betz 0:4fb29d9ee571 152 #include "SPIRIT_PktBasic.h"
Wolfgang Betz 0:4fb29d9ee571 153
Wolfgang Betz 0:4fb29d9ee571 154 #define st_lib_pkt_basic_init PktBasicInit
Wolfgang Betz 0:4fb29d9ee571 155
Wolfgang Betz 0:4fb29d9ee571 156 #define st_lib_spirit_pkt_basic_init(...) SpiritPktBasicInit(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 157 #define st_lib_spirit_pkt_basic_get_received_pkt_length(...) SpiritPktBasicGetReceivedPktLength(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 158 #define st_lib_spirit_pkt_basic_set_payload_length(...) SpiritPktBasicSetPayloadLength(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 159 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 160
Wolfgang Betz 0:4fb29d9ee571 161 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 162 /* SPIRIT_Qi.h */
Wolfgang Betz 0:4fb29d9ee571 163 #include "SPIRIT_Qi.h"
Wolfgang Betz 0:4fb29d9ee571 164
Wolfgang Betz 0:4fb29d9ee571 165 #define st_lib_spirit_qi_get_rssi_dbm(...) SpiritQiGetRssidBm(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 166 #define st_lib_spirit_qi_pqi_check(...) SpiritQiPqiCheck(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 167 #define st_lib_spirit_qi_sqi_check(...) SpiritQiSqiCheck(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 168 #define st_lib_spirit_qi_set_pqi_threshold(...) SpiritQiSetPqiThreshold(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 169 #define st_lib_spirit_qi_get_pqi_threshold(...) SpiritQiGetPqiThreshold(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 170 #define st_lib_spirit_qi_set_sqi_threshold(...) SpiritQiSetSqiThreshold(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 171 #define st_lib_spirit_qi_get_sqi_threshold(...) SpiritQiGetSqiThreshold(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 172 #define st_lib_spirit_qi_set_rssi_threshold(...) SpiritQiSetRssiThreshold(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 173 #define st_lib_spirit_qi_get_rssi_threshold(...) SpiritQiGetRssiThreshold(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 174 #define st_lib_spirit_qi_compute_rssi_threshold(...) SpiritQiComputeRssiThreshold(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 175 #define st_lib_spirit_qi_set_rssi_threshold_dbm(...) SpiritQiSetRssiThresholddBm(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 176 #define st_lib_spirit_qi_get_pqi(...) SpiritQiGetPqi(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 177 #define st_lib_spirit_qi_get_sqi(...) SpiritQiGetSqi(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 178 #define st_lib_spirit_qi_get_lqi(...) SpiritQiGetLqi(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 179 #define st_lib_spirit_qi_get_cs(...) SpiritQiGetCs(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 180 #define st_lib_spirit_qi_get_rssi(...) SpiritQiGetRssi(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 181 #define st_lib_spirit_qi_set_rssi_filter_gain(...) SpiritQiSetRssiFilterGain(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 182 #define st_lib_spirit_qi_get_rssi_filter_gain(...) SpiritQiGetRssiFilterGain(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 183 #define st_lib_spirit_qi_set_cs_mode(...) SpiritQiSetCsMode(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 184 #define st_lib_spirit_qi_get_cs_mode(...) SpiritQiGetCsMode(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 185 #define st_lib_spirit_qi_cs_timeout_mask(...) SpiritQiCsTimeoutMask(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 186 #define st_lib_spirit_qi_pqi_timeout_mask(...) SpiritQiPqiTimeoutMask(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 187 #define st_lib_spirit_qi_sqi_timeout_mask(...) SpiritQiSqiTimeoutMask(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 188 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 189
Wolfgang Betz 0:4fb29d9ee571 190 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 191 /* SPIRIT_Radio.h */
Wolfgang Betz 0:4fb29d9ee571 192 #include "SPIRIT_Radio.h"
Wolfgang Betz 0:4fb29d9ee571 193
Wolfgang Betz 0:4fb29d9ee571 194 #define st_lib_s_radio_init SRadioInit
Wolfgang Betz 0:4fb29d9ee571 195
Wolfgang Betz 0:4fb29d9ee571 196 #define st_lib_spirit_radio_afc_freeze_on_sync(...) SpiritRadioAFCFreezeOnSync(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 197 #define st_lib_spirit_radio_init(...) SpiritRadioInit(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 198 #define st_lib_spirit_radio_persisten_rx(...) SpiritRadioPersistenRx(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 199 #define st_lib_spirit_radio_set_pa_level_dbm(...) SpiritRadioSetPALeveldBm(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 200 #define st_lib_spirit_radio_set_pa_level_max_index(...) SpiritRadioSetPALevelMaxIndex(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 201 #define st_lib_spirit_radio_set_xtal_frequency(...) SpiritRadioSetXtalFrequency(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 202 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 203
Wolfgang Betz 0:4fb29d9ee571 204 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 205 /* SPIRIT_Timer.h */
Wolfgang Betz 0:4fb29d9ee571 206 #include "SPIRIT_Timer.h"
Wolfgang Betz 0:4fb29d9ee571 207
Wolfgang Betz 0:4fb29d9ee571 208 #define st_lib_spirit_timer_set_rx_timeout_stop_condition(...) SpiritTimerSetRxTimeoutStopCondition(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 209 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 210
Wolfgang Betz 0:4fb29d9ee571 211 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 212 /* SPIRIT_Types.h */
Wolfgang Betz 0:4fb29d9ee571 213 #include "SPIRIT_Types.h"
Wolfgang Betz 0:4fb29d9ee571 214
Wolfgang Betz 0:4fb29d9ee571 215 #define st_lib_spirit_bool SpiritBool
Wolfgang Betz 0:4fb29d9ee571 216 #define st_lib_spirit_status SpiritStatus
Wolfgang Betz 0:4fb29d9ee571 217 #define st_lib_spirit_flag_status SpiritFlagStatus
Wolfgang Betz 0:4fb29d9ee571 218
Wolfgang Betz 0:4fb29d9ee571 219 #define st_lib_spirit_refresh_status(...) SpiritRefreshStatus(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 220 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 221
Wolfgang Betz 0:4fb29d9ee571 222 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 223 /* stm32l152xe.h */
Wolfgang Betz 0:4fb29d9ee571 224 #ifdef USE_STM32L1XX_NUCLEO
Wolfgang Betz 0:4fb29d9ee571 225 #include "stm32l152xe.h"
Wolfgang Betz 0:4fb29d9ee571 226 #endif
Wolfgang Betz 0:4fb29d9ee571 227
Wolfgang Betz 0:4fb29d9ee571 228 #ifdef USE_STM32F4XX_NUCLEO
Wolfgang Betz 0:4fb29d9ee571 229 #include "stm32f401xe.h"
Wolfgang Betz 0:4fb29d9ee571 230 #endif
Wolfgang Betz 0:4fb29d9ee571 231
Wolfgang Betz 0:4fb29d9ee571 232 #define st_lib_irq_n_type IRQn_Type
Wolfgang Betz 0:4fb29d9ee571 233 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 234
Wolfgang Betz 0:4fb29d9ee571 235 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 236 /* stm32l1xx.h */
Wolfgang Betz 0:4fb29d9ee571 237 #ifdef USE_STM32L1XX_NUCLEO
Wolfgang Betz 0:4fb29d9ee571 238 #include "stm32l1xx.h"
Wolfgang Betz 0:4fb29d9ee571 239 #endif
Wolfgang Betz 0:4fb29d9ee571 240
Wolfgang Betz 0:4fb29d9ee571 241 #ifdef USE_STM32F4XX_NUCLEO
Wolfgang Betz 0:4fb29d9ee571 242 #include "stm32f4xx.h"
Wolfgang Betz 0:4fb29d9ee571 243 #endif
Wolfgang Betz 0:4fb29d9ee571 244
Wolfgang Betz 0:4fb29d9ee571 245 #define st_lib_flag_status FlagStatus
Wolfgang Betz 0:4fb29d9ee571 246 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 247
Wolfgang Betz 0:4fb29d9ee571 248 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 249 /* stm32l1xx_hal_cortex.h */
Wolfgang Betz 0:4fb29d9ee571 250 #ifdef USE_STM32L1XX_NUCLEO
Wolfgang Betz 0:4fb29d9ee571 251 #include "stm32l1xx_hal_cortex.h"
Wolfgang Betz 0:4fb29d9ee571 252 #endif
Wolfgang Betz 0:4fb29d9ee571 253
Wolfgang Betz 0:4fb29d9ee571 254 #ifdef USE_STM32F4XX_NUCLEO
Wolfgang Betz 0:4fb29d9ee571 255 #include "stm32f4xx_hal_cortex.h"
Wolfgang Betz 0:4fb29d9ee571 256 #endif
Wolfgang Betz 0:4fb29d9ee571 257
Wolfgang Betz 0:4fb29d9ee571 258 #define st_lib_hal_nvic_enable_irq(...) HAL_NVIC_EnableIRQ(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 259 #define st_lib_hal_nvic_set_priority(...) HAL_NVIC_SetPriority(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 260 #define st_lib_hal_systick_clk_source_config(...) HAL_SYSTICK_CLKSourceConfig(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 261 #define st_lib_hal_systick_config(...) HAL_SYSTICK_Config(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 262
Wolfgang Betz 0:4fb29d9ee571 263 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 264
Wolfgang Betz 0:4fb29d9ee571 265 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 266 /* stm32l1xx_hal_rcc.h */
Wolfgang Betz 0:4fb29d9ee571 267 #ifdef USE_STM32L1XX_NUCLEO
Wolfgang Betz 0:4fb29d9ee571 268 #include "stm32l1xx_hal_rcc.h"
Wolfgang Betz 0:4fb29d9ee571 269 #endif
Wolfgang Betz 0:4fb29d9ee571 270
Wolfgang Betz 0:4fb29d9ee571 271 #ifdef USE_STM32F4XX_NUCLEO
Wolfgang Betz 0:4fb29d9ee571 272 #include "stm32f4xx_hal_rcc.h"
Wolfgang Betz 0:4fb29d9ee571 273 #endif
Wolfgang Betz 0:4fb29d9ee571 274
Wolfgang Betz 0:4fb29d9ee571 275
Wolfgang Betz 0:4fb29d9ee571 276 #define st_lib_tim2_clk_enable(...) __TIM2_CLK_ENABLE(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 277 #define st_lib_tim5_clk_enable(...) __TIM5_CLK_ENABLE(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 278
Wolfgang Betz 0:4fb29d9ee571 279 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 280
Wolfgang Betz 0:4fb29d9ee571 281 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 282 /* stm32l1xx_hal_spi.h */
Wolfgang Betz 0:4fb29d9ee571 283 #ifdef USE_STM32L1XX_NUCLEO
Wolfgang Betz 0:4fb29d9ee571 284 #include "stm32l1xx_hal_spi.h"
Wolfgang Betz 0:4fb29d9ee571 285 #endif
Wolfgang Betz 0:4fb29d9ee571 286
Wolfgang Betz 0:4fb29d9ee571 287 #ifdef USE_STM32F4XX_NUCLEO
Wolfgang Betz 0:4fb29d9ee571 288 #include "stm32f4xx_hal_spi.h"
Wolfgang Betz 0:4fb29d9ee571 289 #endif
Wolfgang Betz 0:4fb29d9ee571 290
Wolfgang Betz 0:4fb29d9ee571 291 #define st_lib_spi_handle_typedef SPI_HandleTypeDef
Wolfgang Betz 0:4fb29d9ee571 292
Wolfgang Betz 0:4fb29d9ee571 293 #define st_lib_hal_spi_get_flag(...) __HAL_SPI_GET_FLAG(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 294 #define st_lib_hal_spi_transmit_receive(...) HAL_SPI_TransmitReceive(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 295 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 296
Wolfgang Betz 0:4fb29d9ee571 297 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 298 /* stm32l1xx_hal_tim.h */
Wolfgang Betz 0:4fb29d9ee571 299 #ifdef USE_STM32L1XX_NUCLEO
Wolfgang Betz 0:4fb29d9ee571 300 #include "stm32l1xx_hal_tim.h"
Wolfgang Betz 0:4fb29d9ee571 301 #endif
Wolfgang Betz 0:4fb29d9ee571 302
Wolfgang Betz 0:4fb29d9ee571 303 #ifdef USE_STM32F4XX_NUCLEO
Wolfgang Betz 0:4fb29d9ee571 304 #include "stm32f4xx_hal_tim.h"
Wolfgang Betz 0:4fb29d9ee571 305 #endif
Wolfgang Betz 0:4fb29d9ee571 306
Wolfgang Betz 0:4fb29d9ee571 307 #define st_lib_tim_handle_typedef TIM_HandleTypeDef
Wolfgang Betz 0:4fb29d9ee571 308 #define st_lib_tim_clock_config_typedef TIM_ClockConfigTypeDef
Wolfgang Betz 0:4fb29d9ee571 309 #define st_lib_tim_oc_init_typedef TIM_OC_InitTypeDef
Wolfgang Betz 0:4fb29d9ee571 310
Wolfgang Betz 0:4fb29d9ee571 311 #define st_lib_hal_tim_base_init(...) HAL_TIM_Base_Init(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 312 #define st_lib_hal_tim_base_start_it(...) HAL_TIM_Base_Start_IT(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 313 #define st_lib_hal_tim_config_clock_source(...) HAL_TIM_ConfigClockSource(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 314 #define st_lib_hal_tim_clear_flag(...) __HAL_TIM_CLEAR_FLAG(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 315 #define st_lib_hal_tim_clear_it(...) __HAL_TIM_CLEAR_IT(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 316 #define st_lib_hal_tim_enable(...) __HAL_TIM_ENABLE(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 317 #define st_lib_hal_tim_enable_it(...) __HAL_TIM_ENABLE_IT(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 318 #define st_lib_hal_tim_oc_init(...) HAL_TIM_OC_Init(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 319 #define st_lib_hal_tim_oc_config_channel(...) HAL_TIM_OC_ConfigChannel(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 320 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 321
Wolfgang Betz 0:4fb29d9ee571 322
Wolfgang Betz 0:4fb29d9ee571 323 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 324 /* stm32l1xx_hal_uart.h */
Wolfgang Betz 0:4fb29d9ee571 325 #ifdef USE_STM32L1XX_NUCLEO
Wolfgang Betz 0:4fb29d9ee571 326 #include "stm32l1xx_hal_uart.h"
Wolfgang Betz 0:4fb29d9ee571 327 #endif
Wolfgang Betz 0:4fb29d9ee571 328
Wolfgang Betz 0:4fb29d9ee571 329 #ifdef USE_STM32F4XX_NUCLEO
Wolfgang Betz 0:4fb29d9ee571 330 #include "stm32f4xx_hal_uart.h"
Wolfgang Betz 0:4fb29d9ee571 331 #endif
Wolfgang Betz 0:4fb29d9ee571 332
Wolfgang Betz 0:4fb29d9ee571 333 #define st_lib_uart_handle_typedef UART_HandleTypeDef
Wolfgang Betz 0:4fb29d9ee571 334
Wolfgang Betz 0:4fb29d9ee571 335 #define st_lib_hal_uart_enable_it(...) __HAL_UART_ENABLE_IT(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 336 #define st_lib_hal_uart_init(...) HAL_UART_Init(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 337 #define st_lib_hal_uart_receive(...) HAL_UART_Receive(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 338 #define st_lib_hal_uart_receive_it(...) HAL_UART_Receive_IT(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 339 #define st_lib_hal_uart_rx_cplt_callback(...) HAL_UART_RxCpltCallback(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 340 #define st_lib_hal_uart_transmit(...) HAL_UART_Transmit(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 341 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 342
Wolfgang Betz 0:4fb29d9ee571 343 #if 0 // betzw
Wolfgang Betz 0:4fb29d9ee571 344 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 345 /* stm32l1xx_nucleo.h */
Wolfgang Betz 0:4fb29d9ee571 346 #ifdef USE_STM32L1XX_NUCLEO
Wolfgang Betz 0:4fb29d9ee571 347 #include "stm32l1xx_nucleo.h"
Wolfgang Betz 0:4fb29d9ee571 348 #endif
Wolfgang Betz 0:4fb29d9ee571 349
Wolfgang Betz 0:4fb29d9ee571 350 #ifdef USE_STM32F4XX_NUCLEO
Wolfgang Betz 0:4fb29d9ee571 351 #include "stm32f4xx_nucleo.h"
Wolfgang Betz 0:4fb29d9ee571 352 #endif
Wolfgang Betz 0:4fb29d9ee571 353
Wolfgang Betz 0:4fb29d9ee571 354 #define st_lib_gpio_typedef GPIO_TypeDef
Wolfgang Betz 0:4fb29d9ee571 355 #define st_lib_gpio_port GPIO_PORT
Wolfgang Betz 0:4fb29d9ee571 356 #define st_lib_gpio_pin GPIO_PIN
Wolfgang Betz 0:4fb29d9ee571 357
Wolfgang Betz 0:4fb29d9ee571 358 #define st_lib_bsp_led_init(...) BSP_LED_Init(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 359 #define st_lib_bsp_led_off(...) BSP_LED_Off(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 360 #define st_lib_bsp_led_on(...) BSP_LED_On(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 361 #define st_lib_bsp_pb_init(...) BSP_PB_Init(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 362 #define st_lib_bsp_pb_get_state(...) BSP_PB_GetState(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 363 #define st_lib_hal_gpio_read_pin(...) HAL_GPIO_ReadPin(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 364 #define st_lib_hal_gpio_write_pin(...) HAL_GPIO_WritePin(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 365 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 366 #endif // 0
Wolfgang Betz 0:4fb29d9ee571 367
Wolfgang Betz 0:4fb29d9ee571 368 #if COMPILE_SENSORS
Wolfgang Betz 0:4fb29d9ee571 369 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 370 /* x_nucleo_iks01a1.h */
Wolfgang Betz 0:4fb29d9ee571 371 #include "x_nucleo_iks01a1.h"
Wolfgang Betz 0:4fb29d9ee571 372
Wolfgang Betz 0:4fb29d9ee571 373 #define st_lib_axes_raw_typedef AxesRaw_TypeDef
Wolfgang Betz 0:4fb29d9ee571 374 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 375
Wolfgang Betz 0:4fb29d9ee571 376 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 377 /* x_nucleo_iks01a1_hum_temp.h */
Wolfgang Betz 0:4fb29d9ee571 378 #include "x_nucleo_iks01a1_hum_temp.h"
Wolfgang Betz 0:4fb29d9ee571 379
Wolfgang Betz 0:4fb29d9ee571 380 #define st_lib_bsp_hum_temp_is_initialized(...) BSP_HUM_TEMP_isInitialized(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 381 #define st_lib_bsp_hum_temp_init(...) BSP_HUM_TEMP_Init(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 382 #define st_lib_bsp_hum_temp_get_humidity(...) BSP_HUM_TEMP_GetHumidity(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 383 #define st_lib_bsp_hum_temp_get_temperature(...) BSP_HUM_TEMP_GetTemperature(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 384 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 385
Wolfgang Betz 0:4fb29d9ee571 386 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 387 /* x_nucleo_iks01a1_imu_6axes.h */
Wolfgang Betz 0:4fb29d9ee571 388 #include "x_nucleo_iks01a1_imu_6axes.h"
Wolfgang Betz 0:4fb29d9ee571 389
Wolfgang Betz 0:4fb29d9ee571 390 #define st_lib_bsp_imu_6axes_is_initialized(...) BSP_IMU_6AXES_isInitialized(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 391 #define st_lib_bsp_imu_6axes_init(...) BSP_IMU_6AXES_Init(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 392 #define st_lib_bsp_imu_6axes_g_get_axes_raw(...) BSP_IMU_6AXES_G_GetAxesRaw(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 393 #define st_lib_bsp_imu_6axes_x_get_axes_raw(...) BSP_IMU_6AXES_X_GetAxesRaw(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 394 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 395
Wolfgang Betz 0:4fb29d9ee571 396 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 397 /* x_nucleo_iks01a1_magneto.h */
Wolfgang Betz 0:4fb29d9ee571 398 #include "x_nucleo_iks01a1_magneto.h"
Wolfgang Betz 0:4fb29d9ee571 399
Wolfgang Betz 0:4fb29d9ee571 400 #define st_lib_bsp_magneto_m_get_axes_raw(...) BSP_MAGNETO_M_GetAxesRaw(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 401 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 402
Wolfgang Betz 0:4fb29d9ee571 403 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 404 /* x_nucleo_iks01a1_pressure.h */
Wolfgang Betz 0:4fb29d9ee571 405 #include "x_nucleo_iks01a1_pressure.h"
Wolfgang Betz 0:4fb29d9ee571 406
Wolfgang Betz 0:4fb29d9ee571 407 #define st_lib_bsp_pressure_init(...) BSP_PRESSURE_Init(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 408 #define st_lib_bsp_pressure_get_pressure(...) BSP_PRESSURE_GetPressure(__VA_ARGS__)
Wolfgang Betz 0:4fb29d9ee571 409 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 410 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 411 #endif /*COMPILE_SENSORS*/
Wolfgang Betz 0:4fb29d9ee571 412 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 413 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 414 #endif /*ST_LIB_H_*/
Wolfgang Betz 0:4fb29d9ee571 415 /*---------------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 416 /** @} */