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 {
public:
OmoteUI(std::shared_ptr<HardwareAbstractionInterface> aHardware)
: mHardware(aHardware) {
lv_init();
};
: mHardware(aHardware) {};
static std::weak_ptr<OmoteUI> getRefrence() { return getInstance(); };
static std::shared_ptr<OmoteUI> getInstance(

View file

@ -104,7 +104,7 @@ void HardwareRevX::initLVGL() {
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) {
uint32_t w = (area->x2 - area->x1 + 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);
}
void HardwareRevX::touchPadRead(lv_indev_drv_t *indev_driver,
void HardwareRevX::handleTouchPadRead(lv_indev_drv_t *indev_driver,
lv_indev_data_t *data) {
// int16_t touchX, touchY;
touchPoint = touch.getPoint();
@ -361,7 +361,8 @@ void HardwareRevX::slowDisplayWakeup() {
}
void HardwareRevX::handleWifiEvent(WiFiEvent_t event){
// Serial.printf("[WiFi-event] event: %d\n", event);
#ifdef ENABLE_WIFI
// Serial.printf("[WiFi-event] event: %d\n", event);
if (event == ARDUINO_EVENT_WIFI_STA_GOT_IP) {
client.setServer(MQTT_SERVER, 1883); // MQTT initialization
client.connect("OMOTE"); // Connect using a client id
@ -375,6 +376,7 @@ void HardwareRevX::handleWifiEvent(WiFiEvent_t event){
// } else {
// lv_label_set_text(WifiLabel, "");
// }
#endif
}
void HardwareRevX::setupIR(){
@ -388,7 +390,7 @@ void HardwareRevX::setupWifi(){
#ifdef ENABLE_WIFI
// Setup WiFi
WiFi.setHostname("OMOTE"); // define hostname
WiFi.onEvent(WiFiEvent);
WiFi.onEvent(wiFiEventImpl);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
WiFi.setSleep(true);
#endif

View file

@ -63,29 +63,31 @@ protected:
void configIMUInterrupts();
// 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);
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);
private:
// Static Wrappers Needed to Satisfy C APIs
static void WiFiEvent(WiFiEvent_t event){
static void wiFiEventImpl(WiFiEvent_t event){
mInstance->handleWifiEvent(event);
}
static void displayFlushImpl(lv_disp_drv_t *disp, const lv_area_t *area,
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,
lv_indev_data_t *data) {
mInstance->touchPadRead(indev_driver, data);
mInstance->handleTouchPadRead(indev_driver, data);
}
#ifdef ENABLE_WIFI
WiFiClient espClient;
PubSubClient client = PubSubClient(espClient);
#endif
Adafruit_FT6206 touch = Adafruit_FT6206();
TS_Point touchPoint;