mirror of
https://github.com/infiniteCable2/panda.git
synced 2026-02-18 17:23:52 +08:00
cuatro: remove beeper (#2100)
This commit is contained in:
@@ -71,10 +71,6 @@ static void cuatro_set_bootkick(BootState state) {
|
||||
//set_gpio_output(GPIOC, 12, state != BOOT_RESET);
|
||||
}
|
||||
|
||||
static void cuatro_set_siren(bool enabled){
|
||||
beeper_enable(enabled);
|
||||
}
|
||||
|
||||
static void cuatro_set_amp_enabled(bool enabled){
|
||||
set_gpio_output(GPIOA, 5, enabled);
|
||||
}
|
||||
@@ -133,10 +129,6 @@ static void cuatro_init(void) {
|
||||
// Clock source
|
||||
clock_source_init();
|
||||
|
||||
// Beeper
|
||||
set_gpio_alternate(GPIOD, 14, GPIO_AF2_TIM4);
|
||||
beeper_init();
|
||||
|
||||
// Sound codec
|
||||
cuatro_set_amp_enabled(false);
|
||||
set_gpio_alternate(GPIOA, 2, GPIO_AF8_SAI4); // SAI4_SCK_B
|
||||
@@ -170,7 +162,7 @@ board board_cuatro = {
|
||||
.read_current_mA = cuatro_read_current_mA,
|
||||
.set_fan_enabled = cuatro_set_fan_enabled,
|
||||
.set_ir_power = unused_set_ir_power,
|
||||
.set_siren = cuatro_set_siren,
|
||||
.set_siren = unused_set_siren,
|
||||
.set_bootkick = cuatro_set_bootkick,
|
||||
.read_som_gpio = tres_read_som_gpio,
|
||||
.set_amp_enabled = cuatro_set_amp_enabled
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
|
||||
#define BEEPER_COUNTER_OVERFLOW 25000U // 4kHz
|
||||
|
||||
void beeper_enable(bool enabled) {
|
||||
if (enabled) {
|
||||
register_set_bits(&(TIM4->CCER), TIM_CCER_CC3E);
|
||||
} else {
|
||||
register_clear_bits(&(TIM4->CCER), TIM_CCER_CC3E);
|
||||
}
|
||||
}
|
||||
|
||||
void beeper_init(void) {
|
||||
// Enable timer and auto-reload
|
||||
register_set(&(TIM4->CR1), TIM_CR1_CEN | TIM_CR1_ARPE, 0x3FU);
|
||||
|
||||
// Set channel as PWM mode 1 and disable output
|
||||
register_set_bits(&(TIM4->CCMR2), (TIM_CCMR2_OC3M_2 | TIM_CCMR2_OC3M_1 | TIM_CCMR2_OC3PE));
|
||||
beeper_enable(false);
|
||||
|
||||
// Set max counter value and compare to get 50% duty
|
||||
register_set(&(TIM4->CCR3), BEEPER_COUNTER_OVERFLOW / 2U, 0xFFFFU);
|
||||
register_set(&(TIM4->ARR), BEEPER_COUNTER_OVERFLOW, 0xFFFFU);
|
||||
|
||||
// Update registers and clear counter
|
||||
TIM4->EGR |= TIM_EGR_UG;
|
||||
}
|
||||
@@ -10,7 +10,6 @@
|
||||
#include "drivers/fan.h"
|
||||
#include "stm32h7/llfan.h"
|
||||
#include "stm32h7/lldac.h"
|
||||
#include "drivers/beeper.h"
|
||||
#include "drivers/fake_siren.h"
|
||||
#include "stm32h7/sound.h"
|
||||
#include "drivers/clock_source.h"
|
||||
|
||||
@@ -130,7 +130,6 @@ void peripherals_init(void) {
|
||||
RCC->APB2ENR |= RCC_APB2ENR_TIM1EN; // clock source timer
|
||||
RCC->APB1LENR |= RCC_APB1LENR_TIM2EN; // main counter
|
||||
RCC->APB1LENR |= RCC_APB1LENR_TIM3EN; // fan pwm
|
||||
RCC->APB1LENR |= RCC_APB1LENR_TIM4EN; // beeper source
|
||||
RCC->APB1LENR |= RCC_APB1LENR_TIM6EN; // interrupt timer
|
||||
RCC->APB1LENR |= RCC_APB1LENR_TIM7EN; // DMA trigger timer
|
||||
RCC->APB2ENR |= RCC_APB2ENR_TIM8EN; // tick timer
|
||||
|
||||
Reference in New Issue
Block a user