From dbc52686c6d9808275c35e0c9c987cbbd9f7859d Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sat, 13 Oct 2018 13:42:34 -0700 Subject: [PATCH 1/1] altos/stm: Make beeper driver support all possible tim234 configs And update all users to be explicit about the desired config. Signed-off-by: Keith Packard --- src/easymega-v1.0/ao_pins.h | 4 + src/easymega-v2.0/ao_pins.h | 4 + src/stm/ao_beep_stm.c | 166 +++++++++++++++--------------- src/stm/stm32l.h | 15 ++- src/teleballoon-v2.0/ao_pins.h | 3 + src/telefireeight-v1.0/ao_pins.h | 4 + src/telefireone-v1.0/ao_pins.h | 1 + src/telefiretwo-v0.2/ao_pins.h | 1 + src/telelco-v0.2-cc1200/ao_pins.h | 4 + src/telelco-v0.2/ao_pins.h | 4 + src/telelco-v0.3/ao_pins.h | 4 + src/telelco-v2.0/ao_pins.h | 4 + src/telelcotwo-v0.1/ao_pins.h | 3 + src/telemega-v0.1/ao_pins.h | 4 + src/telemega-v1.0/ao_pins.h | 4 + src/telemega-v2.0/ao_pins.h | 4 + src/telemega-v3.0/ao_pins.h | 4 + src/telemetrum-v2.0/ao_pins.h | 3 + src/telemetrum-v3.0/ao_pins.h | 3 + src/telemini-v3.0/ao_pins.h | 4 +- 20 files changed, 150 insertions(+), 93 deletions(-) diff --git a/src/easymega-v1.0/ao_pins.h b/src/easymega-v1.0/ao_pins.h index e7382e4b..bfa777c6 100644 --- a/src/easymega-v1.0/ao_pins.h +++ b/src/easymega-v1.0/ao_pins.h @@ -77,6 +77,10 @@ #define USE_STORAGE_CONFIG 0 #define HAS_USB 1 #define HAS_BEEP 1 +#define BEEPER_TIMER 3 +#define BEEPER_CHANNEL 1 +#define BEEPER_PORT (&stm_gpioc) +#define BEEPER_PIN 6 #define HAS_BATTERY_REPORT 1 #define HAS_RADIO 0 #define HAS_TELEMETRY 0 diff --git a/src/easymega-v2.0/ao_pins.h b/src/easymega-v2.0/ao_pins.h index aff06cdd..508c043c 100644 --- a/src/easymega-v2.0/ao_pins.h +++ b/src/easymega-v2.0/ao_pins.h @@ -77,6 +77,10 @@ #define USE_STORAGE_CONFIG 0 #define HAS_USB 1 #define HAS_BEEP 1 +#define BEEPER_TIMER 2 +#define BEEPER_CHANNEL 3 +#define BEEPER_PORT (&stm_gpioa) +#define BEEPER_PIN 2 #define HAS_BATTERY_REPORT 1 #define HAS_RADIO 0 #define HAS_TELEMETRY 0 diff --git a/src/stm/ao_beep_stm.c b/src/stm/ao_beep_stm.c index f9fa14c2..2746d7f8 100644 --- a/src/stm/ao_beep_stm.c +++ b/src/stm/ao_beep_stm.c @@ -18,37 +18,59 @@ #include "ao.h" -#ifndef BEEPER_CHANNEL -#define BEEPER_CHANNEL 1 +#if BEEPER_TIMER == 2 +#define stm_beeper stm_tim2 +#define RCC_BEEPER STM_RCC_APB1ENR_TIM2EN +#define BEEPER_AFR STM_AFR_AF1 +#elif BEEPER_TIMER == 3 +#define stm_beeper stm_tim3 +#define RCC_BEEPER STM_RCC_APB1ENR_TIM3EN +#define BEEPER_AFR STM_AFR_AF2 +#elif BEEPER_TIMER == 4 +#define stm_beeper stm_tim4 +#define RCC_BEEPER STM_RCC_APB1ENR_TIM4EN +#define BEEPER_AFR STM_AFR_AF2 +#else +#error BEEPER_TIMER must be 2, 3 or 4 #endif void ao_beep(uint8_t beep) { if (beep == 0) { - stm_tim3.cr1 = 0; - stm_rcc.apb1enr &= ~(1 << STM_RCC_APB1ENR_TIM3EN); + stm_beeper.cr1 = 0; + stm_rcc.apb1enr &= ~(1 << RCC_BEEPER); } else { - stm_rcc.apb1enr |= (1 << STM_RCC_APB1ENR_TIM3EN); + stm_rcc.apb1enr |= (1 << RCC_BEEPER); - stm_tim3.cr2 = ((0 << STM_TIM234_CR2_TI1S) | + stm_beeper.cr2 = ((0 << STM_TIM234_CR2_TI1S) | (STM_TIM234_CR2_MMS_RESET << STM_TIM234_CR2_MMS) | (0 << STM_TIM234_CR2_CCDS)); /* Set prescaler to match cc1111 clocks */ - stm_tim3.psc = AO_TIM23467_CLK / 750000; + stm_beeper.psc = AO_TIM23467_CLK / 750000; /* 1. Select the counter clock (internal, external, prescaler). * * Setting SMCR to zero means use the internal clock */ - stm_tim3.smcr = 0; + stm_beeper.smcr = 0; /* 2. Write the desired data in the TIMx_ARR and TIMx_CCRx registers. */ - stm_tim3.arr = beep; - stm_tim3.ccr1 = beep; + stm_beeper.arr = beep; +#if BEEPER_CHANNEL == 1 + stm_beeper.ccr1 = beep; +#elif BEEPER_CHANNEL == 2 + stm_beeper.ccr2 = beep; +#elif BEEPER_CHANNEL == 3 + stm_beeper.ccr3 = beep; +#elif BEEPER_CHANNEL == 4 + stm_beeper.ccr4 = beep; +#else +#error invalid BEEPER_CHANNEL +#endif /* 3. Set the CCxIE and/or CCxDE bits if an interrupt and/or a * DMA request is to be generated. @@ -61,63 +83,56 @@ ao_beep(uint8_t beep) * is enabled and active high. */ -#if BEEPER_CHANNEL == 1 - stm_tim3.ccmr1 = ((0 << STM_TIM234_CCMR1_OC2CE) | - (STM_TIM234_CCMR1_OC2M_FROZEN << STM_TIM234_CCMR1_OC2M) | - (0 << STM_TIM234_CCMR1_OC2PE) | - (0 << STM_TIM234_CCMR1_OC2FE) | - (STM_TIM234_CCMR1_CC2S_OUTPUT << STM_TIM234_CCMR1_CC2S) | - - (0 << STM_TIM234_CCMR1_OC1CE) | - (STM_TIM234_CCMR1_OC1M_TOGGLE << STM_TIM234_CCMR1_OC1M) | - (0 << STM_TIM234_CCMR1_OC1PE) | - (0 << STM_TIM234_CCMR1_OC1FE) | - (STM_TIM234_CCMR1_CC1S_OUTPUT << STM_TIM234_CCMR1_CC1S)); - - stm_tim3.ccer = ((0 << STM_TIM234_CCER_CC4NP) | - (0 << STM_TIM234_CCER_CC4P) | - (0 << STM_TIM234_CCER_CC4E) | - (0 << STM_TIM234_CCER_CC3NP) | - (0 << STM_TIM234_CCER_CC3P) | - (0 << STM_TIM234_CCER_CC3E) | - (0 << STM_TIM234_CCER_CC2NP) | - (0 << STM_TIM234_CCER_CC2P) | - (0 << STM_TIM234_CCER_CC2E) | - (0 << STM_TIM234_CCER_CC1NP) | - (0 << STM_TIM234_CCER_CC1P) | - (1 << STM_TIM234_CCER_CC1E)); +#define OC1M (BEEPER_CHANNEL == 1 ? STM_TIM234_CCMR1_OC1M_TOGGLE : STM_TIM234_CCMR1_OC1M_FROZEN) +#define OC2M (BEEPER_CHANNEL == 2 ? STM_TIM234_CCMR1_OC2M_TOGGLE : STM_TIM234_CCMR1_OC2M_FROZEN) +#define OC3M (BEEPER_CHANNEL == 3 ? STM_TIM234_CCMR2_OC3M_TOGGLE : STM_TIM234_CCMR2_OC3M_FROZEN) +#define OC4M (BEEPER_CHANNEL == 4 ? STM_TIM234_CCMR2_OC4M_TOGGLE : STM_TIM234_CCMR2_OC4M_FROZEN) + +#define CCER(n) (BEEPER_CHANNEL == (n) ? 1 : 0) + +#if BEEPER_CHANNEL == 1 || BEEPER_CHANNEL == 2 + stm_beeper.ccmr1 = ((0 << STM_TIM234_CCMR1_OC2CE) | + (OC2M << STM_TIM234_CCMR1_OC2M) | + (0 << STM_TIM234_CCMR1_OC2PE) | + (0 << STM_TIM234_CCMR1_OC2FE) | + (STM_TIM234_CCMR1_CC2S_OUTPUT << STM_TIM234_CCMR1_CC2S) | + + (0 << STM_TIM234_CCMR1_OC1CE) | + (OC1M << STM_TIM234_CCMR1_OC1M) | + (0 << STM_TIM234_CCMR1_OC1PE) | + (0 << STM_TIM234_CCMR1_OC1FE) | + (STM_TIM234_CCMR1_CC1S_OUTPUT << STM_TIM234_CCMR1_CC1S)); +#elif BEEPER_CHANNEL == 3 || BEEPER_CHANNEL == 4 + stm_beeper.ccmr2 = ((0 << STM_TIM234_CCMR2_OC4CE) | + (OC4M << STM_TIM234_CCMR2_OC4M) | + (0 << STM_TIM234_CCMR2_OC4PE) | + (0 << STM_TIM234_CCMR2_OC4FE) | + (STM_TIM234_CCMR2_CC4S_OUTPUT << STM_TIM234_CCMR2_CC4S) | + + (0 << STM_TIM234_CCMR2_OC3CE) | + (OC3M << STM_TIM234_CCMR2_OC3M) | + (0 << STM_TIM234_CCMR2_OC3PE) | + (0 << STM_TIM234_CCMR2_OC3FE) | + (STM_TIM234_CCMR2_CC3S_OUTPUT << STM_TIM234_CCMR2_CC3S)); +#else +#error invalid BEEPER_CHANNEL #endif -#if BEEPER_CHANNEL == 4 - stm_tim3.ccmr2 = ((0 << STM_TIM234_CCMR2_OC4CE) | - (STM_TIM234_CCMR2_OC4M_TOGGLE << STM_TIM234_CCMR2_OC4M) | - (0 << STM_TIM234_CCMR2_OC4PE) | - (0 << STM_TIM234_CCMR2_OC4FE) | - (STM_TIM234_CCMR2_CC4S_OUTPUT << STM_TIM234_CCMR2_CC4S) | - - (0 << STM_TIM234_CCMR2_OC3CE) | - (STM_TIM234_CCMR2_OC3M_FROZEN << STM_TIM234_CCMR2_OC3M) | - (0 << STM_TIM234_CCMR2_OC3PE) | - (0 << STM_TIM234_CCMR2_OC3FE) | - (STM_TIM234_CCMR2_CC3S_OUTPUT << STM_TIM234_CCMR2_CC3S)); - - stm_tim3.ccer = ((0 << STM_TIM234_CCER_CC4NP) | - (0 << STM_TIM234_CCER_CC4P) | - (1 << STM_TIM234_CCER_CC4E) | - (0 << STM_TIM234_CCER_CC3NP) | - (0 << STM_TIM234_CCER_CC3P) | - (0 << STM_TIM234_CCER_CC3E) | - (0 << STM_TIM234_CCER_CC2NP) | - (0 << STM_TIM234_CCER_CC2P) | - (0 << STM_TIM234_CCER_CC2E) | - (0 << STM_TIM234_CCER_CC1NP) | - (0 << STM_TIM234_CCER_CC1P) | - (0 << STM_TIM234_CCER_CC1E)); -#endif - + stm_beeper.ccer = ((0 << STM_TIM234_CCER_CC4NP) | + (0 << STM_TIM234_CCER_CC4P) | + (CCER(4) << STM_TIM234_CCER_CC4E) | + (0 << STM_TIM234_CCER_CC3NP) | + (0 << STM_TIM234_CCER_CC3P) | + (CCER(3) << STM_TIM234_CCER_CC3E) | + (0 << STM_TIM234_CCER_CC2NP) | + (0 << STM_TIM234_CCER_CC2P) | + (CCER(2) << STM_TIM234_CCER_CC2E) | + (0 << STM_TIM234_CCER_CC1NP) | + (0 << STM_TIM234_CCER_CC1P) | + (CCER(1) << STM_TIM234_CCER_CC1E)); /* 5. Enable the counter by setting the CEN bit in the TIMx_CR1 register. */ - stm_tim3.cr1 = ((STM_TIM234_CR1_CKD_1 << STM_TIM234_CR1_CKD) | + stm_beeper.cr1 = ((STM_TIM234_CR1_CKD_1 << STM_TIM234_CR1_CKD) | (0 << STM_TIM234_CR1_ARPE) | (STM_TIM234_CR1_CMS_EDGE << STM_TIM234_CR1_CMS) | (0 << STM_TIM234_CR1_DIR) | @@ -127,12 +142,12 @@ ao_beep(uint8_t beep) (1 << STM_TIM234_CR1_CEN)); /* Update the values */ - stm_tim3.egr = (1 << STM_TIM234_EGR_UG); + stm_beeper.egr = (1 << STM_TIM234_EGR_UG); } } void -ao_beep_for(uint8_t beep, uint16_t ticks) +ao_beep_for(uint8_t beep, uint16_t ticks) { ao_beep(beep); ao_delay(ticks); @@ -142,24 +157,9 @@ ao_beep_for(uint8_t beep, uint16_t ticks) void ao_beep_init(void) { -#if BEEPER_CHANNEL == 1 - - /* Our beeper is on PC6, which is hooked to TIM3_CH1. - */ - stm_rcc.ahbenr |= (1 << STM_RCC_AHBENR_GPIOCEN); - - stm_afr_set(&stm_gpioc, 6, STM_AFR_AF2); -#endif -#if BEEPER_CHANNEL == 4 - - /* Our beeper is on PB1, which is hooked to TIM3_CH4. - */ - stm_rcc.ahbenr |= (1 << STM_RCC_AHBENR_GPIOBEN); - - stm_afr_set(&stm_gpiob, 1, STM_AFR_AF2); -#endif + ao_enable_port(BEEPER_PORT); + stm_afr_set(BEEPER_PORT, BEEPER_PIN, BEEPER_AFR); /* Leave the timer off until requested */ - - stm_rcc.apb1enr &= ~(1 << STM_RCC_APB1ENR_TIM3EN); + stm_rcc.apb1enr &= ~(1 << RCC_BEEPER); } diff --git a/src/stm/stm32l.h b/src/stm/stm32l.h index 1da817e7..0109ec81 100644 --- a/src/stm/stm32l.h +++ b/src/stm/stm32l.h @@ -241,15 +241,14 @@ stm_gpio_get_all(struct stm_gpio *gpio) { * ao_enable_gpio macro will expand into a huge pile of code * as the compiler won't do correct constant folding and * dead-code elimination + */ - extern struct stm_gpio stm_gpioa; - extern struct stm_gpio stm_gpiob; - extern struct stm_gpio stm_gpioc; - extern struct stm_gpio stm_gpiod; - extern struct stm_gpio stm_gpioe; - extern struct stm_gpio stm_gpioh; - -*/ +extern struct stm_gpio stm_gpioa; +extern struct stm_gpio stm_gpiob; +extern struct stm_gpio stm_gpioc; +extern struct stm_gpio stm_gpiod; +extern struct stm_gpio stm_gpioe; +extern struct stm_gpio stm_gpioh; #define stm_gpioh (*((struct stm_gpio *) 0x40021400)) #define stm_gpioe (*((struct stm_gpio *) 0x40021000)) diff --git a/src/teleballoon-v2.0/ao_pins.h b/src/teleballoon-v2.0/ao_pins.h index 4f27bad6..cb0ec838 100644 --- a/src/teleballoon-v2.0/ao_pins.h +++ b/src/teleballoon-v2.0/ao_pins.h @@ -74,6 +74,9 @@ #define HAS_BEEP 1 #define HAS_BATTERY_REPORT 1 #define BEEPER_CHANNEL 4 +#define BEEPER_TIMER 3 +#define BEEPER_PORT (&stm_gpiob) +#define BEEPER_PIN 1 #define HAS_RADIO 1 #define HAS_TELEMETRY 1 #define HAS_APRS 1 diff --git a/src/telefireeight-v1.0/ao_pins.h b/src/telefireeight-v1.0/ao_pins.h index ef533b36..c15e06bf 100644 --- a/src/telefireeight-v1.0/ao_pins.h +++ b/src/telefireeight-v1.0/ao_pins.h @@ -25,6 +25,10 @@ #define HAS_FLIGHT 0 #define HAS_USB 1 #define HAS_BEEP 0 +#define BEEPER_TIMER 3 +#define BEEPER_CHANNEL 1 +#define BEEPER_PORT (&stm_gpioc) +#define BEEPER_PIN 6 #define HAS_GPS 0 #define HAS_SERIAL_1 0 #define HAS_ADC 1 diff --git a/src/telefireone-v1.0/ao_pins.h b/src/telefireone-v1.0/ao_pins.h index d36d9d82..15b158ef 100644 --- a/src/telefireone-v1.0/ao_pins.h +++ b/src/telefireone-v1.0/ao_pins.h @@ -27,6 +27,7 @@ #define HAS_USB 1 #define HAS_BEEP 1 #define BEEPER_CHANNEL 4 +#define BEEPER_TIMER 3 #define HAS_GPS 0 #define HAS_SERIAL_1 0 #define HAS_ADC 1 diff --git a/src/telefiretwo-v0.2/ao_pins.h b/src/telefiretwo-v0.2/ao_pins.h index 469e9937..01faace2 100644 --- a/src/telefiretwo-v0.2/ao_pins.h +++ b/src/telefiretwo-v0.2/ao_pins.h @@ -27,6 +27,7 @@ #define HAS_USB 1 #define HAS_BEEP 1 #define BEEPER_CHANNEL 4 +#define BEEPER_TIMER 3 #define HAS_GPS 0 #define HAS_SERIAL_1 0 #define HAS_ADC 1 diff --git a/src/telelco-v0.2-cc1200/ao_pins.h b/src/telelco-v0.2-cc1200/ao_pins.h index bc325e06..f3850ebd 100644 --- a/src/telelco-v0.2-cc1200/ao_pins.h +++ b/src/telelco-v0.2-cc1200/ao_pins.h @@ -50,6 +50,10 @@ #define USE_STORAGE_CONFIG 0 #define HAS_USB 1 #define HAS_BEEP 1 +#define BEEPER_TIMER 3 +#define BEEPER_CHANNEL 1 +#define BEEPER_PORT (&stm_gpioc) +#define BEEPER_PIN 6 #define HAS_RADIO 1 #define HAS_RADIO_RATE 1 #define HAS_TELEMETRY 0 diff --git a/src/telelco-v0.2/ao_pins.h b/src/telelco-v0.2/ao_pins.h index f0da4fe4..3d06a647 100644 --- a/src/telelco-v0.2/ao_pins.h +++ b/src/telelco-v0.2/ao_pins.h @@ -48,6 +48,10 @@ #define USE_STORAGE_CONFIG 0 #define HAS_USB 1 #define HAS_BEEP 1 +#define BEEPER_TIMER 3 +#define BEEPER_CHANNEL 1 +#define BEEPER_PORT (&stm_gpioc) +#define BEEPER_PIN 6 #define HAS_RADIO 1 #define HAS_RADIO_RATE 1 #define HAS_TELEMETRY 0 diff --git a/src/telelco-v0.3/ao_pins.h b/src/telelco-v0.3/ao_pins.h index 6023739c..c806268f 100644 --- a/src/telelco-v0.3/ao_pins.h +++ b/src/telelco-v0.3/ao_pins.h @@ -50,6 +50,10 @@ #define USE_STORAGE_CONFIG 0 #define HAS_USB 1 #define HAS_BEEP 1 +#define BEEPER_TIMER 3 +#define BEEPER_CHANNEL 1 +#define BEEPER_PORT (&stm_gpioc) +#define BEEPER_PIN 6 #define HAS_RADIO 1 #define HAS_RADIO_RATE 1 #define HAS_TELEMETRY 0 diff --git a/src/telelco-v2.0/ao_pins.h b/src/telelco-v2.0/ao_pins.h index ea709c1d..e0663314 100644 --- a/src/telelco-v2.0/ao_pins.h +++ b/src/telelco-v2.0/ao_pins.h @@ -50,6 +50,10 @@ #define USE_STORAGE_CONFIG 0 #define HAS_USB 1 #define HAS_BEEP 1 +#define BEEPER_TIMER 3 +#define BEEPER_CHANNEL 1 +#define BEEPER_PORT (&stm_gpioc) +#define BEEPER_PIN 6 #define HAS_RADIO 1 #define HAS_RADIO_RATE 1 #define HAS_TELEMETRY 0 diff --git a/src/telelcotwo-v0.1/ao_pins.h b/src/telelcotwo-v0.1/ao_pins.h index 1941e03d..3ef88c74 100644 --- a/src/telelcotwo-v0.1/ao_pins.h +++ b/src/telelcotwo-v0.1/ao_pins.h @@ -51,6 +51,9 @@ #define HAS_USB 1 #define HAS_BEEP 1 #define BEEPER_CHANNEL 4 +#define BEEPER_TIMER 3 +#define BEEPER_PORT (&stm_gpiob) +#define BEEPER_PIN 1 #define HAS_RADIO 1 #define HAS_RADIO_RATE 1 #define HAS_TELEMETRY 0 diff --git a/src/telemega-v0.1/ao_pins.h b/src/telemega-v0.1/ao_pins.h index 64535c30..0208fafa 100644 --- a/src/telemega-v0.1/ao_pins.h +++ b/src/telemega-v0.1/ao_pins.h @@ -77,6 +77,10 @@ #define USE_STORAGE_CONFIG 0 #define HAS_USB 1 #define HAS_BEEP 1 +#define BEEPER_TIMER 3 +#define BEEPER_CHANNEL 1 +#define BEEPER_PORT (&stm_gpioc) +#define BEEPER_PIN 6 #define HAS_BATTERY_REPORT 1 #define HAS_RADIO 1 #define HAS_TELEMETRY 1 diff --git a/src/telemega-v1.0/ao_pins.h b/src/telemega-v1.0/ao_pins.h index 354da6a4..a154225e 100644 --- a/src/telemega-v1.0/ao_pins.h +++ b/src/telemega-v1.0/ao_pins.h @@ -77,6 +77,10 @@ #define USE_STORAGE_CONFIG 0 #define HAS_USB 1 #define HAS_BEEP 1 +#define BEEPER_TIMER 3 +#define BEEPER_CHANNEL 1 +#define BEEPER_PORT (&stm_gpioc) +#define BEEPER_PIN 6 #define HAS_BATTERY_REPORT 1 #define HAS_RADIO 1 #define HAS_TELEMETRY 1 diff --git a/src/telemega-v2.0/ao_pins.h b/src/telemega-v2.0/ao_pins.h index 46207884..ba302c74 100644 --- a/src/telemega-v2.0/ao_pins.h +++ b/src/telemega-v2.0/ao_pins.h @@ -77,6 +77,10 @@ #define USE_STORAGE_CONFIG 0 #define HAS_USB 1 #define HAS_BEEP 1 +#define BEEPER_TIMER 3 +#define BEEPER_CHANNEL 1 +#define BEEPER_PORT (&stm_gpioc) +#define BEEPER_PIN 6 #define HAS_BATTERY_REPORT 1 #define HAS_RADIO 1 #define HAS_TELEMETRY 1 diff --git a/src/telemega-v3.0/ao_pins.h b/src/telemega-v3.0/ao_pins.h index ddcd0eb9..ce223907 100644 --- a/src/telemega-v3.0/ao_pins.h +++ b/src/telemega-v3.0/ao_pins.h @@ -77,6 +77,10 @@ #define USE_STORAGE_CONFIG 0 #define HAS_USB 1 #define HAS_BEEP 1 +#define BEEPER_TIMER 3 +#define BEEPER_CHANNEL 1 +#define BEEPER_PORT (&stm_gpioc) +#define BEEPER_PIN 6 #define HAS_BATTERY_REPORT 1 #define HAS_RADIO 1 #define HAS_TELEMETRY 1 diff --git a/src/telemetrum-v2.0/ao_pins.h b/src/telemetrum-v2.0/ao_pins.h index 47f6dd2a..e8c97ff4 100644 --- a/src/telemetrum-v2.0/ao_pins.h +++ b/src/telemetrum-v2.0/ao_pins.h @@ -74,6 +74,9 @@ #define HAS_BEEP 1 #define HAS_BATTERY_REPORT 1 #define BEEPER_CHANNEL 4 +#define BEEPER_TIMER 3 +#define BEEPER_PORT (&stm_gpiob) +#define BEEPER_PIN 1 #define HAS_RADIO 1 #define HAS_TELEMETRY 1 #define HAS_APRS 1 diff --git a/src/telemetrum-v3.0/ao_pins.h b/src/telemetrum-v3.0/ao_pins.h index a8043bba..f4ccc9f3 100644 --- a/src/telemetrum-v3.0/ao_pins.h +++ b/src/telemetrum-v3.0/ao_pins.h @@ -74,6 +74,9 @@ #define HAS_BEEP 1 #define HAS_BATTERY_REPORT 1 #define BEEPER_CHANNEL 4 +#define BEEPER_TIMER 3 +#define BEEPER_PORT (&stm_gpiob) +#define BEEPER_PIN 1 #define HAS_RADIO 1 #define HAS_TELEMETRY 1 #define HAS_APRS 1 diff --git a/src/telemini-v3.0/ao_pins.h b/src/telemini-v3.0/ao_pins.h index 546d91e0..d91b1d21 100644 --- a/src/telemini-v3.0/ao_pins.h +++ b/src/telemini-v3.0/ao_pins.h @@ -74,9 +74,9 @@ #define AO_RECOVERY_VALUE 0 #define AO_RECOVERY_MODE AO_EXTI_MODE_PULL_UP -/* Beeper is on Tim1 CH3 */ +/* Beeper is on Tim3 CH4 */ #define BEEPER_CHANNEL 4 -#define BEEPER_TIMER 2 +#define BEEPER_TIMER 3 #define BEEPER_PORT (&stm_gpioa) #define BEEPER_PIN 3 -- 2.30.2