#ifndef SPOT_h #define SPOT_h #include #include #include #include #include #include #include #include #include #include #include #include #include // Server functions #include #include // Disable brownout problems #include "soc/rtc_cntl_reg.h" #include "soc/soc.h" // Config #include #include #ifdef __cplusplus extern "C" { #endif uint8_t temprature_sens_read(); #ifdef __cplusplus } #endif uint8_t temprature_sens_read(); class Spot { public: Spot(); esp_err_t boot(); void handle(); esp_err_t initialize_wifi(); uint8_t cpu_temperature(); esp_err_t broadcast_data(); private: esp_err_t _initialize_camera(); esp_err_t _initialize_captive_portal(); esp_err_t _initialize_arduino_oat(); esp_err_t _initialize_wifi_connection(); esp_err_t _initialize_server(); esp_err_t _initialize_display(); esp_err_t _initialize_mpu(); esp_err_t _initialize_pwm_controller(); esp_err_t _initialize_button(); DNSServer _dnsServer; AsyncEventSource _events; AsyncWebSocket _ws; AsyncWebServer _server; Adafruit_SSD1306 _display; Adafruit_PWMServoDriver _pwm; MPU6050 _mpu; NewPing _leftUss; NewPing _rightUss; unsigned long _last_broadcast{0}; }; void display_ip_and_ssid(Adafruit_SSD1306* display, String ip, const char* ssid); #endif