diff options
| author | Phil Howard <phil@gadgetoid.com> | 2024-08-15 16:18:09 +0100 |
|---|---|---|
| committer | Damien George <damien@micropython.org> | 2024-10-15 12:19:52 +1100 |
| commit | 27904ae4b9003eac743d031499325f7680699990 (patch) | |
| tree | 402e8f9cae3929c830299d045200e38c8e583fbb | |
| parent | 8cc7c64d01a597da8190873432fcb6b267e6a1bb (diff) | |
rp2/machine_pwm: Add RP2350 slices to machine.PWM.
Signed-off-by: Phil Howard <phil@gadgetoid.com>
| -rw-r--r-- | ports/rp2/machine_pwm.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/ports/rp2/machine_pwm.c b/ports/rp2/machine_pwm.c index 4c0bc2c10..fd20be5ec 100644 --- a/ports/rp2/machine_pwm.c +++ b/ports/rp2/machine_pwm.c @@ -67,10 +67,20 @@ static machine_pwm_obj_t machine_pwm_obj[] = { {{&machine_pwm_type}, 6, PWM_CHAN_B, 0, DUTY_NOT_SET, 0 }, {{&machine_pwm_type}, 7, PWM_CHAN_A, 0, DUTY_NOT_SET, 0 }, {{&machine_pwm_type}, 7, PWM_CHAN_B, 0, DUTY_NOT_SET, 0 }, + #if NUM_PWM_SLICES == 12 + {{&machine_pwm_type}, 8, PWM_CHAN_A, 0, DUTY_NOT_SET, 0 }, + {{&machine_pwm_type}, 8, PWM_CHAN_B, 0, DUTY_NOT_SET, 0 }, + {{&machine_pwm_type}, 9, PWM_CHAN_A, 0, DUTY_NOT_SET, 0 }, + {{&machine_pwm_type}, 9, PWM_CHAN_B, 0, DUTY_NOT_SET, 0 }, + {{&machine_pwm_type}, 10, PWM_CHAN_A, 0, DUTY_NOT_SET, 0 }, + {{&machine_pwm_type}, 10, PWM_CHAN_B, 0, DUTY_NOT_SET, 0 }, + {{&machine_pwm_type}, 11, PWM_CHAN_A, 0, DUTY_NOT_SET, 0 }, + {{&machine_pwm_type}, 11, PWM_CHAN_B, 0, DUTY_NOT_SET, 0 }, + #endif }; static bool defer_start; -static bool slice_freq_set[8]; +static bool slice_freq_set[NUM_PWM_SLICES]; static void mp_machine_pwm_freq_set(machine_pwm_obj_t *self, mp_int_t freq); static void mp_machine_pwm_duty_set_u16(machine_pwm_obj_t *self, mp_int_t duty_u16); @@ -155,7 +165,7 @@ static mp_obj_t mp_machine_pwm_make_new(const mp_obj_type_t *type, size_t n_args // Stop all active slices. void machine_pwm_deinit_all(void) { - for (int i = 0; i < 8; i++) { + for (int i = 0; i < NUM_PWM_SLICES; i++) { slice_freq_set[i] = false; pwm_set_enabled(machine_pwm_obj[i].slice, false); } |
