distortos  v0.5.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(CONFIG_CHIP_STM32F401)
31 constexpr uint8_t minVoltageScale {2};
32 #else // !defined(CONFIG_CHIP_STM32F401)
33 constexpr uint8_t minVoltageScale {1};
34 #endif // !defined(CONFIG_CHIP_STM32F401)
35 
37 #if defined(CONFIG_CHIP_STM32F405) || defined(CONFIG_CHIP_STM32F407) || defined(CONFIG_CHIP_STM32F415) || \
38  defined(CONFIG_CHIP_STM32F417)
39 constexpr uint8_t maxVoltageScale {2};
40 #else // !defined(CONFIG_CHIP_STM32F405) && !defined(CONFIG_CHIP_STM32F407) && !defined(CONFIG_CHIP_STM32F415) &&
41  // !defined(CONFIG_CHIP_STM32F417)
42 constexpr uint8_t maxVoltageScale {3};
43 #endif // !defined(CONFIG_CHIP_STM32F405) && !defined(CONFIG_CHIP_STM32F407) && !defined(CONFIG_CHIP_STM32F415) &&
44  // !defined(CONFIG_CHIP_STM32F417)
45 
47 #if defined(CONFIG_CHIP_STM32F401) || defined(CONFIG_CHIP_STM32F410) || defined(CONFIG_CHIP_STM32F411) || \
48  defined(CONFIG_CHIP_STM32F412) || defined(CONFIG_CHIP_STM32F413) || defined(CONFIG_CHIP_STM32F423)
49 constexpr uint8_t defaultVoltageScale {2};
50 #else // !defined(CONFIG_CHIP_STM32F401) && !defined(CONFIG_CHIP_STM32F410) && !defined(CONFIG_CHIP_STM32F411) &&
51  // !defined(CONFIG_CHIP_STM32F412) && !defined(CONFIG_CHIP_STM32F413) && !defined(CONFIG_CHIP_STM32F423)
52 constexpr uint8_t defaultVoltageScale {1};
53 #endif // !defined(CONFIG_CHIP_STM32F401) && !defined(CONFIG_CHIP_STM32F410) && !defined(CONFIG_CHIP_STM32F411) &&
54  // !defined(CONFIG_CHIP_STM32F412) && !defined(CONFIG_CHIP_STM32F413) && !defined(CONFIG_CHIP_STM32F423)
55 
56 /*---------------------------------------------------------------------------------------------------------------------+
57 | global functions' declarations
58 +---------------------------------------------------------------------------------------------------------------------*/
59 
71 int configureVoltageScaling(uint8_t voltageScale);
72 
73 #if defined(CONFIG_CHIP_STM32F427) || defined(CONFIG_CHIP_STM32F429) || defined(CONFIG_CHIP_STM32F43) || \
74  defined(CONFIG_CHIP_STM32F446) || defined(CONFIG_CHIP_STM32F469) || defined(CONFIG_CHIP_STM32F479)
75 
82 void disableOverDriveMode();
83 
90 void enableOverDriveMode();
91 
92 #endif // defined(CONFIG_CHIP_STM32F427) || defined(CONFIG_CHIP_STM32F429) || defined(CONFIG_CHIP_STM32F43) ||
93  // defined(CONFIG_CHIP_STM32F446) || defined(CONFIG_CHIP_STM32F469) || defined(CONFIG_CHIP_STM32F479)
94 
95 } // namespace chip
96 
97 } // namespace distortos
98 
99 #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:52
distortos configuration
Top-level namespace of distortos project.
int configureVoltageScaling(uint8_t voltageScale)
Configures voltage scaling.
Definition: STM32F4-PWR.cpp:29