AppMessage transport. Decodes the inbox and notifies the app through per-channel handlers, and queues the outbound weather, stock, and calendar requests through one outbox. More...
Go to the source code of this file.
Macros | |
| #define | APPMESSAGE_CUSTOM_COLORS_MAX 502 |
| Worst case combined custom-colours string. Two persist-key-sized halves plus the bar and the NUL. | |
Typedefs | |
| typedef void(*) | WeatherHandler(const WeatherMessage *msg) |
| Called with one weather message, holding every group of readings it carried. | |
| typedef void(*) | CoordsHandler(const char *lat, const char *lon) |
| Called with a fresh pair of coordinates. | |
| typedef void(*) | SettingsChangedHandler(bool time_or_date_changed) |
| Called after a settings save that changed something. | |
| typedef void(*) | UnitChangedHandler(bool fahrenheit) |
| Called when the wearer switches the temperature unit on the settings page. | |
| typedef void(*) | StockStripHandler(const uint8_t *buf, uint16_t len) |
| Called with a packed watchlist strip. The handler owns the wire format. | |
| typedef void(*) | CalendarStripHandler(const uint8_t *buf, uint16_t len) |
| Called with a packed agenda strip. The store owns the wire format. | |
| typedef void(*) | CustomColorsHandler(const char *combined) |
| Called inbound with the combined custom-colours string, for the face to split and store. | |
| typedef void(*) | CustomColorsProvider(char *out, size_t n) |
| Called outbound to rebuild the combined custom-colours string before a settings reply is sent. | |
| typedef void(*) | InboxCompleteHandler(void) |
| Called once after every inbox message is fully handled. | |
Functions | |
| void | appmessage_on_weather (WeatherHandler cb) |
| One weather message, every group it carried. | |
| void | appmessage_on_coords (CoordsHandler cb) |
| Latitude and longitude. | |
| void | appmessage_on_settings_changed (SettingsChangedHandler cb) |
| A setting changed on the phone. | |
| void | appmessage_on_unit_changed (UnitChangedHandler cb) |
| The wearer switched the temperature unit. | |
| void | appmessage_on_stock_strip (StockStripHandler cb) |
| Packed watchlist strip. | |
| void | appmessage_on_calendar_strip (CalendarStripHandler cb) |
| Packed agenda strip. | |
| void | appmessage_on_custom_colors (CustomColorsHandler cb) |
| Inbound: splits and stores the combined string. | |
| void | appmessage_set_custom_colors_provider (CustomColorsProvider cb) |
| Outbound: rebuilds the combined string. | |
| void | appmessage_add_inbox_complete (InboxCompleteHandler cb) |
| Adds work to run once after a whole inbound message is handled, after every channel in it. | |
| void | appmessage_open (uint32_t inbox_size) |
| Register the SDK callbacks and open the inbox and outbox. | |
| void | appmessage_request_weather (void) |
| Asks the phone for a fresh weather reading. The weather store calls this on its turn on the shared cadence. On a face that does not declare the weather keys it sends nothing and logs one warning the first time it is called. The weather keys are WEATHER_REQUEST, WEATHER_TEMPERATURE, WEATHER_CONDITIONS, and WEATHER_OK, and a face that declares only some of them fails to build, with each missing one named. | |
| void | appmessage_request_stock (void) |
| Asks the phone for fresh quotes. The stock store calls this on its turn on the shared cadence. Does nothing on faces that do not declare the stock keys. | |
| void | appmessage_request_calendar (void) |
| Asks the phone for a fresh agenda. The calendar store calls this on its turn on the shared cadence. Does nothing on faces that do not declare the calendar keys. | |
AppMessage transport. Decodes the inbox and notifies the app through per-channel handlers, and queues the outbound weather, stock, and calendar requests through one outbox.