summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Halbert <halbert@halwitz.org>2017-10-16 18:28:38 -0400
committerScott Shawcroft <scott@tannewt.org>2017-10-16 22:13:09 -0700
commit4f4ddf00dcce450aaa79da2cdab25fad674926f9 (patch)
treeb543e63fd7acdbae64aa9895470aa3762c20c219
parentc6a15f76adfe0a3627fd42f6a4a5f2c45be51b35 (diff)
Set DRVSTR on output pins to strong (more current capability).
-rw-r--r--atmel-samd/common-hal/digitalio/DigitalInOut.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/atmel-samd/common-hal/digitalio/DigitalInOut.c b/atmel-samd/common-hal/digitalio/DigitalInOut.c
index abb4547cc..16654f0fe 100644
--- a/atmel-samd/common-hal/digitalio/DigitalInOut.c
+++ b/atmel-samd/common-hal/digitalio/DigitalInOut.c
@@ -80,6 +80,9 @@ void common_hal_digitalio_digitalinout_switch_to_output(
pin_conf.input_pull = PORT_PIN_PULL_NONE;
port_pin_set_config(self->pin->pin, &pin_conf);
+ // Turn on "strong" pin driving (more current available). See DRVSTR doc in datasheet.
+ system_pinmux_pin_set_output_strength(self->pin->pin, SYSTEM_PINMUX_PIN_STRENGTH_HIGH);
+
self->output = true;
self->open_drain = drive_mode == DRIVE_MODE_OPEN_DRAIN;
common_hal_digitalio_digitalinout_set_value(self, value);