🌊 Moves all logic to new Spot class

This commit is contained in:
Rune Harlyk
2023-05-14 20:38:09 +02:00
parent 8aa837172b
commit 6f50419e16
5 changed files with 286 additions and 255 deletions
-46
View File
@@ -1,46 +0,0 @@
#include <esp_camera.h>
#include <Arduino.h>
#include <config.h>
#include <camera_pins.h>
bool setupCamera(){
camera_config_t camera_config;
camera_config.ledc_channel = LEDC_CHANNEL_0;
camera_config.ledc_timer = LEDC_TIMER_0;
camera_config.pin_d0 = Y2_GPIO_NUM;
camera_config.pin_d1 = Y3_GPIO_NUM;
camera_config.pin_d2 = Y4_GPIO_NUM;
camera_config.pin_d3 = Y5_GPIO_NUM;
camera_config.pin_d4 = Y6_GPIO_NUM;
camera_config.pin_d5 = Y7_GPIO_NUM;
camera_config.pin_d6 = Y8_GPIO_NUM;
camera_config.pin_d7 = Y9_GPIO_NUM;
camera_config.pin_xclk = XCLK_GPIO_NUM;
camera_config.pin_pclk = PCLK_GPIO_NUM;
camera_config.pin_vsync = VSYNC_GPIO_NUM;
camera_config.pin_href = HREF_GPIO_NUM;
camera_config.pin_sscb_sda = SIOD_GPIO_NUM;
camera_config.pin_sscb_scl = SIOC_GPIO_NUM;
camera_config.pin_pwdn = PWDN_GPIO_NUM;
camera_config.pin_reset = RESET_GPIO_NUM;
camera_config.xclk_freq_hz = 20000000;
camera_config.pixel_format = PIXFORMAT_JPEG;
if(psramFound()){
camera_config.frame_size = FRAMESIZE_SVGA;
camera_config.jpeg_quality = 10;
camera_config.fb_count = 2;
} else {
camera_config.frame_size = FRAMESIZE_SVGA;
camera_config.jpeg_quality = 12;
camera_config.fb_count = 1;
}
esp_err_t err = esp_camera_init(&camera_config);
if (err != ESP_OK) {
printf("Camera probe failed with error 0x%x", err);
return 0;
}
return 1;
}
+1
View File
@@ -12,6 +12,7 @@
#define HTTP_PORT 80
#define WEBSOCKET_PATH "/"
#define EVENTSOURCE_PATH "/events"
#define USE_CAPTIVE_PORTAL false
/*
+75
View File
@@ -0,0 +1,75 @@
#ifndef SPOT_h
#define SPOT_h
#include <SPI.h>
#include <WiFi.h>
#include <SPIFFS.h>
#include <NewPing.h>
#include <ESPmDNS.h>
#include <AsyncTCP.h>
#include <DNSServer.h>
#include <ArduinoOTA.h>
#include <Adafruit_GFX.h>
#include <MPU6050_light.h>
#include <Adafruit_SSD1306.h>
#include <ESPAsyncWebServer.h>
#include <Adafruit_PWMServoDriver.h>
// Server functions
#include <AsyncJpegStreamHandler.h>
#include <WebsocketHandler.h>
// Disable brownout problems
#include "soc/rtc_cntl_reg.h"
#include "soc/soc.h"
// Config
#include <config.h>
#include <camera_pins.h>
#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();
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;
};
void display_ip_and_ssid(Adafruit_SSD1306* display, String ip, const char* ssid);
#endif