* Show owner.short_name on boot and sleep screen (on e-ink)
* Update Screen.cpp - new line for short_name
Boot screen short_name now below the region setting.
Looks better on small screens.
* Draw short_name on right
---------
Co-authored-by: Thomas Göttgens <tgoettgens@gmail.com>
Co-authored-by: todd-herbert <herbert.todd@gmail.com>
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Move static functions into Screen.h, show compass during calibration
* Move to _fontHeight macro to avoid collision
* Move some alert functions to new alert handler
* Catch missed reboot code
* ESP32 fixes
* Bump esp8266-oled-ssd1306
* Fixes for when a device has no screen
* Use new startAlert(char*) helper class
* Add EINK bits back to alert handling
* Add noop class for no-display devices
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Added "Hops away" on display
Added in logic that displays "hops away" instead of signal strength when the node is more than 0 hops away.
* Added comment
* Update extensions.json to same as master
* attempt 2 at reverting extensions JSON
* Attempt 3 at getting extensions right
* Take 4. should be reverting to before my edits
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Update images.h
Add some fun emojis
* Update Screen.cpp
Update Screen.cpp to display single emojis on the OLED of devices, if a single known emoji is detected
* Update images.h
add ? ! fog emojis
* Update Screen.cpp
add logic for new emojis
* Update Screen.cpp
correct formatting
* Update images.h
correct formatting
* Update Screen.cpp
change formatting via trunk application
* Update images.h
change formatting based on trunk application
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* E-Ink displays sometimes use timestamp instead of delta
* Allow users to disable E-Ink screensaver
* Clarify variable's purpose
* Operator order oopsie
* Picky print problem
* Implement for all display, not just E-Ink
* Align "unknown age" behavior with existing code
* One more use of timestamp, if screen is wide enough
* Updated kbI2cBase.cpp
Updated keyboard settings for t-deck to allow a modifier key to trigger 'tab', mute notifications, or quit. To trigger the modifier press the shift key and mic (0) button at the same time. Then press q (quit), m (mute), or t (tab).
* Update kbI2cBase.cpp
* fixed formatting issues in kbI2cBase.cpp
* Removed keyboard shortcut code that doesnt work
alt+t does not work on a t-deck so I removed it to avoid confusion.
* Updated kbI2cBase.cpp
Updated keyboard settings for t-deck to allow a modifier key to trigger 'tab', mute notifications, or quit. To trigger the modifier press the shift key and mic (0) button at the same time. Then press q (quit), m (mute), or t (tab).
* Update kbI2cBase.cpp
* fixed formatting issues in kbI2cBase.cpp
* Removed keyboard shortcut code that doesnt work
alt+t does not work on a t-deck so I removed it to avoid confusion.
* Changed modifier key to alt+c
* Added screen brightness functionality
Use modifier key with o(+) to increase brightness or i(-) to decrease.
Currently there are 4 levels of brightness, (L, ML, MH, H). I would like to add a popup message to tell you the brightness.
* Added checks to disable screen brightness changes on unsupported hardware
* Setting the brightness code to work on only applicable devices
* Added "function symbol" display to bottom right corner of screen. Now shows when mute is active or modifier key is pressed. Also fixed some other minor issues.
* commented out a log
* Reworked how modifier functions worked, added
I wasn’t happy with my previous implementation, and I think it would have caused issues with other devices. This should work on all devices.
* Added back the function I moved causing issue with versions
* Fixed the version conflicts, everything seems to work fine now
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Thomas Göttgens <tgoettgens@gmail.com>
* Update E-Ink display after sending adhoc ping or disable/enable GPS
* Resume display updates when touch button pressed
* Use touch hold as modifier; change double-click behavior for user button
* Fix preprocessor exclusions
* Purge backlight behavior
* Distinguish between 3x and 4x multi-presses
* Touch button considers "Wake screen on tap or motion" user-setting
* Don't assume device has BUTTON_PIN
* Rename misleading method
* remove redundant logic
* Handle special screens for old EInkDisplayClass
* Handle special screens for EInkDynamicDisplay class
* Join an async refresh in progress to avoid skipping screensaver
* attempt trunk fix
* fix Wireless Paper double-clear screen at boot
* log when flooded with "responsive" frames
* show the "resuming" screen when waking from deep-sleep
* rename drawDeepSleepScreen
avoid future confusion with "Screen Paused" screen
* show a screensaver frame when screen off
The frame shown during deep sleep is now also passed through showScreensaverFrames()
* Add macros for E-Ink color values.
OLEDDISPLAY_COLOR is inverted. Result of light-mode on E-Ink vs dark-mode on OLED?
* adapt drawDeepSleepScreen to new screensaver convention
* Mark Wireless Paper V1.1 as having problems with ghosting
Any other issues can be marked in a similar way, then handled in code where relevant
* Change screensaver from fullscreen logo to overlay
* identify "quirks" rather than "problems"
* move async refresh polling from display() to a NotifiedWorkerThread
* Prevent skipping of deep-sleep screen
(Hopefully)
* Redesign screensaver overlay
Now displays short name
* Optimize refresh for different displays
* Support older EInkDisplay class
* Don't assume text alignment
* fix spelling of a quirk macro
(No impact to code, but avoids future issues)
* Handle impossibly unlikely millis() overflow error
Should have just let it go, but here we are..
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Add MaxNodes to Native
* It compiles...
* Convert nodedb to use new
* Closer but still broken.
* Finally working
* Remove unintended lines
* Don't include a pointer
* Capitalization matters.
* avoid rename in protocol regen
* When trimming the nodeDB, start with a cleanup
* Remove extra cleanupMeshDB() call for now
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>