@@ -150,7 +150,7 @@ mp_obj_t machine_hw_i2c_make_new(const mp_obj_type_t *type, size_t n_args, size_
150
150
// Parse args
151
151
enum { ARG_id , ARG_scl , ARG_sda , ARG_freq , ARG_timeout };
152
152
static const mp_arg_t allowed_args [] = {
153
- { MP_QSTR_id , MP_ARG_OBJ , {.u_obj = MP_OBJ_NULL } },
153
+ { MP_QSTR_id , MP_ARG_INT , {.u_int = I2C_NUM_0 } },
154
154
{ MP_QSTR_scl , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_obj = MP_OBJ_NULL } },
155
155
{ MP_QSTR_sda , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_obj = MP_OBJ_NULL } },
156
156
{ MP_QSTR_freq , MP_ARG_KW_ONLY | MP_ARG_INT , {.u_int = 400000 } },
@@ -160,13 +160,7 @@ mp_obj_t machine_hw_i2c_make_new(const mp_obj_type_t *type, size_t n_args, size_
160
160
mp_arg_parse_all_kw_array (n_args , n_kw , all_args , MP_ARRAY_SIZE (allowed_args ), allowed_args , args );
161
161
162
162
// Get I2C bus
163
- // Bus ID - use I2C bus 0 as default
164
- mp_int_t i2c_id = I2C_NUM_0 ;
165
-
166
- // User provided a value?
167
- if (args [ARG_id ].u_obj != MP_OBJ_NULL ) {
168
- i2c_id = mp_obj_get_int (args [ARG_id ].u_obj );
169
- }
163
+ mp_int_t i2c_id = args [ARG_id ].u_int ;
170
164
171
165
// Check if the I2C bus is valid
172
166
if (!(I2C_NUM_0 <= i2c_id && i2c_id < I2C_NUM_MAX )) {
0 commit comments