* 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>
Remove lib_deps section for all PlatformIO envs which are unneeded (only references the `extends` lib_deps, thus pointless)
This makes the configs more concise and make future PIO variants/ libdeps audits easier.
We set the buffer size to about a byte on NRF52480, less than
other platforms:
esp32.ini: -DSERIAL_BUFFER_SIZE=4096
esp32c6.ini: -DSERIAL_BUFFER_SIZE=4096
nrf52.ini: -DSERIAL_BUFFER_SIZE=1024
However, 115200 baud, like the T1000e uses is about 12 times that
- almost 15 bytes per millisecond.
15 bytes * 200 millisecond (our GPS poll rate) = 3000 bytes, which is longer than our buffer
on the nrf52 platform. This causes "GPS Buffer full" errors on the T1000e
and other devices based on NRF52480 with newer GPS chips.
This patch increases SERIAL_BUFFER_SIZE for nrf52480 to 4096 to align with
other platforms. It keeps the original 1024 for the nrf52832, which has
fewer resources.
Fixes https://github.com/meshtastic/firmware/issues/5767
* Improve NRF52 bluetooth power efficiency
* test T114 bad LFXO
* T1000 test
* force BLE param negotiation
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Add mesh/Default.h include.
* Reflacter OnScreenKeyBoard Module, do not interrupt keyboard when new message comes.
* feat: Add long press scrolling for Joystick and upDown Encoder on baseUI frames and menus.
* refactor: Clean up code formatting and improve readability in Screen and OnScreenKeyboardModule
* Fix navigation on UpDownEncoder, default was RotaryEncoder while bringing the T_LORA_PAGER
* Update src/graphics/draw/MenuHandler.cpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/modules/OnScreenKeyboardModule.h
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/graphics/draw/NotificationRenderer.cpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Optimize the detection logic for repeated events of the arrow keys.
* Fixed parameter names in the OnScreenKeyboardModule::start
* Trunk fix
* Reflator OnScreenKeyboard Input checking, make it simple
* Simplify long press logic in OnScreenKeyboardModule.
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* changes of variants/nrf52840/nrf52.ini and variants/nrf52840/rak4631/platformio.ini
* try for nrf52 size reduction, faketec exclude unused radios and meshlink refactor
* can't exclude LR11X0 as in schematic there's option for LR1121
* remove -Map flag and -Wl
* removed spaces causing error
---------
Co-authored-by: macvenez <macvenez@gmail.com>
* Delete variants/nrf52840/diy/nrf52_promicro_diy_tcxo/Schematic_Pro-Micro_Pinouts.pdf
remove old file
* Add updated schematic
* Update GPS TX and RX pin definitions after swap
* Update GPS pin definitions and schematic link
Updated the schematic link to reflect GPS pin definition changes.
* Plain RAK4631 should not compile EInk and TFT display code
* Add USE_TFTDISPLAY to variant files.
* Derp
* Undo the platformio.ini changes to heltec_v4
* Drop unneeded src_filter lines
---------
Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz>
Co-authored-by: Jason P <applewiz@mac.com>
* Flags and scripts for size reduction on NRF52 -> Currently targeting rak4631
* Changes from the other branch poluted it
* Remove the stripper
* No strip
* Swap the GPS serial port pins.
* Trunk fixes
---------
Co-authored-by: Jason P <applewiz@mac.com>
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* Added OCV_ARRAY from measured discharge curve testing and update ADC multiplier
The ADC resistor divider ratio is 0.6 -> multiplier should be 1/0.6 ~=1.667
We data logged a full discharge curve at constant 100mA draw over 15hours to get a realistic voltage curve for battery SoC measurements.
* Remove power.h in favor of variant.h
---------
Co-authored-by: Jason P <applewiz@mac.com>
Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz>
* Make RAK4631 nodes power back on deep sleep
The devices will hang if the VBAT goes under 1.7V (Brown-out reset) and
they will never come back unless power supply goes completely off.
This kills unattended nodes.
Using the SystemOff the LPCOMP we can get the nodes back again when
power comes back, even if VBAT goes under 1.7V, which moreover is more
unlikely because the device is off.
* Adding support for heltec t114
And moved particularities to variant.h
* Remove old cpp comment that belongs to variant.h
It was a leftover.
* Trunk fix
---------
Co-authored-by: Tom Fifield <tom@tomfifield.net>
* Update to Pro-micro variants
Schematic updated
Xtal variant removed
Extra module added to list
Extra explanation added to readme.
* Fix markdown formatting in readme.md
* Fix formatting in readme.md for RF switch section
---------
Co-authored-by: Tom <116762865+Nestpebble@users.noreply.github.com>