* 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>
* Refactor EInkDisplay
A lot of variant specific code is merged, with the macros pushed to the respective variant.h files.
"Dynamic Partial" code has been purged, pending a rewrite.
* fix: declare class only if USE_EINK, init all members
* refactor: move macros to platformio.ini
Responds to https://github.com/meshtastic/firmware/pull/3299#issuecomment-1966425926
* fix: EInkDisplay::connect() references old macros
Usage was in a block of variant-specific code, which had been intentionally left untouched.
* fix: remove duplicate macros from variant.h
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Fix Heltec Tracker Screen issues
Fix Heltec Tracker Screen issues like wrong offsets, display size and screen not shutting down.
Divides board into two different envs for 1.0 and 1.1 version PCB
* Helteck wireless tracker default version V1_1
* rename heltec tracker 1.1 - trunk fmt
rename varian of heltec tracker 1.1 to "heltec tracker" to be retro-compatible.
Trunk formatting.
* Heltec Tracker increase Screen update to 3Hz
Heltec Tracker increase Screen update to 3Hz from 1Hz
Use a mixture of full refresh, partial refresh, and skipped updates, balancing urgency and display health.
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
E-ink panel is DEPG0213BNS800. Otherwise, identical to v1.1 (?)
Partial refresh supported, but not implemented in this commit.
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Add Chatter 2 default_envs
* Add Chatter 2 to varients
* Add Chatter 2 specific code to esp32 platform code
* Parameterize TFT_INVERT for Chatter 2 and specify setRotation to 1
* Fix formatting to make Trunk happy
* Remove commented out #define USE_LCC68
* Fix formatting again
* Add chatter2 to the CI matrix
---------
Co-authored-by: code8buster <20384924+code8buster@users.noreply.github.com>
* Move to Portduino's getMacAddr()
* Add ST7735/S screen support
* Push Raspbian support into native target
* Remove latent pigpio references.
* CardKB defensive programming
* Adds configurable spidev
* Fixes to build on Fedora 40
* ENUMs are not #defines. Pull latest portduino
* Add more configuration options for SPI displays
* Add config.yaml option to set DIO3_TCXO_VOLTAGE
* change tft clear() to fillScreen()
Maintains compatability with ESPI driver.
* Adds TXen and RXen pins to portduino
* Add -c --config options to specify config file
* Fail when a specified config file is unavailable
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Attempts at getting the Heltec Wireless Paper eink operational
* Bogus comment
* Fixing Support For Heltec Wireless Paper
---------
Co-authored-by: NfN Orange <orange@reveb.la>
* Pico W: Initial WiFi support: connects, but freezes after a while
* Update arduino-pico core to fix hang with Wi-Fi
* Add `picow` to workflow since it's different from `pico` now
* Show Wi-Fi frame on screen for all devices with Wi-Fi
* Pico W: Disable mDNS as it's unsupported with FreeRTOS
* Fix printing IP address
* Fix Raspbian build
* Pico W: Initial WiFi support: connects, but freezes after a while
* Update arduino-pico core to fix hang with Wi-Fi
* Add `picow` to workflow since it's different from `pico` now
* Add support for the rak10701 board, no touch
* Moved tftblack fillin and changed teh src flags
* Added rak10701 to platformio.ini
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Refactor away some duplication
* Refactor preset names to display formatter method
* Remove unused screen brightness adjustment and extract wifi disconnect reason name to display formatter method
* Tronk
* Let's be more clear with this naming
* Effed
* DisplayFormatters static class and use native wifi disconnect reason names method
* git mv file so casing should match now
* Include titlecase
* Trunk
* - Permanently Enable Canned Messages on T-Deck and Picomputer
- picomputer has a really dark TFT; switch color to white for better UX.
* well, you know... bullock...
* Extend node max to 100 and remove mesh_sds_timeout_secs
* Const pointers for you and you and you
* Fixes and supressions
* Missed it
* uint
* Resize
* Derp
* T-Watch WIP
* Updates
* Temp
* Update screen spi bus and and backlight en
* Peripherals progress
* Fixes
* Fixes
* Updates
* DRV scaffolding
* Fixed touch-screen driver selection. WIP on DRV haptic feedback
* DRV2605 pmu channel
* Trunk
* Fixes and defaults
* Dropped an s
* Move PMU and turn off screen that way
* Add t-deck and t-watch-s3 to CI and cleanup
* More cleanup
* add hwid for auto-detection
* fix: heltec-wireless-tracker USB serial
* T-Deck support
* trunk fmt
* set FRAMERATE to 1
* fix some defines
* trunk fmt
* corrected vendor link
* WIP
* Comment
* WIP
* TFT_CTRL
* Update platformio.ini
update to current latest version available
* Update EInkDisplay2.cpp
Is the e-ink Display a DEPG0213BN ?
* Logging
* trunk fmt
---------
Co-authored-by: Mark Trevor Birss <markbirss@gmail.com>
* Initial support for MonteOps's fixed hardware platform
* Update platformio env config + cleanup
* Fix platformio build
* Fix platformio build
* Fix wrong definition logic for NCP5623
* Fix another wrong definition logic for NCP5623, it's not board feature
* Fix wrong definition logic for NCP5623 in External Notification code, it's not board feature
* We need for CI magic here
* Another fix related to NCP5623
* Fix cosmetic issue with redifined variable
* Fix typo
* Cleanup and update defs for HW1
* Fix OEM RAK4631
* Fix AQ sensor reading
* Fix AQ sensor reading (better variant)
* Fix build for other nRF52 devices
* Replace HAS_EINK_RAK to RAK_4631
* Implement override_console_serial_port
* It's opposite day in Logictown
* Try to use native serial types for platforms
* Fix for s3
* Trunk
* Screw it... just declare as Print and handle init
* Alright, chatty kathy
* Missed a spot
* I'll take "Kill that FIXME" for 800, Alex
* Badunkadunk
* Refactor out a lot of duplicated code
* Boogers
* Okay I probably should stop changing everything
* Fix LOG_DEBUG messages when no DEBUG_PORT.
* Fix LOG_DEBUG messages when no DEBUG_PORT.
* Fix LOG_DEBUG messages when no DEBUG_PORT.
* Fix LOG_DEBUG messages when no DEBUG_PORT.
* Break i2cScan out into a set of classes for scanning i2c
* refactor i2cscan addresses to be structs that allow addressing by port + address
* build whoopsies
* trunk fmt
* trunk fmt
* lost some build fixes from the merge
* more cleaning for build safety, RTC behavior
* Fix overlapping of GPS message on screen carousel #1
* Any reason we shouldn't display this on a RAK w/ E-ink or similar non-PMU equipped boards?
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>