New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes to Environmental Measurement App #705
Changes to Environmental Measurement App #705
Conversation
@geeksville @mc-hamster I'd be curious to see what you think of the direction I've gone with allowing plugins access to create a UI frame. If it's something you support, I have additional ideas to further develop this. I'm also open to breaking out the UI thing into a separate PR, since there are fixes to the environmental plugin here as well |
I like the plugin UI frame idea (and it would be great to eventually use this to move the text message drawing into the text message plugin and out of screen.cpp). And eventually I'd like to refactor these plugin enhancements (see also ProtobufPlugin) to not be single inheritance but more of a 'mixin' pattern. |
…sitions to/from plugin screens better It's still a bit janky, but should work meshtastic/esp8266-oled-ssd1306#2
This MR now has a dependency on meshtastic/esp8266-oled-ssd1306#2 (This is resolved as long as pio is pointing at 35d7962 of the esp8266-oled-ssd1306 library) and on https://github.com/meshtastic/Meshtastic-protobufs/pull/14/files |
Thanks @crossan007 |
This pull request has been mentioned on Meshtastic. There might be relevant details there: https://meshtastic.discourse.group/t/temperature-sensing/2668/4 |
Adds a custom UI Frame to display environment details.
mesh.mp4
Plugins may be allocated their own frame by overriding in their header:
When this is defined, the UI will call the plugin's
drawFrame(OLEDDisplay *display, OLEDDisplayUiState *state, int16_t x, int16_t y);
methodKnown bugs:
Receiving a text message will drop you to the 0th UI Frame; which used to be the text message frame, but is now the environment frame