Commit graph

28 commits

Author SHA1 Message Date
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
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
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
2adff0f1af fix backlight 2023-09-11 23:56:33 -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
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
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
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
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
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
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
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
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
Matthew Colvin
1bbafd4bb5 update wifi interface and handler
add the wifi interface to the hardware abstract
2023-09-09 21:44:47 -04:00
Matthew Colvin
a4e35a2219 remove IR and
mqtt functions from hardwareAbstraction
2023-09-09 21:44:47 -04:00
Matthew Colvin
44b5d8cf14 rename HardwareInterface to HardwareAbstract in file 2023-09-09 21:44:47 -04:00
Matthew Colvin
85343d9bd4 Further update battery Interface and downstream code 2023-09-09 21:44:47 -04:00
Matthew Colvin
cd603a2a83 Update Battery Interface by adding it to hardwareInterface
Remove Display out of some classes and leave comments to replace for callbacks
I dont know about the function of this code but it compiles :)
2023-09-09 21:44:47 -04:00
Matthew Colvin
c4547917c8 Move Battery Status Struct to Battery Interface
Fix small compiler errors in new interfaces
2023-09-09 21:44:47 -04:00
Matthew Colvin
5b1228b167 Re work directory structure to support new architecture
Still need to get the Sim building
2023-09-09 21:44:46 -04:00
Matthew Colvin
7a9ee138db
Add platform io sim (#31)
* Lower default SPI Clock

Lowered the default SPI clock as some displays might show glitches with the SPI frequency set above 40MHz.

* Added missing library components

Added the missing library symbols, footprints and 3D-models. These are all in a project-specific library called "omoteLib" (#19)

* Implement MQTT publish in HardwareRevX

Change-Id: I7b6955a662716f83dd8daf34128a353efa26bf80

* add batteryStatus info and allow access to it through the interface.

Change-Id: Ieb748b1478d532f52ffff9edc783de3cbcf9f303

* rename hardwareAbstractionInterface

Change-Id: I39a9bcd7fc4d92b271a40a869faae7870d6d88a1

* rename HardwareAbstractionInterface files

Change-Id: Ifb6a96c38da61cb80aabc6c929e392a2fc91cf29

* fixed a typo

* Re work directory structure to support new architecture

Still need to get the Sim building

* lvgl simulator working.

* put init code into HardwareSimulator Class

* ensure all targets build
remove unused assets.c
add new github actions that reflect new simulator

* clean up build defines by using platform.ini to override default lv_config.
remove unneeded include directory.

Change-Id: Id63baa80dae89977d239a539b5db9ff67266e1d6

* Fix ESP32 Windows build after battling escape characters.
Add esp32 Windows target to Actions.

* Fixed screen height

- corrected the SCREEN_HEIGHT
- small graphical changes in OmoteUI to make it look like in the main branch

---------

Co-authored-by: Max <Max-MKA@web.de>
Co-authored-by: Matthew Colvin <Matthew.Colvin@garmin.com>
Co-authored-by: Matthew Colvin <35540398+Mc067415@users.noreply.github.com>
2023-08-12 00:16:48 +02:00
Renamed from Platformio/src/HardwareRevX.cpp (Browse further)