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