MatthewColvin
a19e84ee80
convert single LvglMutex into a Lvgl resource manager that will allow for easy multi threaded use of Lvgl through program.
2023-10-03 20:40:17 -05:00
MatthewColvin
94d75fa4d5
Make Key press sim use SDL event watcher for key event grabbing.
...
Create a mutex for UI that will help make it possible to run handlers that update UI elements on seprate threads.
its far from perfect but should hold up for now.
2023-10-02 20:41:42 -05:00
MatthewColvin
3bd2b1a98a
propigate key events around UI
...
use key events to add and remove sliders from settings as example
2023-10-01 18:53:25 -05:00
MatthewColvin
a44e92ea5d
Add boiler plate Key Handling Into the UI code for UI elements
2023-09-29 16:03:51 -05:00
MatthewColvin
160114f54c
move from constructing keypress abstract with handler into setting the handler so that it can be set by the UI.
2023-09-29 15:27:54 -05:00
MatthewColvin
5ed9fcc3d0
remove dead HardwareInterface file likely from a bad merge.
2023-09-29 11:53:27 -05:00
MatthewColvin
414f711373
Add KeyPress Abstract and a KeyPress Simulator
...
as beginning stages for forwarding key events to the UI.
2023-09-29 11:52:48 -05:00
Matthew Colvin
0796176a0e
Add Getters and setters for X and Y values
...
had to make sure the getters properly calculated layout before retrieving values.
Add a Tab class to allow for better control of adding content into the tabs and managing the contents once its in there.
Use setting class to do a quick demo of the OnShow code abilities. This could be useful for things like settings pages that need to load up HW resources when they are shown but then can power them down when they are hidden.
2023-09-23 01:06:06 -05:00
Matthew Colvin
7c089e395a
Add an Helper in UIElement that converts lvgl object into UIElements or children via a static cast.
...
Make Tabview a friend of Base Page to allow it to notify pages that they are hidden or showing.
Implement the notification in Tabview to allow pages to know they are showing.
2023-09-22 23:36:25 -05:00
Matthew Colvin
1cc65594a9
Added concept of Background Screen that allows for construction of pages before knowing the final parent.
...
This will allow for easy creation of "pages" that can be layed out internally and passed to different screens and cleaned up when screens are cleaned up by the screen manager
add set width and height to base elements that allow for easy resizing
Create a settings page and make it red.
Test adding 2 tabs with the Page
this currently does not do anything fantastic on simulator but it sets a strong foundation for managing multiple pages
2023-09-22 19:59:24 -05:00
MatthewColvin
7fd53ef2f8
switching computers so just commiting
2023-09-21 19:31:51 -05:00
MatthewColvin
f5b7b7bc5f
Merge remote-tracking branch 'upstream/abstraction' into UIRefactor
2023-09-17 19:45:03 -05:00
Paul Hortiatis
59897369ec
Fixing settings in the abstraction branch ( #39 )
...
* Fixing settings
* updating the simulator
2023-09-17 12:14:39 +02:00
MatthewColvin
dfbfd7a6a8
Add visiblity API for UIElements
...
Add ability for Screen Manager to display screens
and retain others underneath in a stack fasion.
2023-09-16 21:43:07 -05:00
MatthewColvin
52cb2e7ce2
Add background color setter in UIElement
...
Use main to spawn refacoredBasic UI
Start using new screen manager and
screen concepts
2023-09-16 16:44:15 -05:00
MatthewColvin
6a4aa9a35c
Add an elements IDs class to allow for a way to determine what an object is.
2023-09-16 16:14:24 -05:00
MatthewColvin
1458aa7992
clang format code
2023-09-16 15:34:16 -05:00
MatthewColvin
91d7c9fffc
put old UI in UI::Basic namespace
2023-09-16 15:24:48 -05:00
MatthewColvin
f5ba2e9b84
Add base UIElement class and extend widget and screen
2023-09-16 15:13:23 -05:00
MatthewColvin
5cb4c1408d
flushed out the Base screen and widget classes a bit more
2023-09-16 14:46:59 -05:00
MatthewColvin
64a868a907
rename UIAbstract to UIBase and extend basic UI from it
2023-09-16 14:19:12 -05:00
MatthewColvin
40052d31b7
add base classes for screens and widgets
...
along with screen manager to allow place to manage multiple screens
2023-09-16 13:07:14 -05:00
MatthewColvin
5c6008c491
Add UI abstract and move some files into a basic folder
2023-09-16 12:45:12 -05:00
MatthewColvin
d37a587c5c
move task handler to UI class out of main
2023-09-16 12:36:33 -05:00
MatthewColvin
32c4230071
add poller to core folder
2023-09-16 12:31:18 -05:00
Matthew Colvin
6a78c4cfa1
Refine and implement hardware interface ( #37 )
2023-09-14 06:34:04 +02:00
Matthew Colvin
04936d1245
Merge pull request #3 from obi11235/backlight_fix
...
Back light fix
2023-09-12 13:09:54 -05:00
Paul Hortiatis
8f84423f7e
Remove dead code
2023-09-12 12:02:53 -04:00
Matthew Colvin
9fb98ee531
Merge pull request #2 from obi11235/wifi_fix
...
fixing issue when wifi connects but no connection was requested
2023-09-12 10:11:15 -05:00
Paul Hortiatis
f8ed2efacb
Cleanup
2023-09-12 10:10:21 -04:00
paul
6467c70f56
Merge branch 'wifi_fix' into backlight_fix
2023-09-12 00:04:19 -04:00
paul
94de4d165e
enabling connecting to wifi
2023-09-12 00:03:52 -04:00
paul
2adff0f1af
fix backlight
2023-09-11 23:56:33 -04:00
paul
db75db33d8
fixing issue when wifi connects but no connection was requested
2023-09-11 21:27:23 -04:00
MatthewColvin
11d4e8d7e5
Merge remote-tracking branch 'upstream/abstraction' into RefineAndImplementHardwareInterface
2023-09-09 22:38:48 -04:00
MatthewColvin
b03bfc3d03
Merge remote-tracking branch 'upstream/main' into RefineAndImplementHardwareInterface
2023-09-09 21:56:42 -04:00
MatthewColvin
6747c40df3
Fix bug in Display fade code with mutexes
2023-09-09 21:47:36 -04:00
Matthew Colvin
4a1eb8abfa
Added ability for sim to simulate brightness and battery along with displaying it via the title.
2023-09-09 21:47:36 -04:00
Matthew Colvin
b45de68ebb
Add get brightness to the displayAbstract to allow
...
removal of backlight brightness stored in OmoteUI class
"implement" new getter function in sim and esp32.
2023-09-09 21:47:36 -04:00
Matthew Colvin
23fedd8052
move construction of Hardware sim components
...
to member init list
2023-09-09 21:47:36 -04:00
Matthew Colvin
65162049b3
convert notification driven battery to lvgl timer based polling
...
using new poller class to simplify the battery interface and
downstream usages of battery.
tweaked poller destructor and remove the default constructor
in preference of using a unique pointer
convert simulator to use a std::thread for lvgl Tick api because
the SDL thread sleep was not true to time. (and is simplified the code...)
2023-09-09 21:47:36 -04:00
Matthew Colvin
ae7a7d6dab
modified poller to have callable first in constructor
2023-09-09 21:47:36 -04:00
Matthew Colvin
f5f856ba63
add poller to simplify polling UI updates
2023-09-09 21:47:36 -04:00
Thomas Bittner
47ccc214a0
Added new queues for inter task communication
2023-09-09 21:47:36 -04:00
Matthew Colvin
628ae37b9d
add fake battery Drain to simulator
...
Fake drain of a period of 3 minuets
2023-09-09 21:47:04 -04:00
Matthew Colvin
3318265e0a
restore logic for voltage charge up
...
still would like to investigate this
early return on display sleep and wake functions
use new sleep and wake functions in the hardware class to replace timing math.
2023-09-09 21:47:04 -04:00
Matthew Colvin
4ce4739ab0
add display fade logic via a task
2023-09-09 21:47:04 -04:00
Matthew Colvin
86edbbc541
remove hardware ref from display and
...
add touch handler to reset standby timer
2023-09-09 21:47:04 -04:00
Matthew Colvin
92c559df5e
rework battery Interface and downstream usages of battery
2023-09-09 21:47:04 -04:00
Thomas Bittner
43a930d7a8
Updated simulator to support new wifi selection UI
2023-09-09 21:47:04 -04:00