@@ -95,17 +95,10 @@ STATIC mp_obj_t bleio_adapter_make_new(const mp_obj_type_t *type, size_t n_args,
95
95
mp_arg_val_t args [MP_ARRAY_SIZE (allowed_args )];
96
96
mp_arg_parse_all (n_args , pos_args , kw_args , MP_ARRAY_SIZE (allowed_args ), allowed_args , args );
97
97
98
- busio_uart_obj_t * uart = args [ARG_uart ].u_obj ;
99
- if (!mp_obj_is_type (uart , & busio_uart_type )) {
100
- mp_raise_ValueError (translate ("Expected a UART" ));
101
- }
98
+ busio_uart_obj_t * uart = mp_arg_validate_type (args [ARG_uart ].u_obj , & busio_uart_type , MP_QSTR_uart );
102
99
103
- digitalio_digitalinout_obj_t * rts = args [ARG_rts ].u_obj ;
104
- digitalio_digitalinout_obj_t * cts = args [ARG_cts ].u_obj ;
105
- if (!mp_obj_is_type (rts , & digitalio_digitalinout_type ) ||
106
- !mp_obj_is_type (cts , & digitalio_digitalinout_type )) {
107
- mp_raise_ValueError (translate ("Expected a DigitalInOut" ));
108
- }
100
+ digitalio_digitalinout_obj_t * rts = mp_arg_validate_type (args [ARG_rts ].u_obj , & digitalio_digitalinout_type , MP_QSTR_rts );
101
+ digitalio_digitalinout_obj_t * cts = mp_arg_validate_type (args [ARG_cts ].u_obj , & digitalio_digitalinout_type , MP_QSTR_cts );
109
102
110
103
// Will enable the adapter.
111
104
common_hal_bleio_adapter_construct_hci_uart (self , uart , rts , cts );
@@ -257,15 +250,11 @@ STATIC mp_obj_t bleio_adapter_start_advertising(mp_uint_t n_args, const mp_obj_t
257
250
mp_raise_bleio_BluetoothError (translate ("Cannot have scan responses for extended, connectable advertisements." ));
258
251
}
259
252
260
- bleio_address_obj_t * address = MP_OBJ_TO_PTR (args [ARG_directed_to ].u_obj );
253
+ const bleio_address_obj_t * address = mp_arg_validate_type (args [ARG_directed_to ].u_obj , & bleio_address_type , MP_QSTR_directed_to );
261
254
if (address != NULL && !connectable ) {
262
255
mp_raise_bleio_BluetoothError (translate ("Only connectable advertisements can be directed" ));
263
256
}
264
257
265
- if (address != NULL && !mp_obj_is_type (address , & bleio_address_type )) {
266
- mp_raise_TypeError (translate ("Expected an Address" ));
267
- }
268
-
269
258
common_hal_bleio_adapter_start_advertising (self , connectable , anonymous , timeout , interval ,
270
259
& data_bufinfo , & scan_response_bufinfo , args [ARG_tx_power ].u_int , address );
271
260
@@ -447,11 +436,7 @@ STATIC mp_obj_t bleio_adapter_connect(mp_uint_t n_args, const mp_obj_t *pos_args
447
436
mp_arg_val_t args [MP_ARRAY_SIZE (allowed_args )];
448
437
mp_arg_parse_all (n_args - 1 , pos_args + 1 , kw_args , MP_ARRAY_SIZE (allowed_args ), allowed_args , args );
449
438
450
- if (!mp_obj_is_type (args [ARG_address ].u_obj , & bleio_address_type )) {
451
- mp_raise_TypeError (translate ("Expected an Address" ));
452
- }
453
-
454
- bleio_address_obj_t * address = MP_OBJ_TO_PTR (args [ARG_address ].u_obj );
439
+ bleio_address_obj_t * address = mp_arg_validate_type (args [ARG_address ].u_obj , & bleio_address_type , MP_QSTR_address );
455
440
mp_float_t timeout = mp_obj_get_float (args [ARG_timeout ].u_obj );
456
441
457
442
return common_hal_bleio_adapter_connect (self , address , timeout );
0 commit comments