From 67c6544d28d8252f1944c84434f22c7c3e5e5209 Mon Sep 17 00:00:00 2001 From: jgromes Date: Sun, 1 Dec 2019 08:12:04 +0100 Subject: [PATCH] Added check for -1 in pinMode --- src/Module.cpp | 16 +++++++++++----- src/Module.h | 2 ++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/Module.cpp b/src/Module.cpp index 84e3cf54..1f62f29e 100644 --- a/src/Module.cpp +++ b/src/Module.cpp @@ -56,7 +56,7 @@ void Module::init(uint8_t interface, uint8_t gpio) { // select interface switch(interface) { case RADIOLIB_USE_SPI: - pinMode(_cs, OUTPUT); + setPin(_cs, OUTPUT); digitalWrite(_cs, HIGH); _spi->begin(); break; @@ -76,14 +76,14 @@ void Module::init(uint8_t interface, uint8_t gpio) { case RADIOLIB_INT_NONE: break; case RADIOLIB_INT_0: - pinMode(_int0, INPUT); + setPin(_int0, INPUT); break; case RADIOLIB_INT_1: - pinMode(_int1, INPUT); + setPin(_int1, INPUT); break; case RADIOLIB_INT_BOTH: - pinMode(_int0, INPUT); - pinMode(_int1, INPUT); + setPin(_int0, INPUT); + setPin(_int1, INPUT); break; } } @@ -252,3 +252,9 @@ void Module::SPItransfer(uint8_t cmd, uint8_t reg, uint8_t* dataOut, uint8_t* da // end SPI transaction _spi->endTransaction(); } + +void Module::setPin(int16_t pin, uint8_t mode) { + if(pin != -1) { + pinMode(pin, mode); + } +} diff --git a/src/Module.h b/src/Module.h index d4b55321..f23df0ec 100644 --- a/src/Module.h +++ b/src/Module.h @@ -323,6 +323,8 @@ class Module { SPISettings _spiSettings; uint32_t _ATtimeout = 15000; + + void setPin(int16_t pin, uint8_t mode); }; #endif