Commit graph

69 commits

Author SHA1 Message Date
MatthewColvin
29f58d406f use threads in wifi handler sim to simulate a bit of delay in the notifications like on hardware. 2023-10-18 19:09:09 -05:00
MatthewColvin
45160ceac5 fix platform.ini intellisense generation
rework wifiInterface and wifiHandler for esp32 target
2023-10-18 18:24:40 -05:00
MatthewColvin
ae7bc0da54 added full ability to connect to wifi 2023-10-17 17:30:41 -05:00
MatthewColvin
efa2d4a137 Rework Mains so they are basically as identical as possible.
Create HardwareFactory which is responsible for providing the HardwareAbstract to any part of the program based on compiler defines
2023-10-15 08:24:29 -05:00
MatthewColvin
38ec26dce7 rework Notifications by adding handler class that can unregister when it falls out of scope.
rework wifi Interface around this new concept and patch up some old uses of notifications to follow new paradigm

compile out old UI code because notification refactor broke it.
2023-10-15 00:22:43 -05:00
Matthew Colvin
02b664b893 fix linux build breaks of sim build 2023-10-12 15:24:38 -05:00
MatthewColvin
ddbfc13e55 Update SDLDisplay so it finds the window based on events that way it works on windows and Ubuntu 2023-10-10 13:37:16 -05:00
MatthewColvin
4a5c83c8b9 fully implement Key press handeling in HAL for esp32 hardware and switch hardware to use the refactored UI
make UI add widgets on button presses as a demo
2023-10-05 09:53:07 -05:00
MatthewColvin
7434f0b4da add initial Key press implementation for hardware next is to actually spin up something to queue and handle key events 2023-10-04 11:42:45 -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
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
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
Matthew Colvin
6a78c4cfa1
Refine and implement hardware interface (#37) 2023-09-14 06:34:04 +02:00
Paul Hortiatis
8f84423f7e
Remove dead code 2023-09-12 12:02:53 -04: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
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
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
Thomas Bittner
5cd4c6f379 Updated wifi handler to use general wifiHandlerInterface 2023-09-09 21:47:04 -04:00
Thomas Bittner
53fa7b7c87 Added wifi UI and change debug print function
* HardwareAbstract debug print function now uses VA_LIST
* Added wifi handling UI
* Notification items currently part of hardware abstract
2023-09-09 21:47:04 -04:00
Thomas Bittner
02d973f8b1 Updated user interface with wifi settings page 2023-09-09 21:47:04 -04:00
Matthew Colvin
fe51337458 Remove timer passed into display and convert to a notification send out by the display class
Handle that notification by resetting the sleep timer.
2023-09-09 21:47:04 -04:00
Matthew Colvin
916f589344 Update Notification class to allow for easier reference to the handler type 2023-09-09 21:47:04 -04:00
Matthew Colvin
7a9dc1d93d Implement Simulator Display Abstract without public function support. 2023-09-09 21:47:04 -04:00
Matthew Colvin
b182f0b75d move display abstract to first parameter of hardware
abstract and no longer provide a default for it.
2023-09-09 21:47:04 -04:00
Matthew Colvin
509d71cdaa rename HardwareInterfaces folder to hardwaremodules
since it now contains an abstract
2023-09-09 21:47:04 -04:00
Matthew Colvin
ddccfa141d Rename DisplayInterface file to DisplayAbstract 2023-09-09 21:47:04 -04:00
Matthew Colvin
305541bc52 Rename from Display Interface to abstract 2023-09-09 21:47:04 -04:00
Matthew Colvin
5731148bf6 Turn Display Interface into a singleton Abstract class that can do the registration of callbacks to LVGL and allow implementers of the abstract to support LVGL. 2023-09-09 21:47:04 -04:00
Matthew Colvin
419ac45e98 update Display interface and downstream code to add flush callback
Hoping to allow implementation of interface to allow Hardware abstract to setup LVGL
2023-09-09 21:47:04 -04:00
Matthew Colvin
40841c8d09 remove unnecessary battery in HardwareRevX 2023-09-09 21:47:04 -04:00
Matthew Colvin
bbcb6368d0 remove wifi code from hardwareRevX 2023-09-09 21:47:04 -04:00
Matthew Colvin
b3aa617a59 Implement Battery Update Task in HardwareRevX 2023-09-09 21:47:04 -04:00