Skip to content

Releases: GabyGold67/ShiftRegGPIOXpander_ESP32

v3.1.0 In class digitalRead() and digitalWrite() methods addition

05 Jul 14:45
13dad9e
Compare
Choose a tag to compare
  • 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

08 Jun 06:47
cb20f8c
Compare
Choose a tag to compare
  • 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

22 May 13:30
16977d2
Compare
Choose a tag to compare
  • 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

15 May 11:39
437366e
Compare
Choose a tag to compare
  • 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

09 Apr 10:47
Compare
Choose a tag to compare
  • 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

02 Apr 15:31
Compare
Choose a tag to compare
  • 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

01 Apr 09:05
Compare
Choose a tag to compare
  • 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

06 Mar 15:38
Compare
Choose a tag to compare
  • 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

03 Mar 20:55
Compare
Choose a tag to compare

Initial full functional release