File tree Expand file tree Collapse file tree
atmel-samd/common-hal/nativeio Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -175,7 +175,7 @@ enum digitalinout_pull_t common_hal_nativeio_digitalinout_get_pull(
175175 "Cannot get pull while in output mode." ));
176176 return PULL_NONE ;
177177 } else {
178- if (port_base -> PINCFG [pin % 32 ].bit .PULLEN ! = 0 ) {
178+ if (port_base -> PINCFG [pin % 32 ].bit .PULLEN = = 0 ) {
179179 return PULL_NONE ;
180180 } if ((port_base -> OUT .reg & pin_mask ) > 0 ) {
181181 return PULL_UP ;
Original file line number Diff line number Diff line change @@ -302,14 +302,20 @@ STATIC mp_obj_t nativeio_digitalinout_obj_get_pull(mp_obj_t self_in) {
302302}
303303MP_DEFINE_CONST_FUN_OBJ_1 (nativeio_digitalinout_get_pull_obj , nativeio_digitalinout_obj_get_pull );
304304
305- STATIC mp_obj_t nativeio_digitalinout_obj_set_pull (mp_obj_t self_in , mp_obj_t pull ) {
305+ STATIC mp_obj_t nativeio_digitalinout_obj_set_pull (mp_obj_t self_in , mp_obj_t pull_obj ) {
306306 nativeio_digitalinout_obj_t * self = MP_OBJ_TO_PTR (self_in );
307307 if (common_hal_nativeio_digitalinout_get_direction (self ) == DIRECTION_OUT ) {
308308 nlr_raise (mp_obj_new_exception_msg (& mp_type_OSError ,
309309 "Pull not used when direction is output." ));
310310 return mp_const_none ;
311311 }
312- common_hal_nativeio_digitalinout_set_pull (self , (enum digitalinout_pull_t ) MP_OBJ_SMALL_INT_VALUE (pull ));
312+ enum digitalinout_pull_t pull = PULL_NONE ;
313+ if (pull_obj == & nativeio_digitalinout_pull_up_obj ) {
314+ pull = PULL_UP ;
315+ } else if (pull_obj == & nativeio_digitalinout_pull_down_obj ) {
316+ pull = PULL_DOWN ;
317+ }
318+ common_hal_nativeio_digitalinout_set_pull (self , pull );
313319 return mp_const_none ;
314320}
315321MP_DEFINE_CONST_FUN_OBJ_2 (nativeio_digitalinout_set_pull_obj , nativeio_digitalinout_obj_set_pull );
You can’t perform that action at this time.
0 commit comments