distortos  v0.7.0
object-oriented C++ RTOS for microcontrollers
STM32F4-PWR.hpp
Go to the documentation of this file.
1 
12 #ifndef SOURCE_CHIP_STM32_STM32F4_INCLUDE_DISTORTOS_CHIP_STM32F4_PWR_HPP_
13 #define SOURCE_CHIP_STM32_STM32F4_INCLUDE_DISTORTOS_CHIP_STM32F4_PWR_HPP_
14 
16 
17 #include <cstdint>
18 
19 namespace distortos
20 {
21 
22 namespace chip
23 {
24 
25 /*---------------------------------------------------------------------------------------------------------------------+
26 | global constants
27 +---------------------------------------------------------------------------------------------------------------------*/
28 
30 #if defined(DISTORTOS_CHIP_STM32F401)
31 constexpr uint8_t minVoltageScale {2};
32 #else // !defined(DISTORTOS_CHIP_STM32F401)
33 constexpr uint8_t minVoltageScale {1};
34 #endif // !defined(DISTORTOS_CHIP_STM32F401)
35 
37 #if defined(DISTORTOS_CHIP_STM32F405) || defined(DISTORTOS_CHIP_STM32F407) || defined(DISTORTOS_CHIP_STM32F415) || \
38  defined(DISTORTOS_CHIP_STM32F417)
39 constexpr uint8_t maxVoltageScale {2};
40 #else // !defined(DISTORTOS_CHIP_STM32F405) && !defined(DISTORTOS_CHIP_STM32F407) &&
41  // !defined(DISTORTOS_CHIP_STM32F415) && !defined(DISTORTOS_CHIP_STM32F417)
42 constexpr uint8_t maxVoltageScale {3};
43 #endif // !defined(DISTORTOS_CHIP_STM32F405) && !defined(DISTORTOS_CHIP_STM32F407) &&
44  // !defined(DISTORTOS_CHIP_STM32F415) && !defined(DISTORTOS_CHIP_STM32F417)
45 
47 #if defined(DISTORTOS_CHIP_STM32F401) || defined(DISTORTOS_CHIP_STM32F410) || defined(DISTORTOS_CHIP_STM32F411) || \
48  defined(DISTORTOS_CHIP_STM32F412) || defined(DISTORTOS_CHIP_STM32F413) || defined(DISTORTOS_CHIP_STM32F423)
49 constexpr uint8_t defaultVoltageScale {2};
50 #else // !defined(DISTORTOS_CHIP_STM32F401) && !defined(DISTORTOS_CHIP_STM32F410) &&
51  // !defined(DISTORTOS_CHIP_STM32F411) && !defined(DISTORTOS_CHIP_STM32F412) &&
52  // !defined(DISTORTOS_CHIP_STM32F413) && !defined(DISTORTOS_CHIP_STM32F423)
53 constexpr uint8_t defaultVoltageScale {1};
54 #endif // !defined(DISTORTOS_CHIP_STM32F401) && !defined(DISTORTOS_CHIP_STM32F410) &&
55  // !defined(DISTORTOS_CHIP_STM32F411) && !defined(DISTORTOS_CHIP_STM32F412) &&
56  // !defined(DISTORTOS_CHIP_STM32F413) && !defined(DISTORTOS_CHIP_STM32F423)
57 
58 /*---------------------------------------------------------------------------------------------------------------------+
59 | global functions' declarations
60 +---------------------------------------------------------------------------------------------------------------------*/
61 
73 int configureVoltageScaling(uint8_t voltageScale);
74 
75 #if defined(DISTORTOS_CHIP_STM32F427) || defined(DISTORTOS_CHIP_STM32F429) || defined(DISTORTOS_CHIP_STM32F43) || \
76  defined(DISTORTOS_CHIP_STM32F446) || defined(DISTORTOS_CHIP_STM32F469) || defined(DISTORTOS_CHIP_STM32F479)
77 
84 void disableOverDriveMode();
85 
92 void enableOverDriveMode();
93 
94 #endif // defined(DISTORTOS_CHIP_STM32F427) || defined(DISTORTOS_CHIP_STM32F429) || defined(DISTORTOS_CHIP_STM32F43) ||
95  // defined(DISTORTOS_CHIP_STM32F446) || defined(DISTORTOS_CHIP_STM32F469) || defined(DISTORTOS_CHIP_STM32F479)
96 
97 } // namespace chip
98 
99 } // namespace distortos
100 
101 #endif // SOURCE_CHIP_STM32_STM32F4_INCLUDE_DISTORTOS_CHIP_STM32F4_PWR_HPP_
constexpr uint8_t maxVoltageScale
maximum allowed value of voltage scale mode
Definition: STM32F4-PWR.hpp:39
constexpr uint8_t minVoltageScale
minimum allowed value of voltage scale mode
Definition: STM32F4-PWR.hpp:33
constexpr uint8_t defaultVoltageScale
default voltage scale mode after reset
Definition: STM32F4-PWR.hpp:53
distortos configuration
Top-level namespace of distortos project.
Definition: buttons.hpp:33
int configureVoltageScaling(uint8_t voltageScale)
Configures voltage scaling.
Definition: STM32F4-PWR.cpp:29