Skip to content

Commit 3209a13

Browse files
glennrubdpgeorge
authored andcommitted
nrf/modules: Align method to resolve pin object
machine/i2c already uses mp_hal_get_pin_obj which points to pin_find function in order to locate correct pin object to use. The pin_find function was recently updated to also being able to locate pins based on an integer value, such that pin number can be used as argument to object constructors. This patch modfies and uniforms pin object lookup for SPI, music and pwm.
1 parent 0f7da42 commit 3209a13

File tree

3 files changed

+7
-8
lines changed

3 files changed

+7
-8
lines changed

ports/nrf/modules/machine/pwm.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -237,8 +237,7 @@ STATIC mp_obj_t machine_hard_pwm_make_new(mp_arg_val_t *args) {
237237

238238
// check if PWM pin is set
239239
if (args[ARG_pin].u_obj != MP_OBJ_NULL) {
240-
pin_obj_t *pin_obj = args[ARG_pin].u_obj;
241-
self->p_config->pwm_pin = pin_obj->pin;
240+
self->p_config->pwm_pin = mp_hal_get_pin_obj(args[ARG_pin].u_obj)->pin;
242241
} else {
243242
// TODO: raise exception.
244243
}

ports/nrf/modules/machine/spi.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -285,9 +285,9 @@ STATIC mp_obj_t machine_hard_spi_make_new(mp_arg_val_t *args) {
285285
&& args[ARG_NEW_mosi].u_obj != MP_OBJ_NULL
286286
&& args[ARG_NEW_miso].u_obj != MP_OBJ_NULL) {
287287

288-
self->p_config->sck_pin = ((const pin_obj_t *)args[ARG_NEW_sck].u_obj)->pin;
289-
self->p_config->mosi_pin = ((const pin_obj_t *)args[ARG_NEW_mosi].u_obj)->pin;
290-
self->p_config->miso_pin = ((const pin_obj_t *)args[ARG_NEW_miso].u_obj)->pin;
288+
self->p_config->sck_pin = mp_hal_get_pin_obj(args[ARG_NEW_sck].u_obj)->pin;
289+
self->p_config->mosi_pin = mp_hal_get_pin_obj(args[ARG_NEW_mosi].u_obj)->pin;
290+
self->p_config->miso_pin = mp_hal_get_pin_obj(args[ARG_NEW_miso].u_obj)->pin;
291291
} else {
292292
self->p_config->sck_pin = MICROPY_HW_SPI0_SCK;
293293
self->p_config->mosi_pin = MICROPY_HW_SPI0_MOSI;

ports/nrf/modules/music/modmusic.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ STATIC mp_obj_t microbit_music_stop(mp_uint_t n_args, const mp_obj_t *args) {
282282
const pin_obj_t *pin;
283283
if (n_args == 0) {
284284
#ifdef MICROPY_HW_MUSIC_PIN
285-
pin = pin_find(MP_OBJ_NEW_SMALL_INT(MICROPY_HW_MUSIC_PIN));
285+
pin = mp_hal_get_pin_obj(MP_OBJ_NEW_SMALL_INT(MICROPY_HW_MUSIC_PIN));
286286
#else
287287
mp_raise_ValueError("pin parameter not given");
288288
#endif
@@ -335,7 +335,7 @@ STATIC mp_obj_t microbit_music_play(mp_uint_t n_args, const mp_obj_t *pos_args,
335335
const pin_obj_t *pin;
336336
if (args[1].u_obj == MP_OBJ_NULL) {
337337
#ifdef MICROPY_HW_MUSIC_PIN
338-
pin = pin_find(MP_OBJ_NEW_SMALL_INT(MICROPY_HW_MUSIC_PIN));
338+
pin = mp_hal_get_pin_obj(MP_OBJ_NEW_SMALL_INT(MICROPY_HW_MUSIC_PIN));
339339
#else
340340
mp_raise_ValueError("pin parameter not given");
341341
#endif
@@ -390,7 +390,7 @@ STATIC mp_obj_t microbit_music_pitch(mp_uint_t n_args, const mp_obj_t *pos_args,
390390
const pin_obj_t *pin;
391391
if (args[2].u_obj == MP_OBJ_NULL) {
392392
#ifdef MICROPY_HW_MUSIC_PIN
393-
pin = pin_find(MP_OBJ_NEW_SMALL_INT(MICROPY_HW_MUSIC_PIN));
393+
pin = mp_hal_get_pin_obj(MP_OBJ_NEW_SMALL_INT(MICROPY_HW_MUSIC_PIN));
394394
#else
395395
mp_raise_ValueError("pin parameter not given");
396396
#endif

0 commit comments

Comments
 (0)