Commit Graph

97 Commits

Author SHA1 Message Date
71410fee91 Update screens to use new MQTT format. 2018-01-02 00:21:38 +01:00
9dbf9be428 Simplify MQTT messaging
Simply add the entire mosquitto message as a JSON entity, not a string.
The simple case now looks like:
      "mqtt": [ {"topic": "/s/cmnd/5C:CF:7F:20:29:6E/Power", "message": "On"} ]

Sending an RPC to Mongoose OS looks like:
      "mqtt": [ {"topic": "esp32_XXXXXX/rpc/Button.Touch", "message": {"args": {"idx":0}}} ]
2018-01-02 00:20:15 +01:00
0ea78abf4c Add extra debounce delay in button presses. Trigger on button-up. 2018-01-02 00:19:37 +01:00
a342ff6815 Add 3D printable objects:
LightSwitch Base plate
LightSwitch Button (for duo-switches)
Add PNGs for both.
2018-01-02 00:18:32 +01:00
67bc9b9d23 Simplify MQTT structure 2017-12-22 21:38:19 +01:00
da963f46f5 add missing include 2017-12-22 21:37:37 +01:00
0dae252eb4 Add device_id to widget_name.c 2017-12-22 17:13:35 +01:00
ecf0a9a2fc Add tft.enable flag, gate the use of ILI9341/STMPE610 on it.
- For esp8266 (lightswitch w/o touchscreen), set tft.enable=false
- For esp32 (lightswitch w/ touchscreen), set it to true.

Clean up mos.yml flags per architecture type.
- Button is always 0,2
- Relay0 at 16 for ESP8266, as that's NodeMCU v2's onboard LED.
- Relay0 at 13 for ESP32, as that's Featherwing's onboard LED
2017-12-22 10:23:15 +01:00
44a84dd1bc Fix some compiler lint for esp8266 2017-12-21 22:38:23 +01:00
4b4642416f Add unit tests for buttons / relays; and a bunch of mocks :) 2017-12-20 17:32:28 +01:00
1cbd2130db Add lightswitch to this firmware 2017-12-20 17:04:51 +01:00
7ba19c8372 Make screen work at 480x320 as well as 320x240 2017-12-07 01:28:27 +01:00
7c3f699275 Make widgets span the get_screenWidth() value 2017-12-07 00:00:13 +01:00
f598290e54 Add (private) OTA libs 2017-12-03 23:56:16 +01:00
135f9033aa Test commit 2017-12-03 23:43:57 +01:00
84ff733bbb Call mgos_ili9341_set_rotation(); Reduce inactivity_timeout to 10s 2017-12-03 14:12:34 +01:00
d538533b23 Update mos.yml 2017-12-03 13:46:45 +01:00
0bede8cca6 fix typo 2017-12-03 12:45:59 +01:00
0628cf59a6 Remove the text that comes from huzzah32-featherwing 2017-12-03 12:45:15 +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
ff84c5aa4b Fix typo 2017-12-01 19:22:44 +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
01bbb5d363 Update README that we're using Mongoose OS's native SPI driver 2017-12-01 15:47:02 +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
af23ddee37 Add mgos_stmpe610_is_touched() to let callers know if the user is pressing the screen at this moment 2017-11-28 15:57:59 +01:00
1ef7195728 Update README with the new backlight implementation details 2017-11-28 15:42:52 +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
d01f9f81c9 Add Youtube video 2017-11-28 01:40:25 +01:00
1aa76602b3 Fix typo in image name 2017-11-28 01:35:09 +01:00
43c842ccfa Add picture illustrating the soldering done 2017-11-28 01:34:29 +01:00
fac8d3b593 Add soldering requirements 2017-11-28 01:15:00 +01:00
6d3b693850 Fix some typos, add some clarifying language. 2017-11-28 01:06:07 +01:00