From: gugray Date: Tue, 10 Jan 2023 21:33:29 +0000 (+0100) Subject: fixes 161: sets both CCBUF and PERFBUF for correct buzzer tone (#162) X-Git-Url: https://git.earman.xyz/?a=commitdiff_plain;h=18de75be5a1391c00b772a669b3583b8567fa194;p=sensor-watch.git fixes 161: sets both CCBUF and PERFBUF for correct buzzer tone (#162) --- diff --git a/watch-library/hardware/watch/watch_buzzer.c b/watch-library/hardware/watch/watch_buzzer.c index 7a5f170..0730348 100644 --- a/watch-library/hardware/watch/watch_buzzer.c +++ b/watch-library/hardware/watch/watch_buzzer.c @@ -32,6 +32,7 @@ } inline void watch_set_buzzer_period(uint32_t period) { hri_tcc_write_PERBUF_reg(TCC0, period); + hri_tcc_write_CCBUF_reg(TCC0, WATCH_BUZZER_TCC_CHANNEL, period / 2); } void watch_disable_buzzer(void) { @@ -53,8 +54,7 @@ void watch_buzzer_play_note(BuzzerNote note, uint16_t duration_ms) { if (note == BUZZER_NOTE_REST) { watch_set_buzzer_off(); } else { - hri_tcc_write_PERBUF_reg(TCC0, NotePeriods[note]); - hri_tcc_write_CCBUF_reg(TCC0, WATCH_BUZZER_TCC_CHANNEL, NotePeriods[note] / 2); + watch_set_buzzer_period(NotePeriods[note]); watch_set_buzzer_on(); } delay_ms(duration_ms);