summaryrefslogtreecommitdiff
path: root/shared-module
diff options
context:
space:
mode:
authorDan Halbert <halbert@halwitz.org>2019-10-26 16:06:02 -0400
committerDan Halbert <halbert@halwitz.org>2019-10-26 16:06:02 -0400
commitd0044c74b626cee32077789697f1bf73bae96fe7 (patch)
tree93a7426696d1646b0574665a751ae758f9ef4183 /shared-module
parentab6fd34828d0cf33ac10375cb68ea1c71e08c657 (diff)
bitbangio.SPI was not setting direction of output pins
Diffstat (limited to 'shared-module')
-rw-r--r--shared-module/bitbangio/SPI.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/shared-module/bitbangio/SPI.c b/shared-module/bitbangio/SPI.c
index 6d3a28523..d02adf34f 100644
--- a/shared-module/bitbangio/SPI.c
+++ b/shared-module/bitbangio/SPI.c
@@ -43,6 +43,8 @@ void shared_module_bitbangio_spi_construct(bitbangio_spi_obj_t *self,
if (result != DIGITALINOUT_OK) {
mp_raise_ValueError(translate("Clock pin init failed."));
}
+ common_hal_digitalio_digitalinout_switch_to_output(&self->clock, self->polarity == 1, DRIVE_MODE_PUSH_PULL);
+
if (mosi != mp_const_none) {
result = common_hal_digitalio_digitalinout_construct(&self->mosi, mosi);
if (result != DIGITALINOUT_OK) {
@@ -50,8 +52,11 @@ void shared_module_bitbangio_spi_construct(bitbangio_spi_obj_t *self,
mp_raise_ValueError(translate("MOSI pin init failed."));
}
self->has_mosi = true;
+ common_hal_digitalio_digitalinout_switch_to_output(&self->mosi, false, DRIVE_MODE_PUSH_PULL);
}
+
if (miso != mp_const_none) {
+ // Starts out as input by default, no need to change.
result = common_hal_digitalio_digitalinout_construct(&self->miso, miso);
if (result != DIGITALINOUT_OK) {
common_hal_digitalio_digitalinout_deinit(&self->clock);