]> mj.ucw.cz Git - home-hw.git/blob - Inc/stm32_assert.h
Experiments with USB
[home-hw.git] / Inc / stm32_assert.h
1 /**
2   ******************************************************************************
3   * @file    stm32_assert.h
4   * @brief   STM32 assert file.
5   ******************************************************************************
6    * This notice applies to any and all portions of this file
7   * that are not between comment pairs USER CODE BEGIN and
8   * USER CODE END. Other portions of this file, whether 
9   * inserted by the user or by software development tools
10   * are owned by their respective copyright owners.
11   *
12   * Copyright (c) 2018 STMicroelectronics International N.V. 
13   * All rights reserved.
14   *
15   * Redistribution and use in source and binary forms, with or without 
16   * modification, are permitted, provided that the following conditions are met:
17   *
18   * 1. Redistribution of source code must retain the above copyright notice, 
19   *    this list of conditions and the following disclaimer.
20   * 2. Redistributions in binary form must reproduce the above copyright notice,
21   *    this list of conditions and the following disclaimer in the documentation
22   *    and/or other materials provided with the distribution.
23   * 3. Neither the name of STMicroelectronics nor the names of other 
24   *    contributors to this software may be used to endorse or promote products 
25   *    derived from this software without specific written permission.
26   * 4. This software, including modifications and/or derivative works of this 
27   *    software, must execute solely and exclusively on microcontroller or
28   *    microprocessor devices manufactured by or for STMicroelectronics.
29   * 5. Redistribution and use of this software other than as permitted under 
30   *    this license is void and will automatically terminate your rights under 
31   *    this license. 
32   *
33   * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
34   * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
35   * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
36   * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
37   * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
38   * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
39   * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
40   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
41   * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
42   * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
43   * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
44   * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
45   *
46   ******************************************************************************
47   */
48
49 /* Define to prevent recursive inclusion -------------------------------------*/
50 #ifndef __STM32_ASSERT_H
51 #define __STM32_ASSERT_H
52
53 #ifdef __cplusplus
54  extern "C" {
55 #endif
56
57 /* Exported types ------------------------------------------------------------*/
58 /* Exported constants --------------------------------------------------------*/
59 /* Includes ------------------------------------------------------------------*/
60 /* Exported macro ------------------------------------------------------------*/
61 #ifdef  USE_FULL_ASSERT
62 /**
63   * @brief  The assert_param macro is used for function's parameters check.
64   * @param  expr: If expr is false, it calls assert_failed function
65   *         which reports the name of the source file and the source
66   *         line number of the call that failed.
67   *         If expr is true, it returns no value.
68   * @retval None
69   */
70   #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
71 /* Exported functions ------------------------------------------------------- */
72   void assert_failed(uint8_t* file, uint32_t line);
73 #else
74   #define assert_param(expr) ((void)0U)
75 #endif /* USE_FULL_ASSERT */
76
77 #ifdef __cplusplus
78 }
79 #endif
80
81 #endif /* __STM32_ASSERT_H */
82
83 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/