diff --git a/firmware/controllers/system/pwm_generator_logic.cpp b/firmware/controllers/system/pwm_generator_logic.cpp index fb643be35b..11478313f0 100644 --- a/firmware/controllers/system/pwm_generator_logic.cpp +++ b/firmware/controllers/system/pwm_generator_logic.cpp @@ -235,7 +235,7 @@ void PwmConfig::weComplexInit(const char *msg, int phaseCount, float *switchTime timerCallback(this); } -void startSimplePwm(PwmConfig *state, const char *msg, OutputPin *output, float frequency, float dutyCycle, pwm_gen_callback *stateChangeCallback) { +void startSimplePwm(SimplePwm *state, const char *msg, OutputPin *output, float frequency, float dutyCycle, pwm_gen_callback *stateChangeCallback) { efiAssertVoid(CUSTOM_ERR_6692, state != NULL, "state"); efiAssertVoid(CUSTOM_ERR_6665, dutyCycle >= 0 && dutyCycle <= 1, "dutyCycle"); if (frequency < 1) { @@ -254,7 +254,7 @@ void startSimplePwm(PwmConfig *state, const char *msg, OutputPin *output, float state->weComplexInit(msg, 2, switchTimes, 1, pinStates, NULL, stateChangeCallback); } -void startSimplePwmExt(PwmConfig *state, const char *msg, brain_pin_e brainPin, OutputPin *output, float frequency, +void startSimplePwmExt(SimplePwm *state, const char *msg, brain_pin_e brainPin, OutputPin *output, float frequency, float dutyCycle, pwm_gen_callback *stateChangeCallback) { output->initPin(msg, brainPin); diff --git a/firmware/controllers/system/pwm_generator_logic.h b/firmware/controllers/system/pwm_generator_logic.h index bb54cf2975..404e6eb33a 100644 --- a/firmware/controllers/system/pwm_generator_logic.h +++ b/firmware/controllers/system/pwm_generator_logic.h @@ -106,7 +106,7 @@ private: * * This method should be called after scheduling layer is started by initSignalExecutor() */ -void startSimplePwm(PwmConfig *state, const char *msg, OutputPin *output, +void startSimplePwm(SimplePwm *state, const char *msg, OutputPin *output, float dutyCycle, float frequency, pwm_gen_callback *stateChangeCallback); /** @@ -114,7 +114,7 @@ void startSimplePwm(PwmConfig *state, const char *msg, OutputPin *output, * * This method should be called after scheduling layer is started by initSignalExecutor() */ -void startSimplePwmExt(PwmConfig *state, const char *msg, brain_pin_e brainPin, OutputPin *output, +void startSimplePwmExt(SimplePwm *state, const char *msg, brain_pin_e brainPin, OutputPin *output, float frequency, float dutyCycle, pwm_gen_callback *stateChangeCallback); void copyPwmParameters(PwmConfig *state, int phaseCount, float *switchTimes, diff --git a/unit_tests/test_signal_executor.cpp b/unit_tests/test_signal_executor.cpp index 1e8e0f381d..1cccc837a5 100644 --- a/unit_tests/test_signal_executor.cpp +++ b/unit_tests/test_signal_executor.cpp @@ -121,17 +121,17 @@ void testApplyPinState(PwmConfig *state, int stateIndex) { void testPwmGenerator() { print("*************************************** testPwmGenerator\r\n"); - PwmConfig pwm; + SimplePwm pwm; OutputPin pin; //pwm.setFrequency(600); -// startSimplePwm(&pwm, "unit_test", -// &pin, -// 600 /* frequency */, -// 0.80 /* duty cycle */, -// &testApplyPinState); + startSimplePwm(&pwm, "unit_test", + &pin, + 600 /* frequency */, + 0.80 /* duty cycle */, + &testApplyPinState); }