* 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>
* 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>
* 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
* 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
* 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
* 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>
recevieve-timestamp. So now it functions as a clock and due to the 900s
default screen-lock-timeout you still have an idea of when the message
was received.
* lay groundwork for a possible future architecture
* switch from feature opt-out to feature opt-in
* lay groundwork for a possible future architecture
* switch from feature opt-out to feature opt-in
* fix USE_RTC in variant.h for rak4631_epaper and t-echo
* ensure Screen.h is not included without configuration.h
Co-authored-by: Peter Lawrence <12226419+majbthrd@users.noreply.github.com>
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
- non-zero config.lora.bandwidth means a custom radio config, not 'Unknown'
- Enable 'this is a new device, set region' screen again now we can actually set region.
* First steps to unify GPS Lib for RAK 1910 and RAK 12500
* Technicalities. Out with the old and build the new.
* Adapt Matrix
* We use 0.4.5 now
* While we're at it, yank the RAK815, it's EOL
* Satisfy CI - for now
* - yank UBX library, talk to GPS chip with NMEA only.
- more autodetect going on, this time for the Eink Display.
TODO: actually do something with the scan findings.
* i swear this works on windows! :-)
* these are only there to make CI happy
* don't update eink display if not detected.
* Replace Oberon Crypt Library with modified Adafruit Library. This elimintaes the need for the sdk-nfxlib submodule.
* - Revert auto screen selection (incomplete)
- Revert nrF crypto engine (needs more work)
- add separate defines for not-auto-selecting screen lib.
* Define 2 new variants for RAK - with or without epaper
* Update variants
Co-authored-by: Sacha Weatherstone <sachaw100@hotmail.com>
Co-authored-by: Ben Meadors <thebentern@tuta.io>