1 /**
2   ******************************************************************************
3   * @file    stm32_assert.h
4   * @author  MCD Application Team
5   * @brief   STM32 assert template file.
6   *          This file should be copied to the application folder and renamed
7   *          to stm32_assert.h.
8   ******************************************************************************
9   * @attention
10   *
11   * Copyright (c) 2017 STMicroelectronics.
12   * All rights reserved.
13   *
14   * This software is licensed under terms that can be found in the LICENSE file
15   * in the root directory of this software component.
16   * If no LICENSE file comes with this software, it is provided AS-IS.
17   *
18   ******************************************************************************
19   */
20 
21 /* Define to prevent recursive inclusion -------------------------------------*/
22 #ifndef STM32_ASSERT_H
23 #define STM32_ASSERT_H
24 
25 #ifdef __cplusplus
26  extern "C" {
27 #endif
28 
29 /* Exported types ------------------------------------------------------------*/
30 /* Exported constants --------------------------------------------------------*/
31 /* Includes ------------------------------------------------------------------*/
32 /* Exported macro ------------------------------------------------------------*/
33 #ifdef  USE_FULL_ASSERT
34 /**
35   * @brief  The assert_param macro is used for function's parameters check.
36   * @param  expr: If expr is false, it calls assert_failed function
37   *         which reports the name of the source file and the source
38   *         line number of the call that failed.
39   *         If expr is true, it returns no value.
40   * @retval None
41   */
42   #define assert_param(expr) ((expr) ? (void)0U : assert_failed((char *)__FILE__, __LINE__))
43 /* Exported functions ------------------------------------------------------- */
44   void assert_failed(char *file, uint32_t line);
45 #else
46   #define assert_param(expr) ((void)0U)
47 #endif /* USE_FULL_ASSERT */
48 
49 #ifdef __cplusplus
50 }
51 #endif
52 
53 #endif /* STM32_ASSERT_H */
54