Allow Wifi to be turned off with the macro

This commit is contained in:
Matthew Colvin 2023-07-29 22:32:17 -05:00
parent 438ef5bc16
commit ff751a10cf
3 changed files with 14 additions and 12 deletions

View file

@ -14,9 +14,7 @@
class OmoteUI { class OmoteUI {
public: public:
OmoteUI(std::shared_ptr<HardwareAbstractionInterface> aHardware) OmoteUI(std::shared_ptr<HardwareAbstractionInterface> aHardware)
: mHardware(aHardware) { : mHardware(aHardware) {};
lv_init();
};
static std::weak_ptr<OmoteUI> getRefrence() { return getInstance(); }; static std::weak_ptr<OmoteUI> getRefrence() { return getInstance(); };
static std::shared_ptr<OmoteUI> getInstance( static std::shared_ptr<OmoteUI> getInstance(

View file

@ -104,7 +104,7 @@ void HardwareRevX::initLVGL() {
lv_indev_drv_register(&indev_drv); lv_indev_drv_register(&indev_drv);
} }
void HardwareRevX::displayFlush(lv_disp_drv_t *disp, const lv_area_t *area, void HardwareRevX::handleDisplayFlush(lv_disp_drv_t *disp, const lv_area_t *area,
lv_color_t *color_p) { lv_color_t *color_p) {
uint32_t w = (area->x2 - area->x1 + 1); uint32_t w = (area->x2 - area->x1 + 1);
uint32_t h = (area->y2 - area->y1 + 1); uint32_t h = (area->y2 - area->y1 + 1);
@ -117,7 +117,7 @@ void HardwareRevX::displayFlush(lv_disp_drv_t *disp, const lv_area_t *area,
lv_disp_flush_ready(disp); lv_disp_flush_ready(disp);
} }
void HardwareRevX::touchPadRead(lv_indev_drv_t *indev_driver, void HardwareRevX::handleTouchPadRead(lv_indev_drv_t *indev_driver,
lv_indev_data_t *data) { lv_indev_data_t *data) {
// int16_t touchX, touchY; // int16_t touchX, touchY;
touchPoint = touch.getPoint(); touchPoint = touch.getPoint();
@ -361,6 +361,7 @@ void HardwareRevX::slowDisplayWakeup() {
} }
void HardwareRevX::handleWifiEvent(WiFiEvent_t event){ void HardwareRevX::handleWifiEvent(WiFiEvent_t event){
#ifdef ENABLE_WIFI
// Serial.printf("[WiFi-event] event: %d\n", event); // Serial.printf("[WiFi-event] event: %d\n", event);
if (event == ARDUINO_EVENT_WIFI_STA_GOT_IP) { if (event == ARDUINO_EVENT_WIFI_STA_GOT_IP) {
client.setServer(MQTT_SERVER, 1883); // MQTT initialization client.setServer(MQTT_SERVER, 1883); // MQTT initialization
@ -375,6 +376,7 @@ void HardwareRevX::handleWifiEvent(WiFiEvent_t event){
// } else { // } else {
// lv_label_set_text(WifiLabel, ""); // lv_label_set_text(WifiLabel, "");
// } // }
#endif
} }
void HardwareRevX::setupIR(){ void HardwareRevX::setupIR(){
@ -388,7 +390,7 @@ void HardwareRevX::setupWifi(){
#ifdef ENABLE_WIFI #ifdef ENABLE_WIFI
// Setup WiFi // Setup WiFi
WiFi.setHostname("OMOTE"); // define hostname WiFi.setHostname("OMOTE"); // define hostname
WiFi.onEvent(WiFiEvent); WiFi.onEvent(wiFiEventImpl);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD); WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
WiFi.setSleep(true); WiFi.setSleep(true);
#endif #endif

View file

@ -63,29 +63,31 @@ protected:
void configIMUInterrupts(); void configIMUInterrupts();
// UI/UX Handlers // UI/UX Handlers
void displayFlush(lv_disp_drv_t *disp, const lv_area_t *area, void handleDisplayFlush(lv_disp_drv_t *disp, const lv_area_t *area,
lv_color_t *color_p); lv_color_t *color_p);
void touchPadRead(lv_indev_drv_t *indev_driver, lv_indev_data_t *data); void handleTouchPadRead(lv_indev_drv_t *indev_driver, lv_indev_data_t *data);
void handleWifiEvent(WiFiEvent_t event); void handleWifiEvent(WiFiEvent_t event);
private: private:
// Static Wrappers Needed to Satisfy C APIs // Static Wrappers Needed to Satisfy C APIs
static void WiFiEvent(WiFiEvent_t event){ static void wiFiEventImpl(WiFiEvent_t event){
mInstance->handleWifiEvent(event); mInstance->handleWifiEvent(event);
} }
static void displayFlushImpl(lv_disp_drv_t *disp, const lv_area_t *area, static void displayFlushImpl(lv_disp_drv_t *disp, const lv_area_t *area,
lv_color_t *color_p) { lv_color_t *color_p) {
mInstance->displayFlush(disp, area, color_p); mInstance->handleDisplayFlush(disp, area, color_p);
} }
static void touchPadReadImpl(lv_indev_drv_t *indev_driver, static void touchPadReadImpl(lv_indev_drv_t *indev_driver,
lv_indev_data_t *data) { lv_indev_data_t *data) {
mInstance->touchPadRead(indev_driver, data); mInstance->handleTouchPadRead(indev_driver, data);
} }
#ifdef ENABLE_WIFI
WiFiClient espClient; WiFiClient espClient;
PubSubClient client = PubSubClient(espClient); PubSubClient client = PubSubClient(espClient);
#endif
Adafruit_FT6206 touch = Adafruit_FT6206(); Adafruit_FT6206 touch = Adafruit_FT6206();
TS_Point touchPoint; TS_Point touchPoint;