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 stm32l-spirit1-config.h
Wolfgang Betz 0:4fb29d9ee571 4 * @author MCD Application Team
Wolfgang Betz 0:4fb29d9ee571 5 * @version V3.4.0
Wolfgang Betz 0:4fb29d9ee571 6 * @date 29-June-2012
Wolfgang Betz 0:4fb29d9ee571 7 * @brief Evaluation board specific configuration file.
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 2012 STMicroelectronics</center></h2>
Wolfgang Betz 0:4fb29d9ee571 12 *
Wolfgang Betz 0:4fb29d9ee571 13 * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
Wolfgang Betz 0:4fb29d9ee571 14 * You may not use this file except in compliance with the License.
Wolfgang Betz 0:4fb29d9ee571 15 * You may obtain a copy of the License at:
Wolfgang Betz 0:4fb29d9ee571 16 *
Wolfgang Betz 0:4fb29d9ee571 17 * http://www.st.com/software_license_agreement_liberty_v2
Wolfgang Betz 0:4fb29d9ee571 18 *
Wolfgang Betz 0:4fb29d9ee571 19 * Unless required by applicable law or agreed to in writing, software
Wolfgang Betz 0:4fb29d9ee571 20 * distributed under the License is distributed on an "AS IS" BASIS,
Wolfgang Betz 0:4fb29d9ee571 21 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Wolfgang Betz 0:4fb29d9ee571 22 * See the License for the specific language governing permissions and
Wolfgang Betz 0:4fb29d9ee571 23 * limitations under the License.
Wolfgang Betz 0:4fb29d9ee571 24 *
Wolfgang Betz 0:4fb29d9ee571 25 ******************************************************************************
Wolfgang Betz 0:4fb29d9ee571 26 */
Wolfgang Betz 0:4fb29d9ee571 27
Wolfgang Betz 0:4fb29d9ee571 28 /* Define to prevent recursive inclusion -------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 29 #ifndef __STM32L_SPIRIT1_CONFIG_H
Wolfgang Betz 0:4fb29d9ee571 30 #define __STM32L_SPIRIT1_CONFIG_H
Wolfgang Betz 0:4fb29d9ee571 31
Wolfgang Betz 0:4fb29d9ee571 32 /* Includes ------------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 33
Wolfgang Betz 0:4fb29d9ee571 34 /* Exported types ------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 35 /* Exported constants --------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 36
Wolfgang Betz 0:4fb29d9ee571 37 /* Define the STM32F10x hardware depending on the used evaluation board */
Wolfgang Betz 0:4fb29d9ee571 38 #ifdef USE_STM3210B_EVAL
Wolfgang Betz 0:4fb29d9ee571 39 #define USB_DISCONNECT GPIOD
Wolfgang Betz 0:4fb29d9ee571 40 #define USB_DISCONNECT_PIN GPIO_PIN_9
Wolfgang Betz 0:4fb29d9ee571 41 #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOD
Wolfgang Betz 0:4fb29d9ee571 42 #define EVAL_COM1_IRQHandler USART1_IRQHandler
Wolfgang Betz 0:4fb29d9ee571 43
Wolfgang Betz 0:4fb29d9ee571 44 #elif defined (USE_STM3210E_EVAL)
Wolfgang Betz 0:4fb29d9ee571 45 #define USB_DISCONNECT GPIOB
Wolfgang Betz 0:4fb29d9ee571 46 #define USB_DISCONNECT_PIN GPIO_PIN_14
Wolfgang Betz 0:4fb29d9ee571 47 #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOB
Wolfgang Betz 0:4fb29d9ee571 48 #define EVAL_COM1_IRQHandler USART1_IRQHandler
Wolfgang Betz 0:4fb29d9ee571 49
Wolfgang Betz 0:4fb29d9ee571 50 #elif defined (USE_STM3210C_EVAL)
Wolfgang Betz 0:4fb29d9ee571 51 #define USB_DISCONNECT 0
Wolfgang Betz 0:4fb29d9ee571 52 #define USB_DISCONNECT_PIN 0
Wolfgang Betz 0:4fb29d9ee571 53 #define RCC_APB2Periph_GPIO_DISCONNECT 0
Wolfgang Betz 0:4fb29d9ee571 54 #define EVAL_COM1_IRQHandler USART2_IRQHandler
Wolfgang Betz 0:4fb29d9ee571 55
Wolfgang Betz 0:4fb29d9ee571 56 #elif defined (USE_STM32L152_EVAL) || defined (USE_STM32L152D_EVAL)
Wolfgang Betz 0:4fb29d9ee571 57 /*
Wolfgang Betz 0:4fb29d9ee571 58 For STM32L15xx devices it is possible to use the internal USB pullup
Wolfgang Betz 0:4fb29d9ee571 59 controlled by register SYSCFG_PMC (refer to RM0038 reference manual for
Wolfgang Betz 0:4fb29d9ee571 60 more details).
Wolfgang Betz 0:4fb29d9ee571 61 It is also possible to use external pullup (and disable the internal pullup)
Wolfgang Betz 0:4fb29d9ee571 62 by setting the define USB_USE_EXTERNAL_PULLUP in file platform_config.h
Wolfgang Betz 0:4fb29d9ee571 63 and configuring the right pin to be used for the external pull up configuration.
Wolfgang Betz 0:4fb29d9ee571 64 To have more details on how to use an external pull up, please refer to
Wolfgang Betz 0:4fb29d9ee571 65 STM3210E-EVAL evaluation board manuals.
Wolfgang Betz 0:4fb29d9ee571 66 */
Wolfgang Betz 0:4fb29d9ee571 67 /* Uncomment the following define to use an external pull up instead of the
Wolfgang Betz 0:4fb29d9ee571 68 integrated STM32L15xx internal pull up. In this case make sure to set up
Wolfgang Betz 0:4fb29d9ee571 69 correctly the external required hardware and the GPIO defines below.*/
Wolfgang Betz 0:4fb29d9ee571 70 /* #define USB_USE_EXTERNAL_PULLUP */
Wolfgang Betz 0:4fb29d9ee571 71
Wolfgang Betz 0:4fb29d9ee571 72 #if !defined(USB_USE_EXTERNAL_PULLUP)
Wolfgang Betz 0:4fb29d9ee571 73 #define STM32L15_USB_CONNECT SYSCFG_USBPuCmd(ENABLE)
Wolfgang Betz 0:4fb29d9ee571 74 #define STM32L15_USB_DISCONNECT SYSCFG_USBPuCmd(DISABLE)
Wolfgang Betz 0:4fb29d9ee571 75
Wolfgang Betz 0:4fb29d9ee571 76 #elif defined(USB_USE_EXTERNAL_PULLUP)
Wolfgang Betz 0:4fb29d9ee571 77 /* PA0 is chosen just as illustrating example, you should modify the defines
Wolfgang Betz 0:4fb29d9ee571 78 below according to your hardware configuration. */
Wolfgang Betz 0:4fb29d9ee571 79 #define USB_DISCONNECT GPIOA
Wolfgang Betz 0:4fb29d9ee571 80 #define USB_DISCONNECT_PIN GPIO_PIN_0
Wolfgang Betz 0:4fb29d9ee571 81 #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOA
Wolfgang Betz 0:4fb29d9ee571 82 #define STM32L15_USB_CONNECT GPIO_ResetBits(USB_DISCONNECT, USB_DISCONNECT_PIN)
Wolfgang Betz 0:4fb29d9ee571 83 #define STM32L15_USB_DISCONNECT GPIO_SetBits(USB_DISCONNECT, USB_DISCONNECT_PIN)
Wolfgang Betz 0:4fb29d9ee571 84 #endif /* USB_USE_EXTERNAL_PULLUP */
Wolfgang Betz 0:4fb29d9ee571 85
Wolfgang Betz 0:4fb29d9ee571 86 #ifdef USE_STM32L152_EVAL
Wolfgang Betz 0:4fb29d9ee571 87 #define EVAL_COM1_IRQHandler USART2_IRQHandler
Wolfgang Betz 0:4fb29d9ee571 88 #elif defined (USE_STM32L152D_EVAL)
Wolfgang Betz 0:4fb29d9ee571 89 #define EVAL_COM1_IRQHandler USART1_IRQHandler
Wolfgang Betz 0:4fb29d9ee571 90 #endif /*USE_STM32L152_EVAL*/
Wolfgang Betz 0:4fb29d9ee571 91
Wolfgang Betz 0:4fb29d9ee571 92 #endif /* USE_STM3210B_EVAL */
Wolfgang Betz 0:4fb29d9ee571 93
Wolfgang Betz 0:4fb29d9ee571 94 /* Exported macro ------------------------------------------------------------*/
Wolfgang Betz 0:4fb29d9ee571 95 /* Exported functions ------------------------------------------------------- */
Wolfgang Betz 0:4fb29d9ee571 96
Wolfgang Betz 0:4fb29d9ee571 97 #endif /* __STM32L_SPIRIT1_CONFIG_H */
Wolfgang Betz 0:4fb29d9ee571 98 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/