diff --git a/Firmware/Board/v3/board.cpp b/Firmware/Board/v3/board.cpp index 9ff03312..f215eddd 100644 --- a/Firmware/Board/v3/board.cpp +++ b/Firmware/Board/v3/board.cpp @@ -376,6 +376,9 @@ std::array axes{{ Stm32BasicPwmOutput brake_resistor_output_impl{TIM2->CCR3, TIM2->CCR4}; PwmOutputGroup<1>& brake_resistor_output = brake_resistor_output_impl; +template<> PwmOutputGroup<1>* BoardSupportPackage::fan_output = nullptr; + + /* Misc Variables ------------------------------------------------------------*/ volatile uint32_t& board_control_loop_counter = TIM13->CNT; diff --git a/Firmware/Drivers/STM32/stm32_advanced_pwm_output.hpp b/Firmware/Drivers/STM32/stm32_advanced_pwm_output.hpp index 2f37d0f7..f16582fa 100644 --- a/Firmware/Drivers/STM32/stm32_advanced_pwm_output.hpp +++ b/Firmware/Drivers/STM32/stm32_advanced_pwm_output.hpp @@ -1,5 +1,5 @@ -#ifndef __STM32_BASIC_PWM_OUTPUT_HPP -#define __STM32_BASIC_PWM_OUTPUT_HPP +#ifndef __STM32_ADVANCED_PWM_OUTPUT_HPP +#define __STM32_ADVANCED_PWM_OUTPUT_HPP #include @@ -156,4 +156,4 @@ public: on_stopped_cb_t on_stopped_; }; -#endif // __STM32_BASIC_PWM_OUTPUT_HPP +#endif // __STM32_ADVANCED_PWM_OUTPUT_HPP diff --git a/Firmware/Private b/Firmware/Private index 8ce67c67..cd00d9b0 160000 --- a/Firmware/Private +++ b/Firmware/Private @@ -1 +1 @@ -Subproject commit 8ce67c672cc784f36a3a221777c0214a116e2a31 +Subproject commit cd00d9b0f33fc85d9864242fdefb0bc53c16d40e diff --git a/Firmware/interfaces/board_support_package.hpp b/Firmware/interfaces/board_support_package.hpp index c8eb5a6d..aff3a603 100644 --- a/Firmware/interfaces/board_support_package.hpp +++ b/Firmware/interfaces/board_support_package.hpp @@ -55,6 +55,13 @@ struct BoardSupportPackageBase { */ static File& nvm; + /** + * @brief PWM output to control the FAN speed. + * + * null on + */ + static PwmOutputGroup<1>* fan_output; + /** * @brief Continuously updated measurement of the DC link voltage in Volts. * diff --git a/Firmware/interfaces/pwm_output_group.hpp b/Firmware/interfaces/pwm_output_group.hpp index 194e305d..1f1c7888 100644 --- a/Firmware/interfaces/pwm_output_group.hpp +++ b/Firmware/interfaces/pwm_output_group.hpp @@ -57,7 +57,7 @@ struct PwmOutputGroup { * stopped operating. */ virtual void start(on_update_cb_t on_update, - fibre::Callback on_stopped) = 0; + on_stopped_cb_t on_stopped) = 0; /** * @brief Stops the PWM output asynchronously.