Detect revisions of the STM32H743.
[betaflight.git] / src / main / build / build_config.h
blobdfbbaded24cb27eabe53e256697956e9d172d6f7
1 /*
2 * This file is part of Cleanflight and Betaflight.
4 * Cleanflight and Betaflight are free software. You can redistribute
5 * this software and/or modify this software under the terms of the
6 * GNU General Public License as published by the Free Software
7 * Foundation, either version 3 of the License, or (at your option)
8 * any later version.
10 * Cleanflight and Betaflight are distributed in the hope that they
11 * will be useful, but WITHOUT ANY WARRANTY; without even the implied
12 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13 * See the GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this software.
18 * If not, see <http://www.gnu.org/licenses/>.
21 #pragma once
23 #ifdef UNIT_TEST
24 // make these visible to unit test
25 #define STATIC_UNIT_TESTED
26 #define STATIC_INLINE_UNIT_TESTED
27 #define INLINE_UNIT_TESTED
28 #define UNIT_TESTED
29 #else
30 #define STATIC_UNIT_TESTED static
31 #define STATIC_INLINE_UNIT_TESTED static inline
32 #define INLINE_UNIT_TESTED inline
33 #define UNIT_TESTED
34 #endif
36 #ifndef __CC_ARM
37 #define REQUIRE_CC_ARM_PRINTF_SUPPORT
38 #define REQUIRE_PRINTF_LONG_SUPPORT
39 #endif
41 // MCU type IDs.
42 // IDs are permanent as they have a dependency to configurator through MSP reporting
44 typedef enum {
45 MCU_TYPE_SIMULATOR = 0,
46 MCU_TYPE_F103,
47 MCU_TYPE_F303,
48 MCU_TYPE_F40X,
49 MCU_TYPE_F411,
50 MCU_TYPE_F446,
51 MCU_TYPE_F722,
52 MCU_TYPE_F745,
53 MCU_TYPE_F746,
54 MCU_TYPE_F765,
55 MCU_TYPE_H750,
56 MCU_TYPE_H743_REV_UNKNOWN,
57 MCU_TYPE_H743_REV_Y,
58 MCU_TYPE_H743_REV_X,
59 MCU_TYPE_H743_REV_V,
60 MCU_TYPE_UNKNOWN = 255,
61 } mcuTypeId_e;
63 mcuTypeId_e getMcuTypeId(void);