rename loop handler
reorder setup to better match the origional main
This commit is contained in:
parent
5d1b0086fd
commit
e29e2aa7e9
4 changed files with 46 additions and 62 deletions
3
Platformio/.vscode/settings.json
vendored
3
Platformio/.vscode/settings.json
vendored
|
@ -53,5 +53,6 @@
|
|||
"typeinfo": "cpp"
|
||||
},
|
||||
"cmake.sourceDirectory": "${workspaceFolder}/.pio/libdeps/esp32/Adafruit BusIO",
|
||||
"editor.formatOnSave": false
|
||||
"editor.formatOnSave": false,
|
||||
"idf.portWin": "COM8"
|
||||
}
|
|
@ -62,49 +62,46 @@ HardwareRevX::WakeReason getWakeReason() {
|
|||
}
|
||||
|
||||
void HardwareRevX::init() {
|
||||
|
||||
// Make sure ESP32 is running at full speed
|
||||
setCpuFrequencyMhz(240);
|
||||
Serial.begin(115200);
|
||||
|
||||
wakeup_reason = getWakeReason();
|
||||
setupTouchScreen();
|
||||
|
||||
slowDisplayWakeup();
|
||||
|
||||
initIO();
|
||||
restorePreferences();
|
||||
setupBacklight();
|
||||
Serial.begin(115200);
|
||||
restorePreferences();
|
||||
slowDisplayWakeup();
|
||||
setupTFT();
|
||||
setupTouchScreen();
|
||||
initLVGL();
|
||||
setupWifi();
|
||||
setupIMU();
|
||||
setupIR();
|
||||
|
||||
initLVGL();
|
||||
debugPrint(std::string("Finished Hardware Setup in %d",millis()));
|
||||
}
|
||||
|
||||
void HardwareRevX::initLVGL() {
|
||||
{
|
||||
lv_init();
|
||||
lv_init();
|
||||
|
||||
lv_disp_draw_buf_init(&mdraw_buf, mbufA, mbufB,
|
||||
SCREEN_WIDTH * SCREEN_HEIGHT / 10);
|
||||
lv_disp_draw_buf_init(&mdraw_buf, mbufA, mbufB,
|
||||
SCREEN_WIDTH * SCREEN_HEIGHT / 10);
|
||||
|
||||
// Initialize the display driver
|
||||
static lv_disp_drv_t disp_drv;
|
||||
lv_disp_drv_init(&disp_drv);
|
||||
disp_drv.hor_res = SCREEN_WIDTH;
|
||||
disp_drv.ver_res = SCREEN_HEIGHT;
|
||||
disp_drv.flush_cb = &HardwareRevX::displayFlushImpl;
|
||||
disp_drv.draw_buf = &mdraw_buf;
|
||||
lv_disp_drv_register(&disp_drv);
|
||||
// Initialize the display driver
|
||||
static lv_disp_drv_t disp_drv;
|
||||
lv_disp_drv_init(&disp_drv);
|
||||
disp_drv.hor_res = SCREEN_WIDTH;
|
||||
disp_drv.ver_res = SCREEN_HEIGHT;
|
||||
disp_drv.flush_cb = &HardwareRevX::displayFlushImpl;
|
||||
disp_drv.draw_buf = &mdraw_buf;
|
||||
lv_disp_drv_register(&disp_drv);
|
||||
|
||||
// Initialize the touchscreen driver
|
||||
static lv_indev_drv_t indev_drv;
|
||||
lv_indev_drv_init(&indev_drv);
|
||||
indev_drv.type = LV_INDEV_TYPE_POINTER;
|
||||
indev_drv.read_cb = &HardwareRevX::touchPadReadImpl;
|
||||
lv_indev_drv_register(&indev_drv);
|
||||
}
|
||||
// Initialize the touchscreen driver
|
||||
static lv_indev_drv_t indev_drv;
|
||||
lv_indev_drv_init(&indev_drv);
|
||||
indev_drv.type = LV_INDEV_TYPE_POINTER;
|
||||
indev_drv.read_cb = &HardwareRevX::touchPadReadImpl;
|
||||
lv_indev_drv_register(&indev_drv);
|
||||
}
|
||||
|
||||
void HardwareRevX::displayFlush(lv_disp_drv_t *disp, const lv_area_t *area,
|
||||
|
@ -174,7 +171,6 @@ void HardwareRevX::activityDetection() {
|
|||
accZold = accZ;
|
||||
}
|
||||
|
||||
// Enter Sleep Mode
|
||||
void HardwareRevX::enterSleep() {
|
||||
// Save settings to internal flash memory
|
||||
preferences.putBool("wkpByIMU", wakeupByIMUEnabled);
|
||||
|
@ -398,7 +394,7 @@ void HardwareRevX::setupWifi(){
|
|||
#endif
|
||||
}
|
||||
|
||||
void HardwareRevX::handleLoop(){
|
||||
void HardwareRevX::loopHandler(){
|
||||
// Update Backlight brightness
|
||||
static int fadeInTimer = millis(); // fadeInTimer = time after setup
|
||||
if (millis() <
|
||||
|
|
|
@ -35,7 +35,7 @@ public:
|
|||
|
||||
HardwareRevX() : HardwareAbstractionInterface(){};
|
||||
|
||||
virtual void debugPrint(std::string aDebugMessage) override {}
|
||||
virtual void debugPrint(std::string aDebugMessage) override {Serial.print(aDebugMessage.c_str());}
|
||||
|
||||
virtual void sendIR() override {}
|
||||
|
||||
|
@ -43,43 +43,35 @@ public:
|
|||
|
||||
virtual void init();
|
||||
|
||||
void handleLoop();
|
||||
void loopHandler();
|
||||
|
||||
protected:
|
||||
virtual void initLVGL();
|
||||
|
||||
// Init Functions to setup hardware
|
||||
void initIO();
|
||||
void setupBacklight();
|
||||
void restorePreferences();
|
||||
void slowDisplayWakeup();
|
||||
void setupTFT();
|
||||
void setupTouchScreen();
|
||||
void initLVGL();
|
||||
void setupIMU();
|
||||
void setupIR();
|
||||
void setupWifi();
|
||||
|
||||
void activityDetection();
|
||||
void enterSleep();
|
||||
void configIMUInterrupts();
|
||||
|
||||
// UI/UX Handlers
|
||||
void displayFlush(lv_disp_drv_t *disp, const lv_area_t *area,
|
||||
lv_color_t *color_p);
|
||||
void touchPadRead(lv_indev_drv_t *indev_driver, lv_indev_data_t *data);
|
||||
|
||||
void activityDetection();
|
||||
|
||||
void enterSleep();
|
||||
|
||||
void configIMUInterrupts();
|
||||
|
||||
void setupBacklight();
|
||||
|
||||
void restorePreferences();
|
||||
|
||||
void setupTFT();
|
||||
|
||||
void setupTouchScreen();
|
||||
|
||||
void setupIMU();
|
||||
|
||||
void slowDisplayWakeup();
|
||||
|
||||
void setupWifi();
|
||||
|
||||
void setupIR();
|
||||
|
||||
void handleWifiEvent(WiFiEvent_t event);
|
||||
|
||||
private:
|
||||
|
||||
// Static Wrappers Needed to Satisfy C APIs
|
||||
static void WiFiEvent(WiFiEvent_t event){
|
||||
mInstance->handleWifiEvent(event);
|
||||
}
|
||||
|
@ -154,10 +146,5 @@ private:
|
|||
byte virtualKeyMapTechnisat[10] = {0x1, 0x2, 0x3, 0x4, 0x5,
|
||||
0x6, 0x7, 0x8, 0x9, 0x0};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
static std::shared_ptr<HardwareRevX> mInstance;
|
||||
};
|
|
@ -27,7 +27,7 @@ void setup() {
|
|||
|
||||
void loop() {
|
||||
|
||||
HardwareRevX::getInstance()->handleLoop();
|
||||
HardwareRevX::getInstance()->loopHandler();
|
||||
// IR Test
|
||||
// tft.drawString("IR Command: ", 10, 90, 1);
|
||||
// decode_results results;
|
||||
|
|
Loading…
Add table
Reference in a new issue