From afaa87daeca3d6a41332a18ecf64b79a912a21b3 Mon Sep 17 00:00:00 2001 From: Tom-on64 Date: Fri, 24 Apr 2026 16:57:53 +0200 Subject: [PATCH] Added PWM --- pwm.c | 21 +++++++++++++++++++++ pwm.h | 4 ++++ 2 files changed, 25 insertions(+) create mode 100644 pwm.c create mode 100644 pwm.h diff --git a/pwm.c b/pwm.c new file mode 100644 index 0000000..bcc2e1b --- /dev/null +++ b/pwm.c @@ -0,0 +1,21 @@ +#include +#include + +#include "const.h" + +#include "pwm.h" + +void pwm_isr(void) { + static uint slice = -1, chan = -1; + if (slice == -1) slice = pwm_gpio_to_slice_num(AUDIO_OUT); + if (chan == -1) chan = pwm_gpio_to_channel(AUDIO_OUT); + + pwm_clear_irq(slice); + + // TODO: + float sample = 0.0f; + + uint16_t level = (uint16_t)((sample + 1.0f) * 0.5f * 3400.0f); + pwm_set_chan_level(slice, chan, level); +} + diff --git a/pwm.h b/pwm.h new file mode 100644 index 0000000..7a5fae3 --- /dev/null +++ b/pwm.h @@ -0,0 +1,4 @@ +#pragma once + +void pwm_isr(void); +