Classic Zenith analog watchface with anti-aliasing, always-on second hand and powersafe mode.
Connect IQ Store link | Source code link
- Nice design
- Battery level and heart rate display
- UTC timezone and device state icons
- Move meter
- Steps counter
- Active minutes counter
- Current date display
- Auto power safe mode
Powersafe mode
There are 3 operating modes for this watchface:
- Active mode (10 seconds after "what's time" gesture)
- Current heart rate is shown
- Second hand is updated in 2Hz
- Background mode
- Second hand is updated in 1Hz
- All data is updated once a minute, differences are re-drawn to screen buffer
- Powersafe mode (activated at specific conditions)
- Second hand is not shown
- Minute hand is drawn once a minute, everything else is drawn to screen buffer
- When hour hand moves (once in 12 minutes), all data is updated, differences are re-drawn in screen buffer
- Anti-aliased custom-font hour and minute hands are replaced with vector hands
Powersafe mode is activated in a minute after entering background mode, if:
- Do-not-disturb mode is on (usually it is activated in sleep mode)
- Move bar is full (if you are too busy to make some steps, you don't look at watch)
- Heart rate data is missing (watches are not on your hand)
- Heart rate is less than 1.2x of resting heart rate (you are actually sleeping)
Technical details
- There is huge full-color buffered bitmap to simplify redrawing of second hand
- This buffer is also used in powersafe mode to handle minute hand updates
- Elements in buffer are redrawn on-demand (background parts shaded by minute/hour hands or changed value for HR gauge)
- Background actually is a custom font (it appears that font texture is stored in compressed format, because even 2bit paletted bitmaps are far bigger)
- Hands are drawn from custom fonts also (60 positions for each hand are split to tiles and packed into a set of fonts to save free memory)
- Fonts for hands are constantly reloading from storage while every single font is cached until next is needed; this happens every ~5 minutes in background mode and consumes lots of power, so powersafe mode uses ugly vector hands representation