diff --git a/KMP_MCP23S08.cpp b/KMP_MCP23S08.cpp index 5d362bf..2b1c944 100644 --- a/KMP_MCP23S08.cpp +++ b/KMP_MCP23S08.cpp @@ -14,7 +14,7 @@ * please support KMP Electronics and open-source hardware by purchasing * products from KMP Electronics! * - * Written by Plamen Kovandzhiev for KMP Electronics Ltd. + * Written by Plamen Kovandzhiev for KMP Electronics Ltd. contact@kmpelectronics.eu * It is licensed under the MIT License, see LICENSE.txt. */ @@ -48,12 +48,6 @@ void KMP_MCP23S08::begin() { // Start SPI SPI.begin(); - - // Reset all registers - writeRegister(IODIR, 0xFF); - for (byte i = IPOL; i <= OLAT; i++) { - writeRegister(i, 0x00); - } } bool KMP_MCP23S08::read(byte pin) { @@ -151,4 +145,11 @@ void KMP_MCP23S08::beginTransaction() { void KMP_MCP23S08::endTransaction() { write(_csPin, HIGH); SPI.endTransaction(); +} + +void KMP_MCP23S08::reset() { + writeRegister(IODIR, 0xFF); + for (byte i = IPOL; i <= OLAT; i++) { + writeRegister(i, 0x00); + } } \ No newline at end of file diff --git a/KMP_MCP23S08.h b/KMP_MCP23S08.h index 9fb81a2..f0eb5e9 100644 --- a/KMP_MCP23S08.h +++ b/KMP_MCP23S08.h @@ -109,6 +109,11 @@ class KMP_MCP23S08 { */ byte getPullup(); + /*! + * @brief Reset all registers + */ + void reset(); + private: byte _csPin; byte _deviceOpcode = 0x40; diff --git a/library.properties b/library.properties index 151abf7..85cd2e4 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=KMP_MCP23S08 -version=1.0.0 +version=1.0.1 author=Plamen Kovandzhiev maintainer=KMP Electronics sentence=Unified driver for the the MCP23S08 SPI expander