Skip to content

Commit a7261ae

Browse files
author
Daniel Campora
committed
cc3200/mods: Use mp_obj_get_array_fixed_n() where applicable.
1 parent 635ef16 commit a7261ae

3 files changed

Lines changed: 6 additions & 18 deletions

File tree

cc3200/mods/pybi2c.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -292,17 +292,13 @@ STATIC mp_obj_t pyb_i2c_init_helper(pyb_i2c_obj_t *self, const mp_arg_val_t *arg
292292
mp_obj_t pins_o = args[2].u_obj;
293293
if (pins_o != mp_const_none) {
294294
mp_obj_t *pins;
295-
mp_uint_t n_pins = 2;
296295
if (pins_o == MP_OBJ_NULL) {
297296
// use the default pins
298297
pins = (mp_obj_t *)pyb_i2c_def_pin;
299298
} else {
300-
mp_obj_get_array(pins_o, &n_pins, &pins);
301-
if (n_pins != 2) {
302-
goto invalid_args;
303-
}
299+
mp_obj_get_array_fixed_n(pins_o, 2, &pins);
304300
}
305-
pin_assign_pins_af (pins, n_pins, PIN_TYPE_STD_PU, PIN_FN_I2C, 0);
301+
pin_assign_pins_af (pins, 2, PIN_TYPE_STD_PU, PIN_FN_I2C, 0);
306302
}
307303

308304
// init the I2C bus

cc3200/mods/pybsd.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -95,17 +95,13 @@ STATIC mp_obj_t pyb_sd_init_helper (pybsd_obj_t *self, const mp_arg_val_t *args)
9595
mp_obj_t pins_o = args[0].u_obj;
9696
if (pins_o != mp_const_none) {
9797
mp_obj_t *pins;
98-
mp_uint_t n_pins = MP_ARRAY_SIZE(pyb_sd_def_pin);
9998
if (pins_o == MP_OBJ_NULL) {
10099
// use the default pins
101100
pins = (mp_obj_t *)pyb_sd_def_pin;
102101
} else {
103-
mp_obj_get_array(pins_o, &n_pins, &pins);
104-
if (n_pins != MP_ARRAY_SIZE(pyb_sd_def_pin)) {
105-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, mpexception_value_invalid_arguments));
106-
}
102+
mp_obj_get_array_fixed_n(pins_o, MP_ARRAY_SIZE(pyb_sd_def_pin), &pins);
107103
}
108-
pin_assign_pins_af (pins, n_pins, PIN_TYPE_STD_PU, PIN_FN_SD, 0);
104+
pin_assign_pins_af (pins, MP_ARRAY_SIZE(pyb_sd_def_pin), PIN_TYPE_STD_PU, PIN_FN_SD, 0);
109105
// save the pins clock
110106
self->pin_clk = pin_find(pins[0]);
111107
}

cc3200/mods/pybspi.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -201,17 +201,13 @@ STATIC mp_obj_t pyb_spi_init_helper(pyb_spi_obj_t *self, const mp_arg_val_t *arg
201201
mp_obj_t pins_o = args[6].u_obj;
202202
if (pins_o != mp_const_none) {
203203
mp_obj_t *pins;
204-
mp_uint_t n_pins = 3;
205204
if (pins_o == MP_OBJ_NULL) {
206205
// use the default pins
207206
pins = (mp_obj_t *)pyb_spi_def_pin;
208207
} else {
209-
mp_obj_get_array(pins_o, &n_pins, &pins);
210-
if (n_pins != 3) {
211-
goto invalid_args;
212-
}
208+
mp_obj_get_array_fixed_n(pins_o, 3, &pins);
213209
}
214-
pin_assign_pins_af (pins, n_pins, PIN_TYPE_STD_PU, PIN_FN_SPI, 0);
210+
pin_assign_pins_af (pins, 3, PIN_TYPE_STD_PU, PIN_FN_SPI, 0);
215211
}
216212

217213
// init the bus

0 commit comments

Comments
 (0)