Releases: GabyGold67/ShiftRegGPIOXpander_ESP32
Releases · GabyGold67/ShiftRegGPIOXpander_ESP32
v3.1.0 In class digitalRead() and digitalWrite() methods addition
- The library use of the Arduino digitalWrite() method modified to avoid the library own digitalWrite() being called in it's place
- ADDED ShiftRegGPIOXpander::digitalRead() method to make trivial the original code modification to add a ShiftRegGPIOXpander to an existent code. The existent digitalReadSr() method is kept for retrocompatibility.
- ADDED SRGXVPort::digitalRead() method to make trivial the original code modification to add a SRGXVPort to an existent code. The existent digitalReadSr() method is kept for retrocompatibility.
- ADDED ShiftRegGPIOXpander::digitalWrite() method to make trivial the original code modification to add a ShiftRegGPIOXpander to an existent code. The existent digitalWriteSr() method kept for retrocompatibility.
- ADDED SRGXVPort::digitalWrite() method to make trivial the original code modification to add a SRGXVPort to an existent code. The existent digitalWriteSr() method kept for retrocompatibility.
v3.0.0 Classes and methods additions, existent methods modifications
- SRGXVPort subclass added, models virtual ports generated from a subset of the ShiftRegGPIOXpander class available pins.
- Refactoring of the mutex mechanisms to avoid interrupt suspensions generated by the previous mechanism, makes the methods work smoother, with finer grain blockins, ensures faster execution and avoids risk of watchdog resets.
- Return type modified for several existing method to give feedback from the method execution, specially method success or failure.
- New methods added for pins manipulations.
- flipBit(), resetBit() and setBit() added for simplification of the digitalWriteSr() use.
- createSRGXPort() and isValid() added for virtual ports creation and validation.
- stampMaskOverMain() and stampSgmntOverMain() added for multiple pins simultaneous manipulation.
# v2.0.1 Code verification and cleanup for new methods additions
- Const correctness verification
- _sendSnglSRCntnt() method correction to avoid parameter destruction increasing speed.
- All methods and attributes verified for addition of new methods.
#v2.0.0 Constructor modified for best practices compliance
begin()
method added to comply with Arduino environment best practices.- Class constructor modified by taking out the uint8_t initCntnt* parameter, making this version backwards incompatible, forcing refactoring and thus signaling the need to add the new
begin()
method. - Version bumped to v2.0.0
v1.1.3 File rename required
- As dual core mutex protection became a need the code deviated from a standard usable in all Arduino models, so the file renaming became a need to leave place for the next version naming.
v1.1.2 Examples added, documentation improved
- Example files added
- Simulation files added for wokwi platform, url for running simulations provided
- Automatic documentation improved
v1.1.1 Library renaming and code streamlined
- Library renamed from ShiftRegGPIOXpander to ShiftRegGPIOXpander_ESP32 to make it more specific, as a version will be developed without the mutex code needed for ESP32 multicore data integrity preservation
- Buffer filling with unique values simplified from a for() loop to a single memset() command
- Documentation minor changes and corrections
v1.1.0 Methods and examples added
- Added void digitalWriteSrMaskReset(uint8_t*) method
- Added void digitalWriteSrMaskSet(uint8_t*) method
- Use examples additions
- Added link to the complete library documentation in Github pages
v1.0.0 Initial Release
Initial full functional release