diff --git a/radio/src/targets/pl18/hal.h b/radio/src/targets/pl18/hal.h index fdcc35d27..660272fb4 100644 --- a/radio/src/targets/pl18/hal.h +++ b/radio/src/targets/pl18/hal.h @@ -555,15 +555,15 @@ #define HAPTIC_GPIO GPIO_PIN(GPIOB, 0) // PB.00 #define HAPTIC_GPIO_TIMER TIM1 #define HAPTIC_GPIO_AF GPIO_AF1 -#define HAPTIC_TIMER_OUTPUT_ENABLE TIM_CCER_CC1E | TIM_CCER_CC1NE; -#define HAPTIC_TIMER_MODE TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1PE -#define HAPTIC_TIMER_COMPARE_VALUE HAPTIC_GPIO_TIMER->CCR1 +#define HAPTIC_TIMER_OUTPUT_ENABLE TIM_CCER_CC2NE +#define HAPTIC_TIMER_MODE TIM_CCMR1_OC2M_1 | TIM_CCMR1_OC2M_2 | TIM_CCMR1_OC2PE +#define HAPTIC_TIMER_COMPARE_VALUE HAPTIC_GPIO_TIMER->CCR2 #else #define HAPTIC_PWM #define HAPTIC_GPIO GPIO_PIN(GPIOA, 8) // PA.08 #define HAPTIC_GPIO_TIMER TIM1 #define HAPTIC_GPIO_AF GPIO_AF1 -#define HAPTIC_TIMER_OUTPUT_ENABLE TIM_CCER_CC1E | TIM_CCER_CC1NE; +#define HAPTIC_TIMER_OUTPUT_ENABLE TIM_CCER_CC1E | TIM_CCER_CC1NE #define HAPTIC_TIMER_MODE TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1PE #define HAPTIC_TIMER_COMPARE_VALUE HAPTIC_GPIO_TIMER->CCR1 #endif diff --git a/radio/src/targets/pl18/haptic_driver.cpp b/radio/src/targets/pl18/haptic_driver.cpp index 7a9b79a5e..7b4930474 100644 --- a/radio/src/targets/pl18/haptic_driver.cpp +++ b/radio/src/targets/pl18/haptic_driver.cpp @@ -47,7 +47,9 @@ void hapticInit(void) HAPTIC_GPIO_TIMER->PSC = (PERI2_FREQUENCY * TIMER_MULT_APB2) / 10000 - 1; HAPTIC_GPIO_TIMER->CCMR1 = HAPTIC_TIMER_MODE; // PWM HAPTIC_GPIO_TIMER->CCER = HAPTIC_TIMER_OUTPUT_ENABLE; - HAPTIC_GPIO_TIMER->CCR1 = 0; + + hapticOff(); + HAPTIC_GPIO_TIMER->EGR = TIM_EGR_UG; HAPTIC_GPIO_TIMER->CR1 = TIM_CR1_CEN; // counter enable HAPTIC_GPIO_TIMER->BDTR |= TIM_BDTR_MOE;