This merge adds numerous individually small fixes and improvements
which amount to a sizeable set of features.
- New hourly chime tunes added
- Old hourly chime tunes improved
- Display of characters on the stock LCD improved
- Documentation improved
- Simulator improved
- Leap year handling improved
- Months and their days sanity checked and fixed
- More compile time configurable defaults added
- Excessively exact time checks relaxed
- Clock face indicators matched to original watch
- Hardware interface issue fixed
The most significant new feature however is software debouncing.
The sensor watch now properly handles hardware switch bouncing,
making the button inputs much more precise at the cost of a small amount
of latency, greatly improving usability. Any watch faces which require
holding down buttons as part of their user interface, the pulsometer
for example, should see huge improvements in their usability.
* 9c093f9 Merge PR #387 - configurable default birthdate/location
* 879c48c Merge PR #417 - improve 24h only mode
* db4097b Merge PR #426 - add temperature input to simulator
* dea0566 Merge PR #428 - fix issues in sunrise/sunset
* c8ca0d3 Merge PR #431 - fix wrong number of days in month
* 95ca374 Merge PR #433 - fix clock face indicators
* 663cd72 Merge PR #434 - fix leap years
* a715265 Merge PR #437 - debouncing logic
* c741332 Merge PR #439 - fix scheduled task misses
* 657ff72 Merge PR #440 - fix countdown face issues
* c8a87d3 Merge PR #441 - update documentation
* dd04443 Merge PR #443 - improved t and y character display
* 42dc151 Merge PR #447 - improve kim possible chime
* fa0cdef Merge PR #450 - sync after enabling RTC
* a67076f Merge PR #458 - add layla tune
* 23c422b Merge PR #459 - add power rangers tune
* a2e5417 Merge PR #461 - improve t/y special case docs
Tested-on-hardware-by: Alex Maestas <git@se30.xyz>
Tested-on-hardware-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
Tested-on-hardware-by: Wesley Ellis <tahnok@gmail.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/460
According to the data sheet, writing to a Control A register's ENABLE
bit will trigger write synchronization and set SYNCBUSY's ENABLE bit
which will be automatically cleared by the hardware once the write
operation is complete.
It is necessary to wait until SYNCBUSY's ENABLE bit is clear.
Reading synchronized registers before that returns previous values.
Writing synchronized registers before that drops the write and generates
an error value in another register.
The data sheet recommends polling the ENABLE bit in this situation.
Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/450
References: SAM L22 Family Data Sheet §§ 14.3.2, 14.3.3, 14.3.4, 14.3.5
Enhances 24 hour only mode by setting defaults properly
and skipping past the 12/24 hour settings page in the
preferences watch face.
Reviewed-by: Matheus Afonso Martins Moreira <matheus@matheusmoreira.com>
GitHub-Pull-Request: https://github.com/joeycastillo/Sensor-Watch/pull/417