OMOTE/LVGL Simulator/LVGL.Simulator/HardwareSimulator.hpp

30 lines
646 B
C++
Raw Normal View History

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 14:28:10 -04:00
#pragma once
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-11 18:16:48 -04:00
#include "HardwareInterface.h"
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 14:28:10 -04:00
#include <iostream>
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-11 18:16:48 -04:00
#include <string>
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 14:28:10 -04:00
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-11 18:16:48 -04:00
class HardwareSimulator : public HardwareInterface {
public:
HardwareSimulator() = default;
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 14:28:10 -04:00
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-11 18:16:48 -04:00
virtual void debugPrint(std::string message) override {
std::cout << message;
}
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 14:28:10 -04:00
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-11 18:16:48 -04:00
virtual void sendIR() override {}
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 14:28:10 -04:00
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-11 18:16:48 -04:00
virtual void MQTTPublish(const char *topic, const char *payload) override{
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 14:28:10 -04:00
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-11 18:16:48 -04:00
};
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 14:28:10 -04:00
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-11 18:16:48 -04:00
virtual void init() override { lv_init(); }
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 14:28:10 -04:00
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-11 18:16:48 -04:00
virtual batteryStatus getBatteryPercentage() {
batteryStatus fakeStatus;
fakeStatus.isCharging = false;
fakeStatus.percentage = 100;
fakeStatus.voltage = 4200;
return fakeStatus;
}
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 14:28:10 -04:00
};