All notable changes to this project/module will be documented in this file.
The format is based on Keep a Changelog, and this project/module adheres to Semantic Versioning.
- Breaking:
wdt_is_initnow returns the initialization flag directly (bool) instead of via status + output pointer - Breaking:
wdt_task_get_enablenow returns the task enable state directly (bool) instead of via status + output pointer - Task time pass calculation now uses unsigned wraparound arithmetic instead of the platform-specific
int32_tworkaround wdt_task_set_enableonly updates state when the enable flag actually changesWDT_CFG_MIN_TIMEOUT_TIME_MS/WDT_CFG_MAX_TIMEOUT_TIME_MSare nowuint32_t(ms) and enforced against the configuration table on init- Include guards renamed to drop the reserved leading double underscore (
__WDT_H->WDT_H, etc.)
wdt_task_get_enableno longer returnstrueon an error path (uninitialized module / invalid task index previously coerced totrue)wdt_if_initno longer runs the low-level watchdog init after a failed mutex create, which previously overwrote the error statusWDT_CFG_DEBUG_ENis now forced off outsideDEBUGbuilds- Discarded return values (
wdt_if_kick,wdt_if_release_mutex,osMutexRelease) are now explicitly(void)-cast with rationale comments g_wdt_mutex_attrgiven internal linkage (static)- Removed dead commented-out code and stale
TODO
- ISR support before reset event
- Ability to enable and disable protected task
- Fixed incorrect usage of OS mutex
- ISR support before reset event
- Replace old "version.txt" with this changelog
- Updated readme, adding details of statistics
- Hiding configuration data type
- Removed doxygen as it is replaced README.md
- ISR support before reset event
- Replace OS mutex with simple lock inside module
- Single loop or RTOS task protection
- Configuration via single table
- Platform independent based on interface
- Statistics support
- ISR support before reset event