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