@@ -67,10 +67,20 @@ static machine_pwm_obj_t machine_pwm_obj[] = {
67
67
{{& machine_pwm_type }, 6 , PWM_CHAN_B , 0 , DUTY_NOT_SET , 0 },
68
68
{{& machine_pwm_type }, 7 , PWM_CHAN_A , 0 , DUTY_NOT_SET , 0 },
69
69
{{& machine_pwm_type }, 7 , PWM_CHAN_B , 0 , DUTY_NOT_SET , 0 },
70
+ #if NUM_PWM_SLICES == 12
71
+ {{& machine_pwm_type }, 8 , PWM_CHAN_A , 0 , DUTY_NOT_SET , 0 },
72
+ {{& machine_pwm_type }, 8 , PWM_CHAN_B , 0 , DUTY_NOT_SET , 0 },
73
+ {{& machine_pwm_type }, 9 , PWM_CHAN_A , 0 , DUTY_NOT_SET , 0 },
74
+ {{& machine_pwm_type }, 9 , PWM_CHAN_B , 0 , DUTY_NOT_SET , 0 },
75
+ {{& machine_pwm_type }, 10 , PWM_CHAN_A , 0 , DUTY_NOT_SET , 0 },
76
+ {{& machine_pwm_type }, 10 , PWM_CHAN_B , 0 , DUTY_NOT_SET , 0 },
77
+ {{& machine_pwm_type }, 11 , PWM_CHAN_A , 0 , DUTY_NOT_SET , 0 },
78
+ {{& machine_pwm_type }, 11 , PWM_CHAN_B , 0 , DUTY_NOT_SET , 0 },
79
+ #endif
70
80
};
71
81
72
82
static bool defer_start ;
73
- static bool slice_freq_set [8 ];
83
+ static bool slice_freq_set [NUM_PWM_SLICES ];
74
84
75
85
static void mp_machine_pwm_freq_set (machine_pwm_obj_t * self , mp_int_t freq );
76
86
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
155
165
156
166
// Stop all active slices.
157
167
void machine_pwm_deinit_all (void ) {
158
- for (int i = 0 ; i < 8 ; i ++ ) {
168
+ for (int i = 0 ; i < NUM_PWM_SLICES ; i ++ ) {
159
169
slice_freq_set [i ] = false;
160
170
pwm_set_enabled (machine_pwm_obj [i ].slice , false);
161
171
}
0 commit comments