Releases: lkankowski/arduino-multi-relay2
Releases · lkankowski/arduino-multi-relay2
2.4.0 Long waiting on develop :)
New features:
- Additional architectures: ESP8266, ESP32 (experimental)
- Ethernet (LAN or MQTT) with W5100 or ENC28J60
- Add multiple hardware combinations to
platformio.ini
so the user doesn't need to customize it so often - add EEPROM_OFFSET option
Improvements:
- Change button logic to be more independent from relays
- Create wrapper for MySensors dependency so it can be better tested
2.3.2 Minor fixes to stable version
- improve Virtual pins
- typos fixes and revert remove "xstr" macro
- add timestamp to default serial monitor output
2.3.1 Fixes and cleanup after release 2.3.0
- cleanup - remove some commented code
- add some inline directive
- increase relay and button description to 30 characters
- updated documentation (especially PROGMEM directive)
- fixed expander compilation errors
- added expander support in Configuration class
- added unit tests for Configuration class
- added compilation option in platformio.ini to increase serial buffer when having communication problems (SERIAL_RX_BUFFER_SIZE)
2.3.0 - Big architecture refactoring and new functionality - dependent relays
New functionality:
- Dependent relays and new configuration option "dependsOn"
Technical changes:
- Completely new software architecture to separate responsibility and add hardware abstraction for unit testing:
- New class ButtonService
- New class RelayService
- New class Switch (hardware layer for buttons)
- Separate class for every button type
- Arduino abstraction layer - Arduino specific items located in ArduinoAbstract.h/cpp files
- Common Pins interface including expander implementation
- new class Eeprom - EEPROM abstraction for testing
- new class Configuration
- Unit testing in native mode (on local PC) - thanks to Arduino abstraction/mock most code can be unit tested
- Ability to validate configuration in native mode
- Removed Bounce2 library
- Configuration and all strings moved to flash memory - free SRAM memory
- Removed all usages of String class (less memory consumption)
- All serial output using C++ streams ("Serial << …")
- A lot of dynamic memory allocation, but mostly only at startup
- Unfortunately, the above comes at a cost with a lot of dynamic memory allocation, but mostly only during boot and never freed up
Sensor reporting
- reporting REED_SWITCH as S_DOOR in MySensors
Stable release
v2.2.0 Without sending V_ARMED