Releases: TcMenu/IoAbstraction
2.1.1 - compilation fixes, author changes
Fixes compilation warning and errors.
Author changes in copyright to represent it being a hobby and not company sponsored.
2.1.0 - Wrap around, ESP32-S2 DAC fix, SimpleCollections move
This release moves simple collections (the btree list) out of IoAbstraction and into a dedicated repo. It is probably the last refactor of IoAbstraction to move code into a new repository. It also contains a few small fixes.
Changes:
- Fix to select correct DAC bits on ESP32-S2. Should be automatic for most.
- Support wrap around on encoders with a new flag.
- Move simple collections into own repository (SimpleCollections).
Important note:
Should you see any compile problems around SimpleCollections.h being missing, ensure that you have the latest version of SimpleCollections library from your library manager.
More touch screens supported, complier warnings fixed
A minor release with extra touch screen support and warnings fixed.
- New example showing FT6206 and XPT2046 touch
- Compiler warning in SimpleCollection.h fixed.
Patch fixing some compiler warnings and lib description changes
Very small patch release containing only changes to prevent compiler warnings and library description changes.
Minor change to prevent compiler warnings, library properties corrections
Very small tidy up release:
Prevent compiler warnings in mock EEPROM.
Improve the text in library properties and in library.json.
ESP32 fix for LEDC and Analog in
This fixes a critical issue where constant re-initialisation of the analog class could leak memory on ESP32.
Support for quarter cycle rotary encoder
Many thanks to @ddd999 who implemented this.
Optional parameter as the last parameter on the rotary encoder setup functions.
I've backtested regular encoders on AVR, SAMD, ESP8266, ESP32, mbed, and Nano BLE33 boards. Quarter cycle testing has also been performed. Entirely compatible with prior code.
Fix ESP32 digital IO issue, fix I2c locking issue under heavy load
- Many thanks to @kimble4 for finding and reporting the ESP32 digital IO problem when extra mode was not enabled.
- I2C locking was wrongly structured and could deadlock under heavy use with many I2C actors in task manager.
Tested on AVR, MKR, ESP8266, ESP32, Nano33BLE, mbed-STM32F4. We'll continue testing tomorrow, and if we find anything else, we'll issue another patch. However, this should fix the situation for most users.
Platform support now in specific directories, ESP32 direct IO
Although it looks like an awful lot of code changed in this release, what's really happened is more of a code refactor, to get things in the right place, to make things more maintainable going forwards. 99% of platform differences are now in specific implementation directories and not buried in logic-heavy classes.
As usual, we've highly tested this release on pretty much every board we have, for nearly all functionalities. It should be very stable. In case you see otherwise, please revert to the prior release and raise an issue.
Highlights:
- Digital and analog IO code more nicely separated out, making future work much easier. API exactly the same.
- ESP32 direct digital and analog IO mode now available by defining IOA_USE_ESP32_EXTRAS.
- STM32 battery backed ROM as EEPROM now available.
- I2C clean up, now neatly separated into directories for each platform / board.
- Major improvements in memory usage of btree list.
- Create two buttons from an analog joystick for each direction.
Correct version number to 1.7.5
No operation release to correct versions number