Commit graph

58 commits

Author SHA1 Message Date
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
Matthew Colvin
7967300508 Add Template Class for Notification to allow for easier creation of notifications 2023-09-09 21:47:04 -04:00
Matthew Colvin
d73b816578 Add docs around battery notifications 2023-09-09 21:47:04 -04:00
Matthew Colvin
6268a28682 rough draft a callback inside HardwareAbstract
to show concept.
2023-09-09 21:45:58 -04:00
Matthew Colvin
35de08d2e3 add display interface to HardwareAbstract 2023-09-09 21:44:47 -04:00
Thomas Bittner
03c4441bb0 Added seperate UI HAL interface
* DisplayInterface now is for hardware display only
* UIInterface is the general interface for UI
2023-09-09 21:44:47 -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
6bbc0e5e5d Add Quick draft of some UML to help conceptualize the Architecture a bit better. 2023-09-09 21:44:47 -04:00
Matthew Colvin
a771c64c71 rename interface folder to HardwareInterfaces
rename HardwareInterface file to hardware
abstract.

update ini to reflect new file structure
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
Thomas Bittner
e2138764ac Added new interface abstract classes 2023-09-09 21:44:47 -04:00
Max
b31f7e04bd Fixed screen height
- corrected the SCREEN_HEIGHT
- small graphical changes in OmoteUI to make it look like in the main branch
2023-09-09 21:44:47 -04:00
Matthew Colvin
64c61425da Fix ESP32 Windows build after battling escape characters.
Add esp32 Windows target to Actions.
2023-09-09 21:44:47 -04:00
Matthew Colvin
bcfda0641c clean up build defines by using platform.ini to override default lv_config.
remove unneeded include directory.

Change-Id: Id63baa80dae89977d239a539b5db9ff67266e1d6
2023-09-09 21:44:46 -04:00
Matthew Colvin
d2051daf8b ensure all targets build
remove unused assets.c
add new github actions that reflect new simulator
2023-09-09 21:44:46 -04:00
Matthew Colvin
4185ff3bb6 put init code into HardwareSimulator Class 2023-09-09 21:44:46 -04:00
Matthew Colvin
834780ce83 lvgl simulator working. 2023-09-09 21:44:46 -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
999bb78f06 rename HardwareAbstractionInterface files
Change-Id: Ifb6a96c38da61cb80aabc6c929e392a2fc91cf29
2023-09-09 21:44:46 -04:00
Matthew Colvin
55e2713127 rename hardwareAbstractionInterface
Change-Id: I39a9bcd7fc4d92b271a40a869faae7870d6d88a1
2023-09-09 21:44:46 -04:00
Matthew Colvin
a0a46f729f add batteryStatus info and allow access to it through the interface.
Change-Id: Ieb748b1478d532f52ffff9edc783de3cbcf9f303
2023-09-09 21:44:46 -04:00
Matthew Colvin
b09d4f7331 Implement MQTT publish in HardwareRevX
Change-Id: I7b6955a662716f83dd8daf34128a353efa26bf80
2023-09-09 21:44:46 -04:00
Max K
be0aafaffc fixed a typo 2023-09-09 21:44:46 -04:00
Max
1f12bcab3d Added missing library components
Added the missing library symbols, footprints and 3D-models. These are all in a project-specific library called "omoteLib" (#19)
2023-09-09 21:44:46 -04:00
Max
73fe6f2ebb Lower default SPI Clock
Lowered the default SPI clock as some displays might show glitches with the SPI frequency set above 40MHz.
2023-09-09 21:44:46 -04:00
Matthew Colvin
f1ff9ed3d2
Lay the ground work for a hardware abstraction layer (#15)
* Pull out OmoteUI into its own hpp/cpp that
only controls UI/UX
Added HardwareAbstractionInterface to allow UI to be decoupled

Add OmoteUI class/Header to visual studio solution
Bump the compiler to c++17 for std::clamp

* code format
update visual studio solution to build all versions properly

Pull pin defs into config file
use config file to allow USE_SIMULATOR checks in OmoteUI
this will allow the sim to compile in specific code within the UI

* put pin mode config into hardwarerevX class along with some other hardware things. Still lots of work to pull everything into the HAL.

Change-Id: If3cacc43d43670b0ff2233140b1cff66a4aeb48d

* pull Prefrences, IMU interrupt and sleep into the hardware class

Change-Id: I082ae086ed70306789df80eafce8870a5cdfd125

* pull in touch screen, IMU and slow screen wake into hardware

Change-Id: I61b49a6d0551463becbc3bdf1418ac9fde9d9376

* Pull wifi and IR into Hardware RevX
pull last bit of global variables into hardware rev

* un public everything

* clean up simulator build

* rename loop handler
reorder setup to better match the origional main

* Add Loop Handler that updates UI

* Add images to their own file to shrink OmoteUI

* Allow Wifi to be turned off with the macro

* Update Battery Update Task instead of a time based check and update

* Clean up abstract interface
move defenitions out of hardwareRevX.hpp into cpp

* reorder HardwareRevX functions

* Add comment blocks to top of headers

---------

Co-authored-by: Matthew Colvin <35540398+Mc067415@users.noreply.github.com>
Co-authored-by: Matthew Colvin <Matthew.Colvin@garmin.com>
2023-07-31 20:28:10 +02:00
Max
be3a203fe5 action badges added 2023-07-28 13:19:26 +02:00
Matthew Colvin
65d6eb96f2
Add actions (#16)
* add platformIO build action

Change-Id: I945ec3be82dbc862525bf81540e1c6ef267be476

* add simulator build actions
including x64 and x86 build targets

* remove metaproj used for debugging the actions

Change-Id: Ifec6796326c1f41bd0209a152efa7bb0502a9af7

---------

Co-authored-by: Matthew Colvin <Matthew.Colvin@garmin.com>
2023-07-28 12:35:16 +02:00
Max K
4eb6590c58
added instruction for the simulator 2023-07-23 20:04:46 +02:00
Max K
53f9d1b2e0
LVGL simulator fix
Added obj folder to lvgl
2023-07-23 19:10:25 +02:00
Max
bab8794253 unnecessary files removed 2023-07-23 18:06:28 +02:00
Max K
8f74f63522
Merge pull request #5 from eltociear/patch-1
Fix typo in ftsdf.c
2023-07-23 16:09:08 +02:00
Max
4704080409 New Readme 2023-07-21 22:23:39 +02:00
Max K
4dd89d4b88
Update BOM.csv 2023-07-16 22:12:54 +02:00
Max K
756450ea2c
BOM fixes
- part count fixed (#8)
- J1 added as optional component
2023-07-16 22:12:28 +02:00
Max K
963e455637
fixed missing part in BOM 2023-07-15 12:41:46 +02:00
Max K
b54007f017
Fixed missing parts in BOM
R1, R38, R39, R40
2023-07-15 12:31:49 +02:00
Ikko Eltociear Ashimine
61b956a934
Fix typo in ftsdf.c
arbitary -> arbitrary
2023-07-12 00:57:40 +09:00