* Initial support for the ThinkNode M5
* Update variants/esp32s3/ELECROW-ThinkNode-M5/platformio.ini
Co-authored-by: Austin <vidplace7@gmail.com>
* Cleanup variant.h for Elecrow Thinknode M5
* Properly detect battery voltage
* Turn backlight off when screen sleeps
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Austin <vidplace7@gmail.com>
* Add TraceRoute function to menus and modules to support node path tracing
* Adjust text spacing and line wrapping logic in trace route result result.
* Add HAS_SCREEN for TraceRouteModule drawFrame.
---------
Co-authored-by: Tom Fifield <tom@tomfifield.net>
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Unify the shutdown proceedure
* Don't double save nodeDB on shutdown
* Re-tool button shutdown to better correspond to tones
* Beep then save
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Calculate the length of the right string and use it
* Improve readability of Version Number
* Prevent negative message IDs and proactively favorite DM'd nodes
* Patch up Remove Favorite functionality
* Fix warnings for TFT_MESH_* and hasSupportBrightness
* Fix warning around casting variables
* Correct Favorite Node Behavior to rebuild favorite nodes when updated.
* Resolve bool kb_found issue not working for second discovery keyboards
---------
Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz>
* Clock updates and some TDeck corrections
* TDeck Brightness Works in TFT Builds
* Remove HAS_TFT from enabling Brightness, disable Brightness for TDeck
* Add default textMessage frame actions and adjust SharedUIDisplay
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
The screen of the heltec wireless tracker uses the same power source as the GPS. If the GPS turns off the power during the screen shutdown period and then turns on the power, the screen will not function properly. So initialize the screen every time it starts.
* No delay between UI frame rendering for OLED
* force redraw the display
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Jason P <applewiz@mac.com>
* feat(display): enable screen wake on received messages
* feat(menu): add Screen Wakeup option in system menu
* feat(ui): update wake on message configuration and refactor save logic
* feat(TextMessageModule): conditionally trigger screen wake on received message
* Refactoring system menu options for notification and screen.
* Fix MUI options in the system menu.
* Build out Reboot/Shutdown Menu and consolidate options within it
* Trunk fixes
* Protobuf ref
* Revert generated files
* Update plumbing for screen_wakeup_menu
* Begin work on crafting a method to stop screen wake for received messages
* SharedUIDisplay.cpp doesn't need ExternalNotificationModule.h
* Stop screen wake if External Notification is enabled
* Removing extra log lines
* Add role and battery state checks for not waking screen. Menu updates to resolve some Back options not being linked
* Resolve some additional merge conflict related issues
* Shouldn't throttle the power menu
* Finalize renames of some menus
* Flip Flop MUI Menu to avoid accidental clicks
* NULL check for powerStatus
* Remove "Wakeup" eNum
* Update src/graphics/Screen.cpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* CoPilot was close this should fix the builds
---------
Co-authored-by: whywilson <m.tools@qq.com>
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Tests to identify display model
* (InkHUD) SSD1682 controller IC
Has a few quirks, gets its own base class
* (InkHUD) E0213A367 Display
For Heltec Wireless Paper V1.1.1, V1.2
For Heltec VM-E213 V1.1
* (InkHUD) Select display model at boot
* (BaseUI) Wrapper to combine multiple GxEPD2 drivers
Workaround for issue of GxEPD2_BW objects not having a shared base class. Allows us to select a driver at runtime.
https://github.com/meshtastic/firmware/issues/6851#issuecomment-2905353447
* (BaseUI) Select E-Ink model at boot
* (InkHUD) SSD1682 deep sleep
* (InkHUD) No deep sleep for SSD1682
* (InkHUD) Fully no-op deep sleep for SSD1682
* Testing battery states with some info lines in the drawCommonHeader
* Update logic of USB connected, update images for states
* Tweak battery layout for isHighResolution
* Hide the magic 101%
* Adjust padding for SENSECAP_INDICATOR
* Excessive logs are unnecessary as troubleshooting is done.
* Reduce excess code - simplify readability
* Restore Lightning Bolt for Charging and related alignment issues
---------
Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz>
* Honor custom boot screen from userPrefs.jsonc
* Meshtastic logo when powered off, userPrefs logo at boot
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Initial work on splitting notification renderer into components for reuse
* More progress
* Fix notification popup
* more fix, less crash
* Adjustments for OLED on keeping menus tidy, added Bluetooth Toggle to Home frame. Also widen the frame slightly if you have a scroll bar
* Small changes for EInk to not crowd elements
* Change System frame menu over to better match actions; added color picker for T114
* Fix build errors and add T190 for testing
* Logic gates are hard sometimes
* Screen Color Picker changes, defined Yellow as a Color.
* Additional colors and tuning
* Abandon std::sort in NodeDB, and associated fixes (#7175)
* Generate short name for nodes that don't have user yet
* Add reboot menu
* Sort fixes
* noop sort option to avoid infinite loop
* Refactor Overlay Banner
* Continuing work on Color Picker
* Add BaseUI menus to add and remove Favorited Nodes
* Create TFT_MESH_OVERRIDE for variants.h and defined colors
* Trigger a NodeStatus update at the end of setup() to get fresh data on display at boot.
* T114 defaults to White, Yellow is now bright Yellow
* Revert "T114 defaults to White, Yellow is now bright Yellow"
This reverts commit 8d05e17f11.
* Only show OEM text if not OLED
* Adjust OEM logo to maximize visible area
* Start plumbing in Color Picker changes
* Finished plumbing
* Fix warning
* Revert "Fix warning"
This reverts commit 2e8aecd52d.
* Fix display not fully redrawing
* T-Deck should get color too
* Emote Revamp
* Update emotes.cpp
* Poo Emote fix
* Trunk fix
* Add secret test menu and number picker
* Missed bits
* Save colors between reboots
* Save Clock Face election to protobuf
* Make reboot first, then settings
* Add padding for single line pop-ups
* Compass saving and faster menus
* Resolve build issue with Excluding GPS
* Resolve issue with memory bars on EInk
* Add brightness settings for supported screen (#7182)
* Add brightness menu.
* add loop destination selection.
* Bring back color (and sanity) to the menus!
* Trunk
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Jason P <applewiz@mac.com>
Co-authored-by: HarukiToreda <116696711+HarukiToreda@users.noreply.github.com>
Co-authored-by: Wilson <m.tools@qq.com>
* Add 12pt fonts
* Add fontMedium
In addition to fontSmall and fontLarge
* Set fonts in nicheGraphics.h
* Change all uses of fontLarge to fontMedium
fontLarge was previously set at 9pt. fontLarge is now 12pt, fontMedium is 9pt. (NB: fonts may be customized per-variant)
* Use fontLarge with "All Messages" and "DMs" applets
* Documentation
* Added option to invert screen on InkHUD
* Rewrite to make use of existing config.display.displaymode
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Fix LED pinout for T-Echo board marked v1.0, date 2021-6-28
* Merge PR #420
* Fixed double and missing Default class.
* Use correct format specifier and fixed typo.
* Removed duplicate code.
* Fix error: #if with no expression
* Fix warning: extra tokens at end of #endif directive.
* Fix antenna switching logic. Complementary-pin control logic is required on the rp2040-lora board.
* Fix deprecated macros.
* Set RP2040 in dormant mode when deep sleep is triggered.
* Fix array out of bounds read.
* Admin key count needs to be set otherwise the key will be zero loaded after reset.
* Don't reset the admin key size when loading defaults. Preserve an existing key in config if possible.
* Remove log spam when reading INA voltage sensor.
* Remove static declaration for admin keys from userPrefs.h. Load hard coded admin keys in case config file has empty slots.
* Removed newlines from log.
* Fix issue #5665.
* Fix build for Pico2 RP2350 platform.
* Enable Wifi client on Pico2W.
* Use correct processor on Pico2.
* Fix deprecated warning.
* Update platform and framework for RP2350.
* Added Pico2W variant including Wifi support.
* Fix typo in used variant.
* Remove obsolete define.
* Fix for native Linux build.
* Simplify RP2350 platform tag reference.
Co-authored-by: Austin <vidplace7@gmail.com>
* Cast user prefs strings.
* Update to last successfully building platform package.
* Define I2C GPIOs to ensure usage of both ports. Possibly fixes#5361
* RAK11310 support for RAK12002 RTC added.
* Update platform and framework packages to 4.4.3.
* Use RP2040 base platform and framework package. Use RAK11300 board definition in arduino-pico framework.
* Use RAK11300 board definition in arduino-pico framework.
* Fix build when MESHTASTIC_EXCLUDE_GPS is defined.
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Thomas Göttgens <tgoettgens@gmail.com>
Co-authored-by: GUVWAF <78759985+GUVWAF@users.noreply.github.com>
Co-authored-by: Austin <vidplace7@gmail.com>
Co-authored-by: Tom Fifield <tom@tomfifield.net>