diff options
| author | Dan Halbert <halbert@halwitz.org> | 2018-05-10 23:09:51 -0400 |
|---|---|---|
| committer | Dan Halbert <halbert@halwitz.org> | 2018-05-10 23:09:51 -0400 |
| commit | 240659da0e551efff91094f9462d3d7ef9c595a8 (patch) | |
| tree | 2f6cec24d361f469f720871984ef12b89df5e36c | |
| parent | e4ec672464c9b982d380c66a44111480d86227de (diff) | |
PBxx pins were not setting DRVSTR or reporting PULL properly
| -rw-r--r-- | ports/atmel-samd/common-hal/digitalio/DigitalInOut.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/ports/atmel-samd/common-hal/digitalio/DigitalInOut.c b/ports/atmel-samd/common-hal/digitalio/DigitalInOut.c index 109f14b04..cd0e3f91e 100644 --- a/ports/atmel-samd/common-hal/digitalio/DigitalInOut.c +++ b/ports/atmel-samd/common-hal/digitalio/DigitalInOut.c @@ -72,7 +72,7 @@ void common_hal_digitalio_digitalinout_switch_to_output( gpio_set_pin_direction(pin, GPIO_DIRECTION_OUT); // Turn on "strong" pin driving (more current available). See DRVSTR doc in datasheet. - hri_port_set_PINCFG_DRVSTR_bit(PORT, (enum gpio_port)GPIO_PORT(pin), pin); + hri_port_set_PINCFG_DRVSTR_bit(PORT, (enum gpio_port)GPIO_PORT(pin), GPIO_PIN(pin)); self->output = true; self->open_drain = drive_mode == DRIVE_MODE_OPEN_DRAIN; @@ -158,7 +158,7 @@ digitalio_pull_t common_hal_digitalio_digitalinout_get_pull( mp_raise_AttributeError("Cannot get pull while in output mode"); return PULL_NONE; } else { - if (hri_port_get_PINCFG_PULLEN_bit(PORT, (enum gpio_port)GPIO_PORT(pin), pin) == 0) { + if (hri_port_get_PINCFG_PULLEN_bit(PORT, (enum gpio_port)GPIO_PORT(pin), GPIO_PIN(pin)) == 0) { return PULL_NONE; } if (hri_port_get_OUT_reg(PORT, (enum gpio_port)GPIO_PORT(pin), 1U << GPIO_PIN(pin)) > 0) { return PULL_UP; |
