Update app.js
- move complex data analysis into separate function
- add displaying a loading info
- faster feedback by calling the analysis through a timeout
Update boot.js
- correct fix#1445 as mentioned by splitting the `stop()` function to only remove the kill listener on a manual stop
- optimize `start()` and `stop()` functions
Update README.md
- change beautified menu entries according to changes in settings.js
Update settings.js
- replace `circulate()` function with internal `wrap: true`
- move delay for menu redraw as suggested in espruino/Espruino#2149
- beautify menu entries for new touchscreen E.showMenu system (> fw 2v.13.32)
Update boot.js
- remove logging always for testing
Update settings.js
- minimized workaround in settings menu to [espruino/Espruino issue 2149](https://github.com/espruino/Espruino/issues/2149)
Update boot.js
- prevent removing other kill listeners #1445
Update README.md
- change "only available" information for Settings
- add new ideas to "To do list"
* Complete new power saving mode after tests
* Move all read/write log operations into lib/module
Update app.js
- update `readLog(...)` call
Update boot.js
- update maxmove default value
- delete `log(..)`, merging into `writeLog(...)` from lib.js
- replace all read/write actions to the logfile with `readLog(...)`/`writeLog(...)` from lib.js
- add restoring the status after a restart (<5 min ago) to last known state
- add deletion of unused settings on power saving mode
- update log timestamp on power saving mode to always be 10min before now
Update ChangeLog
Update lib.js
- update `readLog(...)`, prevent errors on reading, minimize workload if unfiltered
- add `writeLog(...)` to append or replace log depending on input with plausibility checks on input
- merging `log(...)` from boot.js into `writeLog(...)`
- replace all read/write actions to the logfile with `readLog(...)`/`writeLog(...)`
Update metadata.json
- update version number
- add power saving mode to description
Update README.md
- add power saving mode description
- move sleeping/not worn decision description into its own section
- add description for timestamp values to Logging section
- update Global Object and Module Functions section
Update settings.js
- update maxmove setting and default value
* New power saving mode using build in movement detection
Update app.js
- add displaying powersaving status
Update boot.js
- add power save mode
- minimize fix#1425 to issue #1423
- minimize wake/sleep decision
- add checking for correct this reference
- add checking for global object existence
- remove unneeded global. prefix
Update lib.js
- add powersaving setting to setEnabled()
- fix missing logfile issue #1423 on all functions
- remove check for changes in setEnabled(...) to always restart the service
Update settings.js
- add settings powersaving and maxmove
- add displaying settings depending on power saving mode
- restart service when changing enabled, logfile and powersaving
This app logs and displays the four following states:
_unknown, not worn, awake, sleeping_
It derived from the SleepPhaseAlarm and uses the accelerometer to estimate sleep and wake states with the principle of Estimation of Stationary Sleep-segments ([ESS](https://ubicomp.eti.uni-siegen.de/home/datasets/ichi14/index.html.en)) and the internal temperature to decide _sleeping_ or _not worn_ when the watch is resting.