Modules
SDK for a rooted Nest Learning Thermostat (2nd gen).
The LM3530 backlight.
The link to the backplate (or desk stand) microcontroller on /dev/ttyO2.
The head unit's battery voltage, as reported by the backplate.
Temperature and humidity from the backplate, every ~30 s.
Keeps the system clock (UTC) right.
The ring and its press.
The 320×320 round screen, double-buffered.
Clicks, double clicks and long presses, from the button's raw :down and
:up events. Subscribe to :gesture to receive
Running an app on a computer instead of a Nest, for developing and testing
screens without deploying (see docs/host.md).
The Nest's screen in a browser, when running on a computer (target: :host).
A block of pixels in the framebuffer's own format: 4 bytes per pixel, BGRX.
The backplate's ambient light sensor (raw counts, once a second).
The backplate's passive-infrared motion sensors (near and far).
Name resolution that doesn't depend on Nest's connection manager.
The piezo buzzer (pwm-beeper on /dev/input/event0).
Screen wake and sleep.
Settings that survive restarts and power cuts, for apps.
Text rendering from Nest's own Akkurat fonts, on the device.
Wi-Fi: status, scanning, joining a network, and saved networks.
Mix Tasks
Builds the text renderer for this computer and checks the fonts, so an app
can run here with config :nest_gen2, target: :host (see docs/host.md).