BangleApps/apps/health
Alessandro Cocco 774aa169eb [Health] Update metadata and changelog 2022-05-17 23:27:13 +02:00
..
ChangeLog [Health] Update metadata and changelog 2022-05-17 23:27:13 +02:00
README.md Update README.md 2022-04-19 15:28:04 +01:00
app-icon.js new 'health' app for 2v11, improved bangle2 launcher 2021-10-14 17:14:10 +01:00
app.js [Health] Avoid division by zero 2022-05-17 23:22:53 +02:00
app.png new 'health' app for 2v11, improved bangle2 launcher 2021-10-14 17:14:10 +01:00
boot.js health - Adds 3 minute setting 2022-01-27 18:27:10 +01:00
boot.min.js health 0.11: Pre-minified boot&lib - folds constants and saves RAM 2022-02-02 19:57:44 +00:00
interface.html tweak window text 2022-01-27 16:37:11 +00:00
lib.js health 0.09: Fix file naming so months are 1-based (not 0) (fix #1119) 2021-12-17 09:09:33 +00:00
lib.min.js health 0.11: Pre-minified boot&lib - folds constants and saves RAM 2022-02-02 19:57:44 +00:00
metadata.json [Health] Update metadata and changelog 2022-05-17 23:27:13 +02:00
settings.js tweaks for last PR - re-add settings menu item 2022-04-25 15:11:01 +01:00

README.md

Health Tracking

Logs health data to a file every 10 minutes, and provides an app to view it

BETA - requires firmware 2v11

Usage

Once installed, health data is logged automatically.

To view data, run the Health app from your watch.

Features

Stores:

  • Heart rate
  • Step count
  • Movement

Settings

  • Heart Rt - Whether to monitor heart rate or not
    • Off - Don't turn HRM on, but record heart rate if the HRM was turned on by another app/widget
    • 10 Min - Turn HRM on every 10 minutes (for each heath entry) and turn it off after 2 minutes, or when a good reading is found
    • Always - Keep HRM on all the time (more accurate recording, but reduces battery life to ~36 hours)
  • Daily Step Goal - Default 10000, daily step goal for pedometer apps to use

Technical Info

Once installed, the health.boot.js hooks onto the Bangle.health event and writes data to a binary file (one per month).

A library (that can be used with require("health").readXYZ can then be used to grab historical health info.

boot.js and lib.js include some constants that don't get inlined by the simple minifier used in the App Loader, so we use the closure compiler to pre-minify them. The easiest way to use it is to install https://github.com/espruino/EspruinoDocs and run EspruinoDocs/bin/minify.js lib.js lib.min.js

TODO

  • interface page for desktop to allow data to be viewed and exported in common formats
  • More features in app:
    • Step counting goal (ensure pedometers use this)
    • Calendar view showing steps per day
    • Yearly view
    • Heart rate 'zone' graph
    • .. other