* TwoButtonExtened mirrors TwoButton but added joystick functionality
* basic ui navigation with a joystick
settings->joystick.enabled setting added and SETTINGS_VERSION
incremented by one in InkHUD/Persistence.h
in seeed_wio_tracker_L1_eink/nicheGraphics.h enable joystick and
disable "Next Tile" menu item in
implement prevTile and prevApplet functions in
InkHUD/WindowManager.h,cpp and InkHUD/InkHUD.h,cpp
onStickCenterShort, onStickCenterLong, onStickUp, onStickDown,
onStickLeft, and onStickRight functions added to:
- InkHUD/InkHUD.h,cpp
- InkHUD/Events.h,cpp
- InkHUD/Applet.h
change navigation actions in InkHUD/Events.cpp events based on
whether the joystick is enabled or not
in seeed_wio_tracker_L1_eink/nicheGraphics.h connect joystick events to
the new joystick handler functions
* handle joystick input in NotificationApplet and TipsApplet
Both the joystick center short press and the user button short press can
be used to advance through the Tips applet.
dismiss notifications with any joystick input
* MenuApplet controls
allows menu navigation including a back button
* add AlignStickApplet for aligning the joystick with the screen
add joystick.aligned and joystick.alignment to InkHUD/Persistence.h for
storing alignment status and relative angle
create AlignStick applet that prompts the user for a joystick input and
rotates the controls to align with the screen
AlignStick applet is run after the tips applet if the joystick is
enabled and not aligned
add menu item for opening the AlignStick applet
* update tips applet with joystick controls
* format InkHUD additions
* fix stroke consistency when resizing joystick graphic
* tweak button tips for order consistency
* increase joystick debounce
* fix comments
* remove unnecessary '+'
* remap joystick controls to match standard inkHUD behavior
Input with a joystick now behaves as follows
User Button (joystick center):
- short press in applet -> opens menu
- long press in applet -> opens menu
- short press in menu -> selects
- long press in menu -> selects
Exit Button:
- short press in applet -> switches tile
- long press in applet -> nothing for now
- short press in menu -> closes menu
- long press in menu -> nothing for now
---------
Co-authored-by: scobert <scobert57@gmail.com>
Co-authored-by: HarukiToreda <116696711+HarukiToreda@users.noreply.github.com>
This is a non-breaking change that increases the internal representation
of node counts from uint8_t (max 255) to uint16_t (max 65535) to support
larger mesh networks, particularly on ESP32-S3 devices with PSRAM.
Changes:
- NodeStatus: numOnline, numTotal, lastNumTotal (uint8_t -> uint16_t)
- ProtobufModule: numOnlineNodes (uint8_t -> uint16_t)
- MapApplet: loop counters changed to size_t for consistency with getNumMeshNodes()
- NodeStatus: Fixed log format to use %u for unsigned integers
Note: Default class methods keep uint32_t for numOnlineNodes parameter
to match the public API and allow flexibility, even though internal node
counts use uint16_t (max 65535 nodes).
This change does NOT affect protobuf definitions, maintaining wire
compatibility with existing clients and devices.
* Add BaseUI support for L1 EInk
* Fix Eink offset
* Add joystick
* Updates
* Adjust Seeed Wio Tracker L1 E-Ink variant (#7326)
* Rename variant
Needs the -inkhud suffix to work correctly with the web flasher
* Display driver for ZJY122250_0213BAAMFGN
* Remove dead code from nicheGraphics.h
Remnants of T-Echo's nicheGraphics.h file, which was used as a template.
* Use ZJY122250_0213BAAMFGN driver
Improves display health. We don't need as many full refreshes now.
* Tidying
* board_check = true
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Consolidation
* Add hack for existing InkHUD button functionality
---------
Co-authored-by: todd-herbert <herbert.todd@gmail.com>
* Honor custom boot screen from userPrefs.jsonc
* Meshtastic logo when powered off, userPrefs logo at boot
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.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>
* Cram a few emoji into AdafruitGFX fonts
Values which would normally be assigned to unprintable control characters
* Another sneaky string which may contain UTF-8 chars
* Document emoji
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* initial commit of eink version
* fit for ssd1682 initial test run hud
* update to solve mirroring problem
* change eink screen ic to ssd1680
* remove HINK_E0213A367
* trunk fmt
* fix wrong type
* fix some fmt