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 Jan 18 15:07:23 2018 +0100
Revision:
77:a9a9807bf3ed
Parent:
67:93bec0baf1de
Merge pull request #3 from SeppoTakalo/skip

Skip compilation if FEATURE_NANOSTACK is not enabled

Who changed what in which revision?

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