/** ****************************************************************************** * File Name : hw_conf.h * Description : Hardware configuration file for BLE * middleWare. ****************************************************************************** * This notice applies to any and all portions of this file * that are not between comment pairs USER CODE BEGIN and * USER CODE END. Other portions of this file, whether * inserted by the user or by software development tools * are owned by their respective copyright owners. * * Copyright (c) 2018 STMicroelectronics International N.V. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted, provided that the following conditions are met: * * 1. Redistribution of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. Neither the name of STMicroelectronics nor the names of other * contributors to this software may be used to endorse or promote products * derived from this software without specific written permission. * 4. This software, including modifications and/or derivative works of this * software, must execute solely and exclusively on microcontroller or * microprocessor devices manufactured by or for STMicroelectronics. * 5. Redistribution and use of this software other than as permitted under * this license is void and will automatically terminate your rights under * this license. * * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ****************************************************************************** */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __HW_CONF_H #define __HW_CONF_H /****************************************************************************** * Semaphores * THIS SHALL NO BE CHANGED AS THESE SEMAPHORES ARE USED AS WELL ON THE CM0+ *****************************************************************************/ /* Index of the semaphore used to manage the entry Stop Mode procedure */ #define CFG_HW_ENTRY_STOP_MODE_SEMID 4 /* Index of the semaphore used to access the RCC */ #define CFG_HW_RCC_SEMID 3 /* Index of the semaphore used to access the FLASH */ #define CFG_HW_FLASH_SEMID 2 /* Index of the semaphore used to access the PKA */ #define CFG_HW_PKA_SEMID 1 /* Index of the semaphore used to access the RNG */ #define CFG_HW_RNG_SEMID 0 /****************************************************************************** * HW TIMER SERVER *****************************************************************************/ /** * The user may define the maximum number of virtual timers supported. * It shall not exceed 255 */ #define CFG_HW_TS_MAX_NBR_CONCURRENT_TIMER 6 /** * The user may define the priority in the NVIC of the RTC_WKUP interrupt handler that is used to manage the * wakeup timer. * This setting is the preemptpriority part of the NVIC. */ #define CFG_HW_TS_NVIC_RTC_WAKEUP_IT_PREEMPTPRIO 3 /** * The user may define the priority in the NVIC of the RTC_WKUP interrupt handler that is used to manage the * wakeup timer. * This setting is the subpriority part of the NVIC. It does not exist on all processors. When it is not supported * on the CPU, the setting is ignored */ #define CFG_HW_TS_NVIC_RTC_WAKEUP_IT_SUBPRIO 0 /** * Define a critical section in the Timer server * The Timer server does not support the API to be nested * The Application shall either: * a) Ensure this will never happen * b) Define the critical section * The default implementations is masking all interrupts using the PRIMASK bit * The TimerServer driver uses critical sections to avoid context corruption. This is achieved with the macro * TIMER_ENTER_CRITICAL_SECTION and TIMER_EXIT_CRITICAL_SECTION. When CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION is set * to 1, all STM32 interrupts are masked with the PRIMASK bit of the CortexM CPU. It is possible to use the BASEPRI * register of the CortexM CPU to keep allowed some interrupts with high priority. In that case, the user shall * re-implement TIMER_ENTER_CRITICAL_SECTION and TIMER_EXIT_CRITICAL_SECTION and shall make sure that no TimerServer * API are called when the TIMER critical section is entered */ #define CFG_HW_TS_USE_PRIMASK_AS_CRITICAL_SECTION 1 /** * This value shall reflect the maximum delay there could be in the application between the time the RTC interrupt * is generated by the Hardware and the time when the RTC interrupt handler is called. This time is measured in * number of RTCCLK ticks. * A relaxed timing would be 10ms * When the value is too short, the timerserver will not be able to count properly and all timeout may be random. * When the value is too long, the device may wake up more often than the most optimal configuration. However, the * impact on power consumption would be marginal (unless the value selected is extremely too long). It is strongly * recommended to select a value large enough to make sure it is not too short to ensure reliability of the system * as this will have marginal impact on low power mode */ #define CFG_HW_TS_RTC_HANDLER_MAX_DELAY ( 10 * (LSI_VALUE/1000) ) /** * Interrupt ID in the NVIC of the RTC Wakeup interrupt handler * It shall be type of IRQn_Type */ #define CFG_HW_TS_RTC_WAKEUP_HANDLER_ID RTC_WKUP_IRQn /****************************************************************************** * HW UART *****************************************************************************/ #define CFG_HW_LPUART1_ENABLED 0 #define CFG_HW_LPUART1_DMA_TX_SUPPORTED 0 #define CFG_HW_USART1_ENABLED 0 #define CFG_HW_USART1_DMA_TX_SUPPORTED 0 #endif /*__HW_CONF_H */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/