Releases: GabyGold67/ButtonToSwitch_AVR
Releases · GabyGold67/ButtonToSwitch_AVR
v4.6.0 Function pointers to functions with void* arguments added to most classes requiring them
v4.6.0 Function pointers to functions with void* arguments added to most classes requiring them
Latest
- Added attribute flags:
- For SldrDALtchMPBttn class:
- Added state for Current Output Value is Maximum (otptCurValIsMax)
- Added state for Current Output Value is Minimum (otptCurValIsMin)
- For SldrDALtchMPBttn class:
- Added functions without parameters and functions with void* parameter for attribute flags value changes:
- Current Output Value is Maximum
- Current Output Value is Minimum
- Output modification direction is Up (increment)
- Output modification direction is Down (decrement)
- Added getters and setters for the functions to execute when states changes for the new attribute flags:
- otptCurValIsMaxOff
- otptCurValIsMaxOn
- otptCurValIsMinOff
- otptCurValIsMinOn
- curSldrDirUp
v4.5.0 Upgrade to provide similar services to current ESP32 version
v4.5.0 Output changed notification mechanism added
- Each mechanism that executes methods when changing states happens added the call to a function with the signature: void (function*) (void*). This simple addition opens the possibility to set a pointer to ANY type of argument, including other objects, to be a parameter of the execution of the function, allowing the execution of other objects' public methods.
The addition is available for the change of the following states:- isOn
- isOff
- isPilotOn
- isPilotOff
- isWarningOn
- isWarningOff
- isOnScndry
- isOffScndry
- isOnVoided
- isOfVoided
v4.4.1 Modifications for best practices compliance
- Class constructors and begin() methods updated according to Arduino best practices recomendations.
v4.0.0 Backwards compatible method addition
- Added the possibility to start the MPBttn disabled. Implemented for all DbncdMPBttn subclasses objects
- Added the setBeginDisabled() method to control the option of starting the MPB update in isDisabled = true state
v4.3.1 Improvements and additions
- _otptsSttsPkg() virtual property confirmation for all subclasses.
- Unneeded redundant code cleanup.
- Code simplification: use of fncPtrType for declarations of attributes and methods
v4.3.0 Improvements and additions
- Added default constructors to all the classes that hadn't. Addition required for some dinamically created objects.
v4.2.0 Debugging, improvements and normalization release
Debugging:
- HntdTmLtchMPBttn objects had wrong logic settings when entering the isDisabled state for some keepPilot and isOnDisabled combinations.
Improvements:
- DFA unconditional state changes allowed to cascade on more classes' state machines.
Normalization:
- The DblActnLtchMPBttn subclasses objects exited the isDisabled state in a sequence not consistent with other classes' objects.
- isOnScndry attribute flag moved upwards the classes hierachy. Now all DblActnLtchMPBttn subclasses include the attribute flag and have access to it's value through its getters, task and functions execution when turning On & Off.
v4.1.0 Debugging and improvements release
Refactoring:
- The setOutputsChange() and getOutputsChange() transparently changed. The API was not changed -it still sets and returns a boolean value- but internally now keeps a counter to avoid multithread developments generated race conditions.
Debugging: - The use of getters and taskNotify mechanisms for the same attribute flags at the same time generated unexpected results due to race conditions: SOLVED.
- Code overall simplification and cleanup.
- DFA unconditional state changes allowed to cascade on more classes' state machines.
Example files: - Several example files added.
- Some example files modified to show different solutions approaches for the same results.
v4.0.4 Maintenance release
- Code cleanup.
- Auto documentation generation problems solved, documentation regenerated.
- Several examples added for most of the classes.
v4.0.3 Minor debugging
- The clearStatus() method for the HntdTmLtchMPBttn class ignored the resetting of some flags that left open the possibility of uncomplete state clearing. Corrected.
- Several examples added for most of the classes.
v4.0.2 Refactoring update
All changes are transparent to the user.
- outputschange attribute flag setting added, as the isOn, isEnabled, pilotOn, wrnngOn, isVoided, isOnScndry simple value assignement are refactored into full methods.
- outputschange attribute flag setting by simple assignement after above mentioned methods execution removed (as it now is uneeded code duplication).
- Examples added for several classes.
v4.0.1 Examples addition and simulation links
- Some documentation mistakes found corrected
- Several examples added for various classes
- WOKWI simulator (https://wokwi.com) links added at each corresponding file for the following examples:
- 01_DbncdMPBttn_1a
- 01_DbncdMPBttn_1b
- 01_DbncdMPBttn_1e
- 02_DbncdDlydMPBttn_1a
- 02_DbncdDlydMPBttn_1b
- 02_DbncdDlydMPBttn_1e
- 05_TgglLtchMPBttn_1a
- 05_TgglLtchMPBttn_1b
- 05_TgglLtchMPBttn_1e
- 06_TmLtchMPBttn_1a
- 06_TmLtchMPBttn_1b
- 06_TmLtchMPBttn_1e
- 07_XtrnUnltchMPBttn_1a
- 07_XtrnUnltchMPBttn_1b
- 07_XtrnUnltchMPBttn_1e
- 07_XtrnUnltchMPBttn_2a
- 07_XtrnUnltchMPBttn_2b
- 07_XtrnUnltchMPBttn_2e
- 09_TmVdblMPBttn_1a
- 09_TmVdblMPBttn_1b
- 09_TmVdblMPBttn_1e
- 10_HntdTmLtchMPBttn_1a
- 10_HntdTmLtchMPBttn_1b
- 11_SldrDALtchMPBttn_1a
- 11_SldrDALtchMPBttn_1b
- 12_DDlydDALtchMPBttn_1a
- 12_DDlydDALtchMPBttn_1b
- 13_SnglSrvcVdblMPBttn_1a
- 13_SnglSrvcVdblMPBttn_1b
- 13_SnglSrvcVdblMPBttn_1e
v4.0.0 First Public Release
This first public release is SemVersion numberded, previous releases remain in private domain.