4040//| def __init__(
4141//| self,
4242//| mac: bytes,
43+ //| *,
4344//| lmk: Optional[bytes],
4445//| channel: int = 0,
4546//| interface: int = 0,
@@ -58,10 +59,10 @@ STATIC mp_obj_t espnow_peer_make_new(const mp_obj_type_t *type, size_t n_args, s
5859 enum { ARG_mac , ARG_lmk , ARG_channel , ARG_interface , ARG_encrypt };
5960 static const mp_arg_t allowed_args [] = {
6061 { MP_QSTR_mac , MP_ARG_OBJ | MP_ARG_REQUIRED },
61- { MP_QSTR_lmk , MP_ARG_OBJ , { .u_obj = mp_const_none } },
62- { MP_QSTR_channel , MP_ARG_INT , { .u_obj = mp_const_none } },
63- { MP_QSTR_interface ,MP_ARG_INT , { .u_obj = mp_const_none } },
64- { MP_QSTR_encrypt , MP_ARG_BOOL ,{ .u_obj = mp_const_none } },
62+ { MP_QSTR_lmk , MP_ARG_OBJ | MP_ARG_KW_ONLY , { .u_obj = mp_const_none } },
63+ { MP_QSTR_channel , MP_ARG_INT | MP_ARG_KW_ONLY , { .u_int = 0 } },
64+ { MP_QSTR_interface ,MP_ARG_INT | MP_ARG_KW_ONLY , { .u_int = 0 } },
65+ { MP_QSTR_encrypt , MP_ARG_BOOL | MP_ARG_KW_ONLY ,{ .u_bool = false } },
6566 };
6667
6768 mp_arg_val_t args [MP_ARRAY_SIZE (allowed_args )];
@@ -77,20 +78,11 @@ STATIC mp_obj_t espnow_peer_make_new(const mp_obj_type_t *type, size_t n_args, s
7778
7879 memcpy (self -> peer_info .peer_addr , common_hal_espnow_get_bytes_len (args [ARG_mac ].u_obj , ESP_NOW_ETH_ALEN ), ESP_NOW_ETH_ALEN );
7980
80- const mp_obj_t channel = args [ARG_channel ].u_obj ;
81- if (channel != mp_const_none ) {
82- self -> peer_info .channel = mp_arg_validate_int_range (mp_obj_get_int (channel ), 0 , 14 , MP_QSTR_channel );
83- }
81+ self -> peer_info .channel = mp_arg_validate_int_range (args [ARG_channel ].u_int , 0 , 14 , MP_QSTR_channel );
8482
85- const mp_obj_t interface = args [ARG_interface ].u_obj ;
86- if (interface != mp_const_none ) {
87- self -> peer_info .ifidx = (wifi_interface_t )mp_arg_validate_int_range (mp_obj_get_int (interface ), 0 , 1 , MP_QSTR_interface );
88- }
83+ self -> peer_info .ifidx = (wifi_interface_t )mp_arg_validate_int_range (args [ARG_interface ].u_int , 0 , 1 , MP_QSTR_interface );
8984
90- const mp_obj_t encrypt = args [ARG_encrypt ].u_obj ;
91- if (encrypt != mp_const_none ) {
92- self -> peer_info .encrypt = mp_obj_is_true (encrypt );
93- }
85+ self -> peer_info .encrypt = args [ARG_encrypt ].u_bool ;
9486
9587 const mp_obj_t lmk = args [ARG_lmk ].u_obj ;
9688 if (lmk != mp_const_none ) {
0 commit comments