4343/******************************************************************************/
4444// MicroPython bindings for generic machine.SPI
4545
46- STATIC mp_obj_t mp_machine_soft_spi_make_new (const mp_obj_type_t * type , size_t n_args , size_t n_kw , const mp_obj_t * all_args );
46+ STATIC mp_obj_t mp_machine_soft_spi_make_new (const mp_obj_type_t * type , size_t n_args , const mp_obj_t * pos_args , mp_map_t * kw_args );
4747
48- mp_obj_t mp_machine_spi_make_new (const mp_obj_type_t * type , size_t n_args , size_t n_kw , const mp_obj_t * args ) {
48+ mp_obj_t mp_machine_spi_make_new (const mp_obj_type_t * type , size_t n_args , const mp_obj_t * args , mp_map_t * kw_args ) {
4949 // check the id argument, if given
5050 if (n_args > 0 ) {
5151 if (args [0 ] != MP_OBJ_NEW_SMALL_INT (-1 )) {
5252 #if defined(MICROPY_PY_MACHINE_SPI_MAKE_NEW )
5353 // dispatch to port-specific constructor
54- extern mp_obj_t MICROPY_PY_MACHINE_SPI_MAKE_NEW (const mp_obj_type_t * type , size_t n_args , size_t n_kw , const mp_obj_t * all_args );
55- return MICROPY_PY_MACHINE_SPI_MAKE_NEW (type , n_args , n_kw , args );
54+ extern mp_obj_t MICROPY_PY_MACHINE_SPI_MAKE_NEW (const mp_obj_type_t * type , size_t n_args , const mp_obj_t * pos_args , mp_map_t * kw_args );
55+ return MICROPY_PY_MACHINE_SPI_MAKE_NEW (type , n_args , args , kw_args );
5656 #else
5757 mp_raise_ValueError (translate ("invalid SPI peripheral" ));
5858 #endif
@@ -62,7 +62,7 @@ mp_obj_t mp_machine_spi_make_new(const mp_obj_type_t *type, size_t n_args, size_
6262 }
6363
6464 // software SPI
65- return mp_machine_soft_spi_make_new (type , n_args , n_kw , args );
65+ return mp_machine_soft_spi_make_new (type , n_args , args , kw_args );
6666}
6767
6868STATIC mp_obj_t machine_spi_init (size_t n_args , const mp_obj_t * args , mp_map_t * kw_args ) {
@@ -180,7 +180,7 @@ STATIC void mp_machine_soft_spi_print(const mp_print_t *print, mp_obj_t self_in,
180180 mp_hal_pin_name (self -> spi .sck ), mp_hal_pin_name (self -> spi .mosi ), mp_hal_pin_name (self -> spi .miso ));
181181}
182182
183- STATIC mp_obj_t mp_machine_soft_spi_make_new (const mp_obj_type_t * type , size_t n_args , size_t n_kw , const mp_obj_t * all_args ) {
183+ STATIC mp_obj_t mp_machine_soft_spi_make_new (const mp_obj_type_t * type , size_t n_args , const mp_obj_t * all_args , mp_map_t * kw_args ) {
184184 enum { ARG_baudrate , ARG_polarity , ARG_phase , ARG_bits , ARG_firstbit , ARG_sck , ARG_mosi , ARG_miso };
185185 static const mp_arg_t allowed_args [] = {
186186 { MP_QSTR_baudrate , MP_ARG_INT , {.u_int = 500000 } },
@@ -193,7 +193,7 @@ STATIC mp_obj_t mp_machine_soft_spi_make_new(const mp_obj_type_t *type, size_t n
193193 { MP_QSTR_miso , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_obj = MP_OBJ_NULL } },
194194 };
195195 mp_arg_val_t args [MP_ARRAY_SIZE (allowed_args )];
196- mp_arg_parse_all_kw_array (n_args , n_kw , all_args , MP_ARRAY_SIZE (allowed_args ), allowed_args , args );
196+ mp_arg_parse_all (n_args , all_args , kw_args , MP_ARRAY_SIZE (allowed_args ), allowed_args , args );
197197
198198 // create new object
199199 mp_machine_soft_spi_obj_t * self = m_new_obj (mp_machine_soft_spi_obj_t );
0 commit comments