Commit Graph

50 Commits

Author SHA1 Message Date
84ff733bbb Call mgos_ili9341_set_rotation(); Reduce inactivity_timeout to 10s 2017-12-03 14:12:34 +01:00
84dfb7c516 Register prometheus callback only once 2017-12-02 23:49:53 +01:00
fae52bb543 Add MQTT buttons! 2017-12-02 23:34:16 +01:00
2b756cee3d Add 'mqtt' field -- a \001 delimited string of topics+messages to send 2017-12-02 21:29:42 +01:00
b8e5637c8b First start of MQTT buttons 2017-12-02 16:51:09 +01:00
c315de560f Fix non-void return in screen_widget_broadcast() 2017-12-02 15:33:56 +01:00
cda842da53 Implement EV_WIDGET_DRAW and call screen_widget_broadcast() on screen loads 2017-12-02 14:23:14 +01:00
f7a62fce48 Add screen_widget_broadcast() 2017-12-02 14:18:54 +01:00
ef4451b81f Initial stab at WIDGET_LOADSCREEN and navigation 2017-12-02 14:15:22 +01:00
980ac4c7cf Remove 'user_data' arg from widget_set_handler 2017-12-02 13:42:32 +01:00
5a283bd87f Set w->user_data to 'screen' for type=WIDGET_TYPE_LOADSCREEN 2017-12-02 13:37:00 +01:00
c3a71a9b69 Add widget_default_destroy() 2017-12-02 13:33:51 +01:00
4e1a9f4c2a Change images to DIFs for faster drawing 2017-12-02 12:22:14 +01:00
b9a0578d5b Allow app to compile for ESP8266 - add some conditionals based on mos.platform 2017-12-01 19:21:01 +01:00
95e2835871 Draw images as blue roundrects; Add labels to non-imagery widgets, if they are set 2017-12-01 16:16:57 +01:00
e7f674fa6f Show the use of multiple fonts 2017-12-01 15:43:03 +01:00
eab5f31a92 Move to Native SPI implementations of ILI9341 and STMPE610 2017-12-01 13:57:43 +01:00
5b80d88b86 Extend keepalive if the user is currently touching the screen -- this avoids the screen fading out on presses longer than the inactivity timeout 2017-11-28 15:58:46 +01:00
7041526a39 Small formatting changes; Set backlight on before SMTPE610 2017-11-28 15:32:54 +01:00
9fc40fd800 New implementation of backlight based on persistent keepalive timer, rather than oneshot timer 2017-11-28 15:32:27 +01:00
c35d959c1a Rewrite widget_battery_render() to assume full at 4100mV, clipping 'h' between [0,12] 2017-11-28 10:26:29 +01:00
801e4435ce Call battery 'full' at 4100mV 2017-11-28 09:01:13 +01:00
4b851ef144 Measured the MCU to shut off at 3500mV -- update widget_battery() to match what I saw 2017-11-28 07:02:33 +01:00
f87fec5ed0 Add battery calibration values 2017-11-27 23:14:17 +01:00
72f757a913 Add prometheus hook for battery voltage 2017-11-27 22:59:26 +01:00
4aa8c56f40 add widget_battery() which shows the LiPo state of charge 2017-11-27 22:36:38 +01:00
d07a0e053c Backlight support. TOUCH events feed backlight_keepalive(); After a timeout, we fade the backlight to 0 using timers. When the backlight is not active, TOUCH events are not passed to widgets, but the backlight is re-enabled; Add some flags to mos.yml to drive timeout and PWM pin for the backlight on Featherwing 2017-11-27 21:30:01 +01:00
ed9906a0bf Move to RoundRect() -- draw RED on TOUCH_DOWN, GREEN on TOUCH_UP 2017-11-26 22:23:35 +01:00
ed98d2de7c Trigger draw on TOUCH_UP 2017-11-26 22:13:49 +01:00
25cad76432 Move to PNG imagery 2017-11-26 21:04:58 +01:00
d5e01dedd2 Simplify screen: make it absolute and fill the whole TFT 2017-11-26 20:07:26 +01:00
3cb5fc18e7 add widget_ev_to_str(); Pass 'ed' through to EV_WIDGET_TOUCH_{UP,DOWN} calls 2017-11-26 19:27:57 +01:00
e826324244 Plumb default_widget_handler and default_user_data for widgets read from JSON/File 2017-11-26 19:06:44 +01:00
fda8b332db Add 'type', 'label', rename 'icon' to 'img' in widget 2017-11-26 18:41:17 +01:00
c6f5fc3b8f Fix use-after-free bug 2017-11-26 18:06:17 +01:00
fb7e2a650d Allow screen to be seen by other files (needed by widget_name.c) 2017-11-26 17:32:29 +01:00
5f07481d22 Do not destroy on TIMER/TOUCH_{UP,DOWN} 2017-11-26 17:32:00 +01:00
82c9999138 Add WIDGET_NAME_SCREEN; Fix null deref in WIDGET_NAME_SSID 2017-11-26 17:31:24 +01:00
ddb026217a Avoid calling widgets without handlers 2017-11-26 17:14:11 +01:00
63f1088e7a Call EV_WIDGET_CREATE upon first installing of set_handler() 2017-11-26 16:25:05 +01:00
64af496314 Factor out widget_set_{handler,timer}() from app 2017-11-26 16:10:51 +01:00
83b0d346ae Add unit tests that catch invalid 'screen' and 'widget' JSON data. 2017-11-26 16:01:08 +01:00
f9c4520b60 Add widget_{set,delete}_{handler,timer}() 2017-11-26 15:55:15 +01:00
fd68b1ec03 Refactor app to use 'screen with widgets' rather than 'widgets' 2017-11-26 15:01:59 +01:00
3e2e9d4e5b Add screen.[ch] and unit tests 2017-11-26 14:18:43 +01:00
79bb900def factor out application widgets from widget.h -- add new include/mongoose-touch.h instead 2017-11-26 11:32:47 +01:00
6985b30dc2 Add a simple unit test for widget_add_from_file() 2017-11-26 11:28:09 +01:00
efa9b1bf68 Allow widget_network() to be destroyed -- avoid allowing widget_network_recv()/send() if it's destroyed 2017-11-25 01:49:11 +01:00
3a8aeb5e0f Add widget_remove() 2017-11-25 01:48:23 +01:00
4f64ed554a Initial commit 2017-11-25 01:14:04 +01:00