Added basic Scheduling Functionality
A JSON message can now be received on: 'vesper/DEV_ID/control/addSchedule" Each message, must hold a "file" and "data". The file is the month's name in 3 letter mode (eg jan, feb, mar) The data is an entry for each day of the month. Each day can be an array containing multiple items.
This commit is contained in:
18
vesper/build/sketch/.vscode/arduino.json
vendored
Normal file
18
vesper/build/sketch/.vscode/arduino.json
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
#line 1 "C:\\Users\\espi_\\Documents\\Arduino\\4. Bell Systems\\1. Main Projects\\Project - Vesper\\.vscode\\arduino.json"
|
||||
{
|
||||
"port": "COM8",
|
||||
"configuration": "UploadSpeed=921600,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,PSRAM=disabled,LoopCore=1,EventsCore=1,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default",
|
||||
"output": "build",
|
||||
"board": "esp32:esp32:esp32",
|
||||
"programmer": "",
|
||||
"useProgrammer": false,
|
||||
"configurationRequired": true,
|
||||
"monitorPortSettings": {
|
||||
"port": "COM8",
|
||||
"baudRate": 115200,
|
||||
"lineEnding": "\r\n",
|
||||
"dataBits": 8,
|
||||
"parity": "none",
|
||||
"stopBits": "one"
|
||||
}
|
||||
}
|
||||
18
vesper/build/sketch/.vscode/c_cpp_properties.json
vendored
Normal file
18
vesper/build/sketch/.vscode/c_cpp_properties.json
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
#line 1 "C:\\Users\\espi_\\Documents\\Arduino\\4. Bell Systems\\1. Main Projects\\Project - Vesper\\.vscode\\c_cpp_properties.json"
|
||||
{
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Win32",
|
||||
"includePath": [
|
||||
"${workspaceFolder}/**"
|
||||
],
|
||||
"defines": [
|
||||
"_DEBUG",
|
||||
"UNICODE",
|
||||
"_UNICODE"
|
||||
],
|
||||
"compilerPath": "C:/Program Files/LLVM/bin/clang++.exe"
|
||||
}
|
||||
],
|
||||
"version": 4
|
||||
}
|
||||
89
vesper/build/sketch/MQTT_Message_Handling.hpp
Normal file
89
vesper/build/sketch/MQTT_Message_Handling.hpp
Normal file
@@ -0,0 +1,89 @@
|
||||
#line 1 "C:\\Users\\espi_\\Documents\\Arduino\\4. Bell Systems\\1. Main Projects\\Project - Vesper\\MQTT_Message_Handling.hpp"
|
||||
#pragma once
|
||||
|
||||
void handlePlaybackCommands(char * command);
|
||||
void setRelayDurations(JsonDocument& doc);
|
||||
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
// Handles the incoming payload. Returns it into a "JsonDocument" format.
|
||||
JsonDocument handleJSON(char * payload) {
|
||||
JsonDocument doc;
|
||||
DeserializationError error = deserializeJson(doc, payload);
|
||||
if (error) {
|
||||
Serial.print("deserializeJson() failed: ");
|
||||
Serial.println(error.c_str());
|
||||
}
|
||||
return doc;
|
||||
}
|
||||
|
||||
// Subscribes to certain topics on the MQTT Server.
|
||||
void SuscribeMqtt() {
|
||||
|
||||
String topicPlayback = String("vesper/") + DEV_ID + "/control/playback";
|
||||
String topicSetMelody = String("vesper/") + DEV_ID + "/control/setMelody";
|
||||
String topicAddMelody = String("vesper/") + DEV_ID + "/control/addMelody";
|
||||
String topicRelayTimers = String("vesper/") + DEV_ID + "/control/settings/relayTimers";
|
||||
|
||||
uint16_t control_id = mqttClient.subscribe(topicPlayback.c_str(), 2);
|
||||
Serial.print("Subscribing to Playback Control topic, QoS 2, packetId: ");
|
||||
Serial.println(control_id);
|
||||
|
||||
uint16_t set_melody_id = mqttClient.subscribe(topicSetMelody.c_str(), 2);
|
||||
Serial.print("Subscribing to Set-Melody topic, QoS 2, packetId: ");
|
||||
Serial.println(set_melody_id);
|
||||
|
||||
// doesn't work yet:
|
||||
uint16_t add_melody_id = mqttClient.subscribe(topicAddMelody.c_str(), 2);
|
||||
Serial.print("Subscribing to Add-Melody topic, QoS 2, packetId: ");
|
||||
Serial.println(add_melody_id);
|
||||
|
||||
uint16_t relay_timers_id = mqttClient.subscribe(topicRelayTimers.c_str(), 2);
|
||||
Serial.print("Subscribing to Relay-Timers topic, QoS 2, packetId: ");
|
||||
Serial.println(relay_timers_id);
|
||||
|
||||
}
|
||||
|
||||
// Handles incoming MQTT messages on subscribed topics.
|
||||
// Could move logic out of this into a dedicated function.
|
||||
void OnMqttReceived(char * topic, char * payload, AsyncMqttClientMessageProperties properties, size_t len, size_t index, size_t total) {
|
||||
|
||||
String topicPlayback = String("vesper/") + DEV_ID + "/control/playback";
|
||||
String topicSetMelody = String("vesper/") + DEV_ID + "/control/setMelody";
|
||||
String topicAddMelody = String("vesper/") + DEV_ID + "/control/addMelody";
|
||||
String topicRelayTimers = String("vesper/") + DEV_ID + "/control/settings/relayTimers";
|
||||
|
||||
// Don't know what this is. Check it out later.
|
||||
//String payloadContent = String(payload).substring(0, len);
|
||||
|
||||
if (String(topic) == topicPlayback){
|
||||
handlePlaybackCommands(payload);
|
||||
}
|
||||
|
||||
else if (String(topic) == topicSetMelody) {
|
||||
setMelodyAttributes(handleJSON(payload));
|
||||
loadMelodyInRAM(melody_steps);
|
||||
}
|
||||
|
||||
else if (String(topic) == topicAddMelody) {
|
||||
// Handle adding melody
|
||||
Serial.println("Adding melody...");
|
||||
// You can call a function here to handle adding the melody
|
||||
}
|
||||
|
||||
else if (String(topic) == topicRelayTimers) {
|
||||
setRelayDurations(handleJSON(payload));
|
||||
}
|
||||
|
||||
else {
|
||||
// Handle unknown topics
|
||||
Serial.println("Unknown topic received.");
|
||||
}
|
||||
}
|
||||
|
||||
// Publishes a message on the MQTT server. Message passed as an argument.
|
||||
void PublishMqtt(const char * data) {
|
||||
String topicData = String("vesper/") + DEV_ID + "/data";
|
||||
mqttClient.publish(topicData.c_str(), 0, true, data);
|
||||
}
|
||||
139
vesper/build/sketch/MQTT_WiFi_Utilities.hpp
Normal file
139
vesper/build/sketch/MQTT_WiFi_Utilities.hpp
Normal file
@@ -0,0 +1,139 @@
|
||||
#line 1 "C:\\Users\\espi_\\Documents\\Arduino\\4. Bell Systems\\1. Main Projects\\Project - Vesper\\MQTT_WiFi_Utilities.hpp"
|
||||
#pragma once
|
||||
|
||||
TimerHandle_t mqttReconnectTimer;
|
||||
TimerHandle_t wifiReconnectTimer;
|
||||
|
||||
String GetPayloadContent(char * data, size_t len) {
|
||||
String content = "";
|
||||
for(size_t i = 0; i < len; i++)
|
||||
{
|
||||
content.concat(data[i]);
|
||||
}
|
||||
return content;
|
||||
}
|
||||
|
||||
void ConnectToMqtt()
|
||||
{
|
||||
Serial.println("Connecting to MQTT...");
|
||||
mqttClient.connect();
|
||||
}
|
||||
|
||||
void OnMqttConnect(bool sessionPresent)
|
||||
{
|
||||
Serial.println("Connected to MQTT.");
|
||||
Serial.print("Session present: ");
|
||||
Serial.println(sessionPresent);
|
||||
SuscribeMqtt();
|
||||
}
|
||||
|
||||
void OnMqttDisconnect(AsyncMqttClientDisconnectReason reason)
|
||||
{
|
||||
Serial.println("Disconnected from MQTT.");
|
||||
|
||||
if(WiFi.isConnected())
|
||||
{
|
||||
xTimerStart(mqttReconnectTimer, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void OnMqttSubscribe(uint16_t packetId, uint8_t qos)
|
||||
{
|
||||
Serial.println("Subscribe acknowledged.");
|
||||
Serial.print(" packetId: ");
|
||||
Serial.println(packetId);
|
||||
Serial.print(" qos: ");
|
||||
Serial.println(qos);
|
||||
}
|
||||
|
||||
void OnMqttUnsubscribe(uint16_t packetId)
|
||||
{
|
||||
Serial.println("Unsubscribe acknowledged.");
|
||||
Serial.print(" packetId: ");
|
||||
Serial.println(packetId);
|
||||
}
|
||||
|
||||
void OnMqttPublish(uint16_t packetId)
|
||||
{
|
||||
Serial.println("Publish acknowledged.");
|
||||
Serial.print(" packetId: ");
|
||||
Serial.println(packetId);
|
||||
}
|
||||
|
||||
void ConnectWiFi_STA(bool useStaticIP = false)
|
||||
{
|
||||
Serial.println("");
|
||||
WiFi.mode(WIFI_STA);
|
||||
if(useStaticIP) {
|
||||
WiFi.config(ip, gateway, subnet);
|
||||
WiFi.setHostname(hostname);
|
||||
}
|
||||
WiFi.begin(ssid, password);
|
||||
|
||||
while (WiFi.status() != WL_CONNECTED) {
|
||||
delay(100);
|
||||
Serial.print('.');
|
||||
}
|
||||
|
||||
Serial.println("");
|
||||
Serial.print("Iniciado STA:\t");
|
||||
Serial.println(ssid);
|
||||
Serial.print("IP address:\t");
|
||||
Serial.println(WiFi.localIP());
|
||||
}
|
||||
|
||||
void ConnectWiFi_AP(bool useStaticIP = false)
|
||||
{
|
||||
Serial.println("");
|
||||
WiFi.mode(WIFI_AP);
|
||||
while(!WiFi.softAP(ssid, password))
|
||||
{
|
||||
Serial.println(".");
|
||||
delay(100);
|
||||
}
|
||||
|
||||
if(useStaticIP) WiFi.softAPConfig(ip, gateway, subnet);
|
||||
|
||||
Serial.println("");
|
||||
Serial.print("Iniciado AP:\t");
|
||||
Serial.println(ssid);
|
||||
Serial.print("IP address:\t");
|
||||
Serial.println(WiFi.softAPIP());
|
||||
}
|
||||
|
||||
void WiFiEvent(WiFiEvent_t event)
|
||||
{
|
||||
Serial.printf("[WiFi-event] event: %d\n", event);
|
||||
switch(event)
|
||||
{
|
||||
case ARDUINO_EVENT_WIFI_STA_GOT_IP:
|
||||
Serial.println("WiFi connected");
|
||||
Serial.println("IP address: ");
|
||||
Serial.println(WiFi.localIP());
|
||||
ConnectToMqtt();
|
||||
break;
|
||||
case ARDUINO_EVENT_WIFI_STA_DISCONNECTED:
|
||||
Serial.println("WiFi lost connection");
|
||||
xTimerStop(mqttReconnectTimer, 0); // ensure we don't reconnect to MQTT while reconnecting to Wi-Fi
|
||||
xTimerStart(wifiReconnectTimer, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void InitMqtt()
|
||||
{
|
||||
mqttReconnectTimer = xTimerCreate("mqttTimer", pdMS_TO_TICKS(2000), pdFALSE, (void*)0, reinterpret_cast<TimerCallbackFunction_t>(ConnectToMqtt));
|
||||
wifiReconnectTimer = xTimerCreate("wifiTimer", pdMS_TO_TICKS(5000), pdFALSE, (void*)0, reinterpret_cast<TimerCallbackFunction_t>(ConnectWiFi_STA));
|
||||
|
||||
mqttClient.onConnect(OnMqttConnect);
|
||||
mqttClient.onDisconnect(OnMqttDisconnect);
|
||||
|
||||
mqttClient.onSubscribe(OnMqttSubscribe);
|
||||
mqttClient.onUnsubscribe(OnMqttUnsubscribe);
|
||||
|
||||
mqttClient.onMessage(OnMqttReceived);
|
||||
mqttClient.onPublish(OnMqttPublish);
|
||||
|
||||
mqttClient.setServer(MQTT_HOST, MQTT_PORT);
|
||||
mqttClient.setCredentials(MQTT_USER, MQTT_PASS);
|
||||
}
|
||||
86
vesper/build/sketch/PlaybackControls.hpp
Normal file
86
vesper/build/sketch/PlaybackControls.hpp
Normal file
@@ -0,0 +1,86 @@
|
||||
#line 1 "C:\\Users\\espi_\\Documents\\Arduino\\4. Bell Systems\\1. Main Projects\\Project - Vesper\\PlaybackControls.hpp"
|
||||
#pragma once
|
||||
|
||||
extern melody_attributes melody;
|
||||
|
||||
bool timeToStop(unsigned long now);
|
||||
bool timeToPause(unsigned long now);
|
||||
bool timeToResume(unsigned long now);
|
||||
void durationTimer(void *param);
|
||||
|
||||
// Timer TASK to control playback state
|
||||
void durationTimer(void *param) {
|
||||
|
||||
// Task Setup
|
||||
|
||||
|
||||
// Task Loop
|
||||
while (true) {
|
||||
|
||||
unsigned long now = millis();
|
||||
|
||||
if (timeToStop(now)) {
|
||||
melody.stop();
|
||||
} else if (timeToPause(now)) {
|
||||
melody.pause();
|
||||
} else if (timeToResume(now)) {
|
||||
melody.unpause();
|
||||
}
|
||||
|
||||
vTaskDelay(pdMS_TO_TICKS(1000)); // Check every 100ms
|
||||
}
|
||||
}
|
||||
|
||||
// Check if it's time to stop playback
|
||||
bool timeToStop(unsigned long now) {
|
||||
if (melody.isPlaying) {
|
||||
uint64_t stopTime = melody.startTime + melody.duration;
|
||||
if (now >= stopTime) {
|
||||
Serial.println("TIMER: Total Duration Reached");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check if it's time to pause playback
|
||||
bool timeToPause(unsigned long now) {
|
||||
if (melody.isPlaying && melody.loop_duration > 0) {
|
||||
uint64_t pauseTimeLimit = melody.loopStartTime + melody.loop_duration;
|
||||
Serial.printf("PTL: %lu // NOW: ",pauseTimeLimit);
|
||||
Serial.println(now);
|
||||
if (now >= pauseTimeLimit && !melody.isPaused) {
|
||||
Serial.println("TIMER: Segment Duration Reached");
|
||||
melody.pauseTime = now;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check if it's time to resume playback
|
||||
bool timeToResume(unsigned long now) {
|
||||
if (melody.isPaused) {
|
||||
uint64_t resumeTime = melody.pauseTime + melody.interval;
|
||||
if (now >= resumeTime) {
|
||||
Serial.println("TIMER: Pause Duration Reached");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// Handles Incoming Commands to PLAY or STOP
|
||||
void handlePlaybackCommands(char * command){
|
||||
Serial.print("INCOMING COMMAND: ");
|
||||
Serial.println(command);
|
||||
if (command[0] == '1') {
|
||||
melody.play();
|
||||
PublishMqtt("OK - PLAY");
|
||||
} else if (command[0] == '0') {
|
||||
melody.forceStop();
|
||||
PublishMqtt("OK - STOP");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
127
vesper/build/sketch/Project - Vesper.ino.cpp
Normal file
127
vesper/build/sketch/Project - Vesper.ino.cpp
Normal file
@@ -0,0 +1,127 @@
|
||||
#include <Arduino.h>
|
||||
#line 1 "C:\\Users\\espi_\\Documents\\Arduino\\4. Bell Systems\\1. Main Projects\\Project - Vesper\\Project - Vesper.ino"
|
||||
#include <WiFi.h>
|
||||
#include <AsyncMqttClient.h>
|
||||
#include <ArduinoJson.h>
|
||||
#include <FS.h>
|
||||
#include <SPIFFS.h>
|
||||
#include <string>
|
||||
#include <Wire.h>
|
||||
#include <Adafruit_PCF8574.h>
|
||||
|
||||
#define PCF8574_ADDR 0x24
|
||||
Adafruit_PCF8574 relays;
|
||||
|
||||
AsyncMqttClient mqttClient;
|
||||
|
||||
class melody_attributes {
|
||||
public:
|
||||
uint16_t id; // The (internal) ID of the selected melody. Not specificly used anywhere atm. Might be used later.
|
||||
std::string name = "melody1"; // Name of the Melody saved. Will be used to read the file: /name.bin
|
||||
uint16_t speed = 500; // Time to wait per beat. (In Miliseconds)
|
||||
uint32_t duration = 15000; // Total Duration that program will run (In Miliseconds)
|
||||
uint32_t loop_duration = 0; // Duration of the playback per segment
|
||||
uint32_t interval = 0; // Indicates the Duration of the Interval between finished segments, IF "inf" is true
|
||||
bool infinite_play = false; // Infinite Loop Indicator (If True the melody will loop forever or until stoped, with pauses of "interval" in between loops)
|
||||
bool isPlaying = false;; // Indicates if the Melody is actually Playing right now.
|
||||
bool isPaused = false; // If playing, indicates if the Melody is Paused
|
||||
uint64_t startTime = 0; // The time-point the Melody started Playing
|
||||
uint64_t loopStartTime = 0; // The time-point the current segment started Playing
|
||||
bool hardStop = false; // Flags a hardstop, immediately.
|
||||
uint64_t pauseTime = 0; // The time-point the melody paused
|
||||
|
||||
void play() {
|
||||
isPlaying = true;
|
||||
hardStop = false;
|
||||
startTime = loopStartTime = millis();
|
||||
Serial.println("Plbck: PLAY");
|
||||
}
|
||||
|
||||
void forceStop() {
|
||||
hardStop = true;
|
||||
isPlaying = false;
|
||||
Serial.println("Plbck: FORCE STOP");
|
||||
}
|
||||
|
||||
void stop() {
|
||||
hardStop = false;
|
||||
isPlaying = false;
|
||||
Serial.println("Plbck: STOP");
|
||||
}
|
||||
|
||||
void pause() {
|
||||
isPaused = true;
|
||||
Serial.println("Plbck: PAUSE");
|
||||
}
|
||||
|
||||
void unpause() {
|
||||
isPaused = false;
|
||||
loopStartTime = millis();
|
||||
Serial.println("Plbck: RESUME");
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
melody_attributes melody;
|
||||
std::vector<uint16_t> melody_steps;
|
||||
|
||||
#include "config.h"
|
||||
#include "functions.hpp"
|
||||
#include "MQTT_Message_Handling.hpp"
|
||||
#include "MQTT_WiFi_Utilities.hpp"
|
||||
#include "PlaybackControls.hpp"
|
||||
#include "bellEngine.hpp"
|
||||
|
||||
|
||||
|
||||
TaskHandle_t bellEngineHandle = NULL;
|
||||
|
||||
|
||||
|
||||
#line 79 "C:\\Users\\espi_\\Documents\\Arduino\\4. Bell Systems\\1. Main Projects\\Project - Vesper\\Project - Vesper.ino"
|
||||
void setup();
|
||||
#line 117 "C:\\Users\\espi_\\Documents\\Arduino\\4. Bell Systems\\1. Main Projects\\Project - Vesper\\Project - Vesper.ino"
|
||||
void loop();
|
||||
#line 79 "C:\\Users\\espi_\\Documents\\Arduino\\4. Bell Systems\\1. Main Projects\\Project - Vesper\\Project - Vesper.ino"
|
||||
void setup()
|
||||
{
|
||||
// Initialize Serial Communications & I2C Bus (for debugging)
|
||||
Serial.begin(115200);
|
||||
delay(50);
|
||||
|
||||
// Initialize PCF8574
|
||||
Wire.begin(4,15);
|
||||
relays.begin(PCF8574_ADDR, &Wire);
|
||||
// Initialize Relays
|
||||
for (uint8_t p=0; p<6; p++){
|
||||
relays.pinMode(p, OUTPUT);
|
||||
relays.digitalWrite(p, HIGH);
|
||||
}
|
||||
|
||||
// Initialize SPIFFS
|
||||
if (!SPIFFS.begin(true)) { // 'true' means format SPIFFS if initialization fails
|
||||
Serial.println("Failed to mount SPIFFS");
|
||||
return;
|
||||
}
|
||||
Serial.println("SPIFFS mounted successfully");
|
||||
delay(50);
|
||||
|
||||
|
||||
// Initialize WiFi and MQTT
|
||||
WiFi.onEvent(WiFiEvent);
|
||||
InitMqtt();
|
||||
ConnectWiFi_STA();
|
||||
delay(1000);
|
||||
|
||||
xTaskCreatePinnedToCore(bellEngine,"bellEngine", 8192, NULL, 1, &bellEngineHandle, 1);
|
||||
xTaskCreatePinnedToCore(durationTimer, "durationTimer", 8192, NULL, 2, NULL, 1);
|
||||
xTaskCreatePinnedToCore(relayControlTask, "Relay Control Task", 2048, NULL, 2, NULL, 1);
|
||||
|
||||
loadRelayTimings();
|
||||
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
}
|
||||
|
||||
256
vesper/build/sketch/Project - Vesper.ino.cpp.d
Normal file
256
vesper/build/sketch/Project - Vesper.ino.cpp.d
Normal file
@@ -0,0 +1,256 @@
|
||||
C:\Users\espi_\Documents\Arduino\4.\ Bell\ Systems\1.\ Main\ Projects\Project\ -\ Vesper\build\sketch\Project\ -\ Vesper.ino.cpp.o: \
|
||||
C:\Users\espi_\Documents\Arduino\4.\ Bell\ Systems\1.\ Main\ Projects\Project\ -\ Vesper\build\sketch\Project\ -\ Vesper.ino.cpp \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/Arduino.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp_arduino_version.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/FreeRTOS.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/freertos/config/include/freertos/FreeRTOSConfig.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/freertos/config/xtensa/include/freertos/FreeRTOSConfig_arch.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/xtensa/include/xtensa_config.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/xtensa/include/xtensa/hal.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/xtensa/esp32/include/xtensa/config/core.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/xtensa/include/xtensa/xtensa-versions.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/xtensa/esp32/include/xtensa/config/core-isa.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/xtensa/esp32/include/xtensa/config/core-matmap.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/xtensa/esp32/include/xtensa/config/tie.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/xtensa/esp32/include/xtensa/config/system.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/xtensa/include/xtensa_context.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/xtensa/include/xtensa/corebits.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/xtensa/include/xtensa/xtruntime-frames.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/projdefs.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/portable.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/deprecated_definitions.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos/portmacro.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/xtensa/include/xtensa/xtruntime.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/xtensa/esp32/include/xtensa/config/specreg.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/xtensa/include/xtensa/xtruntime-core-state.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/xtensa/include/xt_instr_macros.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/xtensa/include/xtensa/xtruntime.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_hw_support/include/spinlock.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_hw_support/include/esp_cpu.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/soc/esp32/include/soc/soc_caps.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/xtensa/include/xtensa_api.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/xtensa/include/xt_utils.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/xtensa/esp32/include/xtensa/config/extreg.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_common/include/esp_bit_defs.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_common/include/esp_attr.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_hw_support/include/esp_intr_alloc.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_common/include/esp_err.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_common/include/esp_compiler.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_hw_support/include/esp_intr_types.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_system/include/esp_private/crosscore_int.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_common/include/esp_macros.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_common/include/esp_assert.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_hw_support/include/esp_memory_utils.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/soc/esp32/include/soc/soc.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_common/include/esp_assert.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/soc/esp32/include/soc/interrupts.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/soc/esp32/include/soc/reg_base.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/newlib/platform_include/esp_newlib.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/heap/include/esp_heap_caps.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/heap/include/multi_heap.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_rom/include/esp_rom_sys.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/soc/esp32/include/soc/reset_reasons.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_system/include/esp_system.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_common/include/esp_idf_version.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos/portbenchmark.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_timer/include/esp_timer.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_hw_support/include/esp_etm.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/mpu_wrappers.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/freertos/esp_additions/include/freertos/idf_additions.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/task.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/list.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/queue.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/task.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/semphr.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/queue.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/stream_buffer.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/message_buffer.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/stream_buffer.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/event_groups.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/timers.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_hw_support/include/esp_sleep.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/hal/include/hal/touch_sensor_types.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/hal/include/hal/gpio_types.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/soc/esp32/include/soc/gpio_num.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal-log.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_rom/include/esp32/rom/ets_sys.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/log/include/esp_log.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/log/include/esp_log_internal.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal-matrix.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/soc/esp32/include/soc/gpio_sig_map.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal-uart.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/hal/include/hal/uart_types.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/soc/esp32/include/soc/clk_tree_defs.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal-gpio.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\variants\esp32/pins_arduino.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_driver_gpio/include/driver/gpio.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_rom/include/esp_rom_gpio.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/soc/esp32/include/soc/gpio_pins.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_driver_gpio/include/driver/gpio_etm.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal-touch.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal-touch-ng.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal-dac.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal-adc.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal-spi.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal-i2c.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal-ledc.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/hal/include/hal/ledc_types.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal-rmt.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal-sigmadelta.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal-timer.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_driver_gptimer/include/driver/gptimer_types.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/hal/include/hal/timer_types.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal-bt.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal-psram.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal-rgb-led.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal-cpu.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp8266-compat.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/soc/esp32/include/soc/gpio_reg.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/stdlib_noniso.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/binary.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/extra_attr.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/WCharacter.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/WString.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/pgmspace.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/Stream.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/Print.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/Printable.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/IPAddress.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/lwip/src/include/lwip/ip_addr.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/lwip/src/include/lwip/opt.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/port/include/lwipopts.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/newlib/platform_include/sys/ioctl.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/newlib/platform_include/sys/poll.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_system/include/esp_task.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_hw_support/include/esp_random.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/port/include/sntp/sntp_get_set_time.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/port/include/sockets_ext.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/port/freertos/include/arch/sys_arch.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/lwip/src/include/lwip/debug.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/lwip/src/include/lwip/arch.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/port/esp32xx/include/arch/cc.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/newlib/platform_include/errno.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/lwip/src/include/lwip/def.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/lwip/src/include/lwip/ip4_addr.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/lwip/src/include/lwip/ip6_addr.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/lwip/src/include/lwip/def.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/lwip/src/include/lwip/ip6_zone.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_netif/include/esp_netif_ip_addr.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/Client.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/Server.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/Udp.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/HardwareSerial.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/HWCDC.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/USBCDC.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/Esp.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_partition/include/esp_partition.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_hw_support/include/hal/cpu_hal.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_hw_support/include/hal/cpu_ll.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/freertos_stats.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/io_pin_remap.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/Arduino.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\libraries\WiFi\src/WiFi.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/Print.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\libraries\WiFi\src/WiFiType.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_wifi/include/esp_wifi_types.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_wifi/include/esp_wifi_types_generic.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_event/include/esp_event_base.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_hw_support/include/esp_interface.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_wifi/include/local/esp_wifi_types_native.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_wifi/include/esp_wifi_types_generic.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\libraries\WiFi\src/WiFiSTA.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\libraries\WiFi\src/WiFiGeneric.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_event/include/esp_event.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_wifi/include/esp_smartconfig.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_netif/include/esp_netif_types.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_netif/include/esp_netif_ip_addr.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_eth/include/esp_eth_driver.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_eth/include/esp_eth_com.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/hal/include/hal/eth_types.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_eth/include/esp_eth_spec.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_eth/include/esp_eth_mac_spi.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_eth/include/esp_eth_mac.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_driver_spi/include/driver/spi_master.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/hal/include/hal/spi_types.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_driver_spi/include/driver/spi_common.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_system/include/esp_ipc.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_eth/include/esp_eth_mac_esp.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_eth/include/esp_eth_phy.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/espressif__network_provisioning/include/network_provisioning/manager.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/protocomm/include/common/protocomm.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/protocomm/include/security/protocomm_security.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/espressif__network_provisioning/include/network_provisioning/network_config.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\libraries\Network\src/Network.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\libraries\Network\src/NetworkInterface.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/Printable.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\libraries\Network\src/NetworkEvents.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\libraries\Network\src/NetworkManager.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/WString.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\libraries\Network\src/NetworkClient.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/Client.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\libraries\Network\src/NetworkServer.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/Server.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\libraries\Network\src/NetworkUdp.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/Udp.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/cbuf.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/esp_ringbuf/include/freertos/ringbuf.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\libraries\WiFi\src/WiFiAP.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\libraries\WiFi\src/WiFiScan.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\libraries\WiFi\src/WiFiClient.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\libraries\WiFi\src/WiFiServer.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\libraries\WiFi\src/WiFiUdp.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\libraries\Network\src/NetworkUdp.h \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient.h \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\Async_TCP\src/AsyncTCP.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/lwip/src/include/lwip/pbuf.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-cfea4f7c-v1\esp32/include/lwip/lwip/src/include/lwip/err.h \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Flags.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/ParsingInformation.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/MessageProperties.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Helpers.hpp \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal-log.h \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Callbacks.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/DisconnectReasons.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Errors.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Storage.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Packets/Packet.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Packets/ConnAckPacket.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Packets/PingRespPacket.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Packets/SubAckPacket.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Packets/UnsubAckPacket.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Packets/PublishPacket.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Packets/PubRelPacket.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Packets/PubAckPacket.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Packets/PubRecPacket.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Packets/PubCompPacket.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Packets/Out/Connect.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Packets/Out/OutPacket.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Packets/Out/PingReq.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Packets/Out/PubAck.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Packets/Out/Disconn.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Packets/Out/Subscribe.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Packets/Out/Unsubscribe.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\AsyncMqttClient\src/AsyncMqttClient/Packets/Out/Publish.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.h \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Configuration.hpp \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\libraries\FS\src/FS.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\libraries\SPIFFS\src/SPIFFS.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\libraries\Wire\src/Wire.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/HardwareI2C.h \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\Adafruit_PCF8574/Adafruit_PCF8574.h \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\Adafruit_BusIO/Adafruit_BusIO_Register.h \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\Adafruit_BusIO/Adafruit_GenericDevice.h \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\Adafruit_BusIO/Adafruit_I2CDevice.h \
|
||||
C:\Users\espi_\Documents\Arduino\libraries\Adafruit_BusIO/Adafruit_SPIDevice.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\libraries\SPI\src/SPI.h \
|
||||
C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.1\cores\esp32/esp32-hal-spi.h \
|
||||
C:\Users\espi_\Documents\Arduino\4.\ Bell\ Systems\1.\ Main\ Projects\Project\ -\ Vesper\build\sketch\config.h \
|
||||
C:\Users\espi_\Documents\Arduino\4.\ Bell\ Systems\1.\ Main\ Projects\Project\ -\ Vesper\build\sketch\functions.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\4.\ Bell\ Systems\1.\ Main\ Projects\Project\ -\ Vesper\build\sketch\MQTT_Message_Handling.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\4.\ Bell\ Systems\1.\ Main\ Projects\Project\ -\ Vesper\build\sketch\MQTT_WiFi_Utilities.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\4.\ Bell\ Systems\1.\ Main\ Projects\Project\ -\ Vesper\build\sketch\PlaybackControls.hpp \
|
||||
C:\Users\espi_\Documents\Arduino\4.\ Bell\ Systems\1.\ Main\ Projects\Project\ -\ Vesper\build\sketch\bellEngine.hpp
|
||||
BIN
vesper/build/sketch/Project - Vesper.ino.cpp.o
Normal file
BIN
vesper/build/sketch/Project - Vesper.ino.cpp.o
Normal file
Binary file not shown.
89
vesper/build/sketch/bellEngine.hpp
Normal file
89
vesper/build/sketch/bellEngine.hpp
Normal file
@@ -0,0 +1,89 @@
|
||||
#line 1 "C:\\Users\\espi_\\Documents\\Arduino\\4. Bell Systems\\1. Main Projects\\Project - Vesper\\bellEngine.hpp"
|
||||
// MELODY PLAYBACK WILL BE HANDLED HERE
|
||||
#include <vector>
|
||||
|
||||
extern melody_attributes melody;
|
||||
|
||||
// Define a structure to track active solenoids
|
||||
struct ActiveRelay {
|
||||
uint8_t relayIndex; // Index of the relay
|
||||
uint64_t activationTime; // Activation start time
|
||||
uint16_t duration; // Duration for which it should remain active
|
||||
};
|
||||
|
||||
// Array of durations for each relay (configure remotely)
|
||||
uint16_t relayDurations[16] = {90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90};
|
||||
// Vector to track active solenoids
|
||||
std::vector<ActiveRelay> activeRelays;
|
||||
|
||||
|
||||
|
||||
void loop_playback(std::vector<uint16_t> &melody_steps);
|
||||
void bellEngine(void *parameter);
|
||||
void relayControlTask(void *param);
|
||||
void itsHammerTime(uint16_t note);
|
||||
void turnOffRelays(uint64_t now);
|
||||
|
||||
void bellEngine(void *parameter) {
|
||||
// SETUP TASK
|
||||
for (;;) {
|
||||
// Playback until stopped (Completes AT LEAST 1 full loop)
|
||||
loop_playback(melody_steps);
|
||||
/*
|
||||
UBaseType_t highWaterMark = uxTaskGetStackHighWaterMark(NULL);
|
||||
Serial.print("Stack high water mark: ");
|
||||
Serial.println(highWaterMark);
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
// Task to deactivate relays dynamically
|
||||
void relayControlTask(void *param) {
|
||||
while (true) {
|
||||
uint64_t now = millis();
|
||||
// Iterate through active relays and deactivate those whose duration has elapsed
|
||||
for (auto it = activeRelays.begin(); it != activeRelays.end();) {
|
||||
if (now - it->activationTime >= it->duration) {
|
||||
relays.digitalWrite(it->relayIndex, HIGH); // Deactivate the relay
|
||||
it = activeRelays.erase(it); // Remove from the active list
|
||||
} else {
|
||||
++it; // Move to the next relay
|
||||
}
|
||||
}
|
||||
|
||||
vTaskDelay(pdMS_TO_TICKS(10)); // Check every 10ms
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void loop_playback(std::vector<uint16_t> &melody_steps) {
|
||||
|
||||
while(melody.isPlaying && !melody.isPaused){
|
||||
|
||||
// iterate through the beats and call the bell mechanism on each beat
|
||||
for (uint16_t note : melody_steps) {
|
||||
if (melody.hardStop) return;
|
||||
itsHammerTime(note);
|
||||
int tempo = melody.speed;
|
||||
vTaskDelay(pdMS_TO_TICKS(tempo));
|
||||
}
|
||||
|
||||
Serial.println("SINGLE LOOP OVER.");
|
||||
//if (!melody.isPlaying) break; // Stop playback only after completing the loop
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Function to activate relays for a specific note
|
||||
void itsHammerTime(uint16_t note) {
|
||||
uint64_t now = millis();
|
||||
|
||||
for (uint8_t i = 0; i < 16; i++) {
|
||||
if (note & (1 << i)) { // Check if this relay needs to activate
|
||||
relays.digitalWrite(i, LOW); // Activate the relay
|
||||
|
||||
// Add to the activeRelays list
|
||||
activeRelays.push_back({i, now, relayDurations[i]});
|
||||
}
|
||||
}
|
||||
}
|
||||
16
vesper/build/sketch/config.h
Normal file
16
vesper/build/sketch/config.h
Normal file
@@ -0,0 +1,16 @@
|
||||
#line 1 "C:\\Users\\espi_\\Documents\\Arduino\\4. Bell Systems\\1. Main Projects\\Project - Vesper\\config.h"
|
||||
const char* ssid = "SmartNet";
|
||||
const char* password = "smartpass";
|
||||
const char* hostname = "ESP32_mqtt_test";
|
||||
|
||||
const IPAddress MQTT_HOST(10,98,20,10);
|
||||
const int MQTT_PORT = 1883;
|
||||
|
||||
#define MQTT_USER "esp32_vesper"
|
||||
#define MQTT_PASS "vesper"
|
||||
|
||||
IPAddress ip(10, 98, 30, 150);
|
||||
IPAddress gateway(10, 98, 30, 1);
|
||||
IPAddress subnet(255, 255, 255, 0);
|
||||
|
||||
#define DEV_ID "id-96638646"
|
||||
158
vesper/build/sketch/functions.hpp
Normal file
158
vesper/build/sketch/functions.hpp
Normal file
@@ -0,0 +1,158 @@
|
||||
#line 1 "C:\\Users\\espi_\\Documents\\Arduino\\4. Bell Systems\\1. Main Projects\\Project - Vesper\\functions.hpp"
|
||||
#pragma once
|
||||
|
||||
extern std::vector<uint16_t> melody_steps;
|
||||
extern uint16_t relayDurations[16];
|
||||
|
||||
void setMelodyAttributes(JsonDocument doc);
|
||||
void loadMelodyInRAM(std::vector<uint16_t> &melody_steps);
|
||||
void loadRelayTimings();
|
||||
void saveRelayTimings();
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
// Sets incoming Attributes for the Melody, into the class' variables.
|
||||
void setMelodyAttributes(JsonDocument doc){
|
||||
|
||||
if (doc.containsKey("name")) {
|
||||
melody.name = doc["name"].as<const char*>();
|
||||
}
|
||||
if (doc.containsKey("id")) {
|
||||
melody.id = doc["id"].as<uint16_t>();
|
||||
}
|
||||
if (doc.containsKey("duration")) {
|
||||
melody.duration = doc["duration"].as<uint32_t>();
|
||||
}
|
||||
if (doc.containsKey("infinite")) {
|
||||
melody.infinite_play = doc["infinite"].as<bool>();
|
||||
}
|
||||
if (doc.containsKey("interval")) {
|
||||
melody.interval = doc["interval"].as<uint32_t>();
|
||||
}
|
||||
if (doc.containsKey("speed")) {
|
||||
melody.speed = doc["speed"].as<uint16_t>();
|
||||
}
|
||||
if (doc.containsKey("loop_dur")) {
|
||||
melody.loop_duration = doc["loop_dur"].as<uint32_t>();
|
||||
}
|
||||
// Print Just for Debugging Purposes
|
||||
Serial.printf("Name: %s, ID: %d, Total Duration: %lu, Loop Duration: %lu, Interval: %d, Speed: %d, Inf: %s\n",
|
||||
melody.name.c_str(),
|
||||
melody.id,
|
||||
melody.duration,
|
||||
melody.loop_duration,
|
||||
melody.interval,
|
||||
melody.speed,
|
||||
melody.infinite_play ? "true" : "false"
|
||||
);
|
||||
}
|
||||
|
||||
// Loads the Selected melody from a .bin file, into RAM
|
||||
void loadMelodyInRAM(std::vector<uint16_t> &melody_steps) {
|
||||
|
||||
std::string filePath = "/" + melody.name + ".bin";
|
||||
Serial.println("New Melody Selected !!!");
|
||||
Serial.println("Reading data from file...");
|
||||
File bin_file = SPIFFS.open(filePath.c_str(), "r");
|
||||
if (!bin_file) {
|
||||
Serial.println("Failed to Open File");
|
||||
return;
|
||||
}
|
||||
|
||||
size_t fileSize = bin_file.size();
|
||||
size_t steps = fileSize / 2;
|
||||
melody_steps.resize(steps);
|
||||
|
||||
Serial.print("Opened File ! Size: ");
|
||||
Serial.print(fileSize);
|
||||
Serial.print(" Steps: ");
|
||||
Serial.println(steps);
|
||||
|
||||
for (size_t i=0; i<steps; i++){
|
||||
melody_steps[i] = bin_file.read() << 8 | bin_file.read();
|
||||
}
|
||||
|
||||
for (size_t i=0; i<steps; i++){
|
||||
Serial.print("Current Step: ");
|
||||
Serial.printf("%03d // ", i);
|
||||
Serial.print(" HEX Value: ");
|
||||
Serial.printf("0x%04X\n", melody_steps[i]);
|
||||
}
|
||||
Serial.println("Closing File");
|
||||
bin_file.close();
|
||||
|
||||
// closing the file
|
||||
|
||||
}
|
||||
|
||||
// Sets Incoming Relay Durations to RAM and then call funtion to save them to file.
|
||||
void setRelayDurations(JsonDocument doc) {
|
||||
// Iterate through the relays in the JSON payload
|
||||
for (uint8_t i = 0; i < 16; i++) {
|
||||
String key = String("b") + (i + 1); // Generate "b1", "b2", ...
|
||||
if (doc.containsKey(key)) {
|
||||
relayDurations[i] = doc[key].as<uint16_t>();
|
||||
Serial.printf("Relay %d duration set to %d ms\n", i + 1, relayDurations[i]);
|
||||
} else {
|
||||
Serial.printf("Relay %d not found in JSON payload. Keeping previous duration: %d ms\n", i + 1, relayDurations[i]);
|
||||
}
|
||||
}
|
||||
saveRelayTimings();
|
||||
}
|
||||
|
||||
// Saves Relay Durations from RAM, into a file
|
||||
void saveRelayTimings() {
|
||||
StaticJsonDocument<512> doc; // Adjust size if needed
|
||||
|
||||
// Populate the JSON object with relay durations
|
||||
for (uint8_t i = 0; i < 16; i++) {
|
||||
String key = String("b") + (i + 1);
|
||||
doc[key] = relayDurations[i];
|
||||
}
|
||||
|
||||
// Open the file for writing
|
||||
File file = SPIFFS.open("/settings/relayTimings.json", FILE_WRITE);
|
||||
if (!file) {
|
||||
Serial.println("Failed to open file for writing");
|
||||
return;
|
||||
}
|
||||
|
||||
// Serialize JSON to the file
|
||||
if (serializeJson(doc, file) == 0) {
|
||||
Serial.println("Failed to write JSON to file");
|
||||
} else {
|
||||
Serial.println("Relay timings saved successfully");
|
||||
}
|
||||
|
||||
file.close();
|
||||
}
|
||||
|
||||
// Loads Relay Durations from file into RAM (called during boot)
|
||||
void loadRelayTimings() {
|
||||
// Open the file for reading
|
||||
File file = SPIFFS.open("/settings/relayTimings.json", FILE_READ);
|
||||
if (!file) {
|
||||
Serial.println("Settings file not found. Using default relay timings.");
|
||||
return;
|
||||
}
|
||||
|
||||
// Parse the JSON file
|
||||
StaticJsonDocument<512> doc; // Adjust size if needed
|
||||
DeserializationError error = deserializeJson(doc, file);
|
||||
if (error) {
|
||||
Serial.println("Failed to parse settings file. Using default relay timings.");
|
||||
file.close();
|
||||
return;
|
||||
}
|
||||
|
||||
// Populate relayDurations array
|
||||
for (uint8_t i = 0; i < 16; i++) {
|
||||
String key = String("b") + (i + 1);
|
||||
if (doc.containsKey(key)) {
|
||||
relayDurations[i] = doc[key].as<uint16_t>();
|
||||
Serial.printf("Loaded relay %d duration: %d ms\n", i + 1, relayDurations[i]);
|
||||
}
|
||||
}
|
||||
|
||||
file.close();
|
||||
}
|
||||
Reference in New Issue
Block a user