From a33f626dde232cc749d2d59f9f34b8194eff7c08 Mon Sep 17 00:00:00 2001 From: bonamin Date: Sun, 19 Jan 2025 21:15:07 +0200 Subject: [PATCH] Added initial Melody Playback Ability Now, controlled via MQTT a Playback of a melody can Start, Stop, Pause etc. Settings like speed, total duration, pauses etc can be set. --- .vscode/arduino.json | 17 + .vscode/c_cpp_properties.json | 16 + MQTT.hpp | 64 - MQTT_Message_Handling.hpp | 81 + MQTT_WiFi_Utilities.hpp | 138 + PlaybackControls.hpp | 84 + bellEngine.hpp | 68 + build/build.options.json | 9 + build/build_opt.h | 0 build/compile_result.json | 3 + build/file_opts | 0 build/includes.cache | 287 ++ build/libraries.cache | 1 + build/partitions.csv | 7 + build/sdkconfig | 2734 +++++++++++++++++ build/sketch/.vscode/arduino.json | 18 + .../sketch/ESP32_Utils.hpp | 1 + .../sketch/ESP32_Utils_MQTT_Async.hpp | 2 +- build/sketch/MQTT.hpp | 89 + build/sketch/Timers.hpp | 28 + build/sketch/bellEngine.hpp | 78 + build/sketch/config.h | 11 + build/sketch/functions.hpp | 92 + build/sketch/hammerTime.hpp | 1 + build/sketch/vesper.ino.cpp | 108 + build/sketch/vesper.ino.cpp.d | 248 ++ build/vesper.ino.bootloader.bin | Bin 0 -> 24896 bytes config.h | 9 +- data/data.bin | Bin 1664 -> 0 bytes data/melody1.bin | Bin 64 -> 30 bytes data/melody1.txt | 1 - data/melody2.bin | Bin 0 -> 30 bytes data/melody3.bin | Bin 0 -> 32 bytes functions.hpp | 113 +- melody_handling.hpp | 86 - vesper.ino | 105 +- 36 files changed, 4263 insertions(+), 236 deletions(-) create mode 100644 .vscode/arduino.json create mode 100644 .vscode/c_cpp_properties.json delete mode 100644 MQTT.hpp create mode 100644 MQTT_Message_Handling.hpp create mode 100644 MQTT_WiFi_Utilities.hpp create mode 100644 PlaybackControls.hpp create mode 100644 bellEngine.hpp create mode 100644 build/build.options.json create mode 100644 build/build_opt.h create mode 100644 build/compile_result.json create mode 100644 build/file_opts create mode 100644 build/includes.cache create mode 100644 build/libraries.cache create mode 100644 build/partitions.csv create mode 100644 build/sdkconfig create mode 100644 build/sketch/.vscode/arduino.json rename ESP32_Utils.hpp => build/sketch/ESP32_Utils.hpp (92%) rename ESP32_Utils_MQTT_Async.hpp => build/sketch/ESP32_Utils_MQTT_Async.hpp (96%) create mode 100644 build/sketch/MQTT.hpp create mode 100644 build/sketch/Timers.hpp create mode 100644 build/sketch/bellEngine.hpp create mode 100644 build/sketch/config.h create mode 100644 build/sketch/functions.hpp create mode 100644 build/sketch/hammerTime.hpp create mode 100644 build/sketch/vesper.ino.cpp create mode 100644 build/sketch/vesper.ino.cpp.d create mode 100644 build/vesper.ino.bootloader.bin delete mode 100644 data/data.bin delete mode 100644 data/melody1.txt create mode 100644 data/melody2.bin create mode 100644 data/melody3.bin delete mode 100644 melody_handling.hpp diff --git a/.vscode/arduino.json b/.vscode/arduino.json new file mode 100644 index 0000000..b2bd69b --- /dev/null +++ b/.vscode/arduino.json @@ -0,0 +1,17 @@ +{ + "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" + } +} \ No newline at end of file diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..b1f27e8 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,16 @@ +{ + "configurations": [ + { + "name": "Win32", + "includePath": [ + "${workspaceFolder}/**" + ], + "defines": [ + "_DEBUG", + "UNICODE", + "_UNICODE" + ] + } + ], + "version": 4 +} \ No newline at end of file diff --git a/MQTT.hpp b/MQTT.hpp deleted file mode 100644 index b35de49..0000000 --- a/MQTT.hpp +++ /dev/null @@ -1,64 +0,0 @@ -#pragma once - -const IPAddress MQTT_HOST(10,98,20,10); -const int MQTT_PORT = 1883; - -AsyncMqttClient mqttClient; - -String GetPayloadContent(char* data, size_t len) { - String content = ""; - for(size_t i = 0; i < len; i++) - { - content.concat(data[i]); - } - return content; -} - -void SuscribeMqtt() { - - String topicPlayback = String("vesper/") + DEV_ID + "/control/playback"; - String topicAddMelody = String("vesper/") + DEV_ID + "/control/add_melody"; - - uint16_t control_id = mqttClient.subscribe(topicPlayback.c_str(), 2); - Serial.print("Subscribing to playback topic, QoS 2, packetId: "); - Serial.println(control_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); - - -} - -void PublishMqtt(unsigned long data) { - - String topicData = String("vesper/") + DEV_ID + "/data"; - - String payload = String(data); - mqttClient.publish(topicData.c_str(), 0, true, (char*)payload.c_str()); - -} - -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 topicAddMelody = String("vesper/") + DEV_ID + "/control/add_melody"; // doesn't work yet. - - String payloadContent = String(payload).substring(0, len); - - if (String(topic) == topicPlayback) { - // Handle the playback command - handleJSON(payload); - } - else if (String(topic) == topicAddMelody) { - // Handle adding melody - Serial.println("Adding melody..."); - // You can call a function here to handle adding the melody - } - else { - // Handle unknown topics - Serial.println("Unknown topic received."); - } -} diff --git a/MQTT_Message_Handling.hpp b/MQTT_Message_Handling.hpp new file mode 100644 index 0000000..3b042c4 --- /dev/null +++ b/MQTT_Message_Handling.hpp @@ -0,0 +1,81 @@ +#pragma once + +void handlePlaybackCommands(char * command); + +void handleJSON(char * payload) { + JsonDocument doc; + DeserializationError error = deserializeJson(doc, payload); + + if (error) { + Serial.print("deserializeJson() failed: "); + Serial.println(error.c_str()); + return; + } + + setMelodyAttributes(doc); + loadMelodyInRAM(melody_steps); +} + +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/add_melody"; + + 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); + +} + +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/add_melody"; + + + //String payloadContent = String(payload).substring(0, len); + + if (String(topic) == topicPlayback){ + handlePlaybackCommands(payload); + } + + else if (String(topic) == topicSetMelody) { + handleJSON(payload); + } + + else if (String(topic) == topicAddMelody) { + // Handle adding melody + Serial.println("Adding melody..."); + // You can call a function here to handle adding the melody + } + else { + // Handle unknown topics + Serial.println("Unknown topic received."); + } +} + +// void PublishMqtt(unsigned long data) { +// +// //Doesn't publish anything yet. +// String topicData = String("vesper/") + DEV_ID + "/data"; +// String payload = String(data); +// mqttClient.publish(topicData.c_str(), 0, true, (char*)payload.c_str()); +// +// } + + +void PublishMqtt(const char *data) { + String topicData = String("vesper/") + DEV_ID + "/data"; + mqttClient.publish(topicData.c_str(), 0, true, data); +} diff --git a/MQTT_WiFi_Utilities.hpp b/MQTT_WiFi_Utilities.hpp new file mode 100644 index 0000000..7b2288e --- /dev/null +++ b/MQTT_WiFi_Utilities.hpp @@ -0,0 +1,138 @@ +#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(ConnectToMqtt)); + wifiReconnectTimer = xTimerCreate("wifiTimer", pdMS_TO_TICKS(5000), pdFALSE, (void*)0, reinterpret_cast(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); +} diff --git a/PlaybackControls.hpp b/PlaybackControls.hpp new file mode 100644 index 0000000..dc359c6 --- /dev/null +++ b/PlaybackControls.hpp @@ -0,0 +1,84 @@ +#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; +} + +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"); + } + + +} diff --git a/bellEngine.hpp b/bellEngine.hpp new file mode 100644 index 0000000..d094a0a --- /dev/null +++ b/bellEngine.hpp @@ -0,0 +1,68 @@ +// MELODY PLAYBACK WILL BE HANDLED HERE +#include + +extern melody_attributes melody; +extern uint16_t relayMask; + +void loop_playback(std::vector &melody_steps); +void itsHammerTime(uint16_t note); + + +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); + */ + } + +} + + +void loop_playback(std::vector &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 + + } + +} + + +void itsHammerTime(uint16_t note){ + + // THIS NEEDS REWORK, TO WAIT, DYNAMICLY PER RELAY + // MUST BE CONFIGURABLE REMOTELY + + for (uint8_t i=0; i<16; i++) { + if (note & (1 << i)) { + relays.digitalWrite(i, LOW); + } + } + + vTaskDelay(pdMS_TO_TICKS(relayDurations[0])); + + for (uint8_t i=0; i<16; i++) { + relays.digitalWrite(i, HIGH); + } + + +} diff --git a/build/build.options.json b/build/build.options.json new file mode 100644 index 0000000..6461105 --- /dev/null +++ b/build/build.options.json @@ -0,0 +1,9 @@ +{ + "additionalFiles": "..\\..\\..,..\\..,..\\..,..\\..,..\\..,..\\..,..\\..,..\\..,..\\..", + "compiler.optimization_flags": "-Os", + "customBuildProperties": "build.warn_data_percentage=75", + "fqbn": "esp32:esp32:esp32: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", + "hardwareFolders": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages", + "otherLibrariesFolders": "C:\\Users\\espi_\\Documents\\Arduino\\libraries", + "sketchLocation": "C:\\Users\\espi_\\Documents\\Arduino\\vesper" +} \ No newline at end of file diff --git a/build/build_opt.h b/build/build_opt.h new file mode 100644 index 0000000..e69de29 diff --git a/build/compile_result.json b/build/compile_result.json new file mode 100644 index 0000000..19fdeb2 --- /dev/null +++ b/build/compile_result.json @@ -0,0 +1,3 @@ +{ + "result": false +} \ No newline at end of file diff --git a/build/file_opts b/build/file_opts new file mode 100644 index 0000000..e69de29 diff --git a/build/includes.cache b/build/includes.cache new file mode 100644 index 0000000..211dbee --- /dev/null +++ b/build/includes.cache @@ -0,0 +1,287 @@ +[ + { + "Sourcefile": null, + "Include": "", + "Includepath": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\cores\\esp32" + }, + { + "Sourcefile": null, + "Include": "", + "Includepath": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\variants\\esp32" + }, + { + "Sourcefile": "c:\\Users\\espi_\\Documents\\Arduino\\vesper\\build\\sketch\\vesper.ino.cpp", + "Include": "WiFi.h", + "Includepath": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\WiFi\\src" + }, + { + "Sourcefile": "c:\\Users\\espi_\\Documents\\Arduino\\vesper\\build\\sketch\\vesper.ino.cpp", + "Include": "Network.h", + "Includepath": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\Network\\src" + }, + { + "Sourcefile": "c:\\Users\\espi_\\Documents\\Arduino\\vesper\\build\\sketch\\vesper.ino.cpp", + "Include": "AsyncMqttClient.h", + "Includepath": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\AsyncMqttClient\\src" + }, + { + "Sourcefile": "c:\\Users\\espi_\\Documents\\Arduino\\vesper\\build\\sketch\\vesper.ino.cpp", + "Include": "AsyncTCP.h", + "Includepath": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\Async_TCP\\src" + }, + { + "Sourcefile": "c:\\Users\\espi_\\Documents\\Arduino\\vesper\\build\\sketch\\vesper.ino.cpp", + "Include": "ArduinoJson.h", + "Includepath": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\ArduinoJson\\src" + }, + { + "Sourcefile": "c:\\Users\\espi_\\Documents\\Arduino\\vesper\\build\\sketch\\vesper.ino.cpp", + "Include": "FS.h", + "Includepath": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\FS\\src" + }, + { + "Sourcefile": "c:\\Users\\espi_\\Documents\\Arduino\\vesper\\build\\sketch\\vesper.ino.cpp", + "Include": "SPIFFS.h", + "Includepath": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\SPIFFS\\src" + }, + { + "Sourcefile": "c:\\Users\\espi_\\Documents\\Arduino\\vesper\\build\\sketch\\vesper.ino.cpp", + "Include": "Wire.h", + "Includepath": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\Wire\\src" + }, + { + "Sourcefile": "c:\\Users\\espi_\\Documents\\Arduino\\vesper\\build\\sketch\\vesper.ino.cpp", + "Include": "Adafruit_PCF8574.h", + "Includepath": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\Adafruit_PCF8574" + }, + { + "Sourcefile": "c:\\Users\\espi_\\Documents\\Arduino\\vesper\\build\\sketch\\vesper.ino.cpp", + "Include": "Adafruit_BusIO_Register.h", + "Includepath": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\Adafruit_BusIO" + }, + { + "Sourcefile": "c:\\Users\\espi_\\Documents\\Arduino\\vesper\\build\\sketch\\vesper.ino.cpp", + "Include": "SPI.h", + "Includepath": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\SPI\\src" + }, + { + "Sourcefile": "c:\\Users\\espi_\\Documents\\Arduino\\vesper\\build\\sketch\\vesper.ino.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\WiFi\\src\\AP.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\WiFi\\src\\STA.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\WiFi\\src\\WiFi.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\WiFi\\src\\WiFiAP.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\WiFi\\src\\WiFiGeneric.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\WiFi\\src\\WiFiMulti.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\WiFi\\src\\WiFiSTA.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\WiFi\\src\\WiFiScan.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\Network\\src\\NetworkClient.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\Network\\src\\NetworkEvents.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\Network\\src\\NetworkInterface.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\Network\\src\\NetworkManager.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\Network\\src\\NetworkServer.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\Network\\src\\NetworkUdp.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\AsyncMqttClient\\src\\AsyncMqttClient\\Packets\\ConnAckPacket.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\AsyncMqttClient\\src\\AsyncMqttClient\\Packets\\Out\\Connect.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\AsyncMqttClient\\src\\AsyncMqttClient\\Packets\\Out\\Disconn.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\AsyncMqttClient\\src\\AsyncMqttClient\\Packets\\Out\\OutPacket.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\AsyncMqttClient\\src\\AsyncMqttClient\\Packets\\Out\\PingReq.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\AsyncMqttClient\\src\\AsyncMqttClient\\Packets\\Out\\PubAck.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\AsyncMqttClient\\src\\AsyncMqttClient\\Packets\\Out\\Publish.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\AsyncMqttClient\\src\\AsyncMqttClient\\Packets\\Out\\Subscribe.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\AsyncMqttClient\\src\\AsyncMqttClient\\Packets\\Out\\Unsubscribe.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\AsyncMqttClient\\src\\AsyncMqttClient\\Packets\\PingRespPacket.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\AsyncMqttClient\\src\\AsyncMqttClient\\Packets\\PubAckPacket.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\AsyncMqttClient\\src\\AsyncMqttClient\\Packets\\PubCompPacket.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\AsyncMqttClient\\src\\AsyncMqttClient\\Packets\\PubRecPacket.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\AsyncMqttClient\\src\\AsyncMqttClient\\Packets\\PubRelPacket.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\AsyncMqttClient\\src\\AsyncMqttClient\\Packets\\PublishPacket.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\AsyncMqttClient\\src\\AsyncMqttClient\\Packets\\SubAckPacket.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\AsyncMqttClient\\src\\AsyncMqttClient\\Packets\\UnsubAckPacket.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\AsyncMqttClient\\src\\AsyncMqttClient.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\Async_TCP\\src\\AsyncTCP.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\FS\\src\\FS.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\FS\\src\\vfs_api.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\SPIFFS\\src\\SPIFFS.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\Wire\\src\\Wire.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\Adafruit_PCF8574\\Adafruit_PCF8574.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\Adafruit_PCF8574\\Adafruit_PCF8575.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\Adafruit_BusIO\\Adafruit_BusIO_Register.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\Adafruit_BusIO\\Adafruit_I2CDevice.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\Documents\\Arduino\\libraries\\Adafruit_BusIO\\Adafruit_SPIDevice.cpp", + "Include": "", + "Includepath": null + }, + { + "Sourcefile": "C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\SPI\\src\\SPI.cpp", + "Include": "", + "Includepath": null + } +] \ No newline at end of file diff --git a/build/libraries.cache b/build/libraries.cache new file mode 100644 index 0000000..b0c5169 --- /dev/null +++ b/build/libraries.cache @@ -0,0 +1 @@ +["C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\cores\\esp32","C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\variants\\esp32","C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\WiFi\\src","C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\Network\\src","C:\\Users\\espi_\\Documents\\Arduino\\libraries\\AsyncMqttClient\\src","C:\\Users\\espi_\\Documents\\Arduino\\libraries\\Async_TCP\\src","C:\\Users\\espi_\\Documents\\Arduino\\libraries\\ArduinoJson\\src","C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\FS\\src","C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\SPIFFS\\src","C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\Wire\\src","C:\\Users\\espi_\\Documents\\Arduino\\libraries\\Adafruit_PCF8574","C:\\Users\\espi_\\Documents\\Arduino\\libraries\\Adafruit_BusIO","C:\\Users\\espi_\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\SPI\\src"] \ No newline at end of file diff --git a/build/partitions.csv b/build/partitions.csv new file mode 100644 index 0000000..960469b --- /dev/null +++ b/build/partitions.csv @@ -0,0 +1,7 @@ +# Name, Type, SubType, Offset, Size, Flags +nvs, data, nvs, 0x9000, 0x5000, +otadata, data, ota, 0xe000, 0x2000, +app0, app, ota_0, 0x10000, 0x140000, +app1, app, ota_1, 0x150000,0x140000, +spiffs, data, spiffs, 0x290000,0x160000, +coredump, data, coredump,0x3F0000,0x10000, diff --git a/build/sdkconfig b/build/sdkconfig new file mode 100644 index 0000000..6d7be39 --- /dev/null +++ b/build/sdkconfig @@ -0,0 +1,2734 @@ +# +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) 5.1.4 Project Configuration +# +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED="Not determined" +CONFIG_SOC_TWAI_BRP_DIV_SUPPORTED="Not determined" +CONFIG_SOC_DPORT_WORKAROUND="Not determined" +CONFIG_SOC_CAPS_ECO_VER_MAX=301 +CONFIG_SOC_ADC_SUPPORTED=y +CONFIG_SOC_DAC_SUPPORTED=y +CONFIG_SOC_UART_SUPPORTED=y +CONFIG_SOC_MCPWM_SUPPORTED=y +CONFIG_SOC_GPTIMER_SUPPORTED=y +CONFIG_SOC_SDMMC_HOST_SUPPORTED=y +CONFIG_SOC_BT_SUPPORTED=y +CONFIG_SOC_PCNT_SUPPORTED=y +CONFIG_SOC_WIFI_SUPPORTED=y +CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y +CONFIG_SOC_TWAI_SUPPORTED=y +CONFIG_SOC_EMAC_SUPPORTED=y +CONFIG_SOC_ULP_SUPPORTED=y +CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y +CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y +CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y +CONFIG_SOC_RTC_MEM_SUPPORTED=y +CONFIG_SOC_I2S_SUPPORTED=y +CONFIG_SOC_RMT_SUPPORTED=y +CONFIG_SOC_SDM_SUPPORTED=y +CONFIG_SOC_GPSPI_SUPPORTED=y +CONFIG_SOC_LEDC_SUPPORTED=y +CONFIG_SOC_I2C_SUPPORTED=y +CONFIG_SOC_SUPPORT_COEXISTENCE=y +CONFIG_SOC_AES_SUPPORTED=y +CONFIG_SOC_MPI_SUPPORTED=y +CONFIG_SOC_SHA_SUPPORTED=y +CONFIG_SOC_FLASH_ENC_SUPPORTED=y +CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y +CONFIG_SOC_BOD_SUPPORTED=y +CONFIG_SOC_ULP_FSM_SUPPORTED=y +CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5 +CONFIG_SOC_XTAL_SUPPORT_26M=y +CONFIG_SOC_XTAL_SUPPORT_40M=y +CONFIG_SOC_XTAL_SUPPORT_AUTO_DETECT=y +CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y +CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +CONFIG_SOC_ADC_DMA_SUPPORTED=y +CONFIG_SOC_ADC_PERIPH_NUM=2 +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 +CONFIG_SOC_ADC_ATTEN_NUM=4 +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 +CONFIG_SOC_ADC_PATT_LEN_MAX=16 +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=9 +CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2 +CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=2 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=20 +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9 +CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 +CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y +CONFIG_SOC_IDCACHE_PER_CORE=y +CONFIG_SOC_CPU_CORES_NUM=2 +CONFIG_SOC_CPU_INTR_NUM=32 +CONFIG_SOC_CPU_HAS_FPU=y +CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 +CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64 +CONFIG_SOC_DAC_CHAN_NUM=2 +CONFIG_SOC_DAC_RESOLUTION=8 +CONFIG_SOC_DAC_DMA_16BIT_ALIGN=y +CONFIG_SOC_GPIO_PORT=1 +CONFIG_SOC_GPIO_PIN_COUNT=40 +CONFIG_SOC_GPIO_VALID_GPIO_MASK=0xFFFFFFFFFF +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA +CONFIG_SOC_I2C_NUM=2 +CONFIG_SOC_I2C_FIFO_LEN=32 +CONFIG_SOC_I2C_CMD_REG_NUM=16 +CONFIG_SOC_I2C_SUPPORT_SLAVE=y +CONFIG_SOC_I2C_SUPPORT_APB=y +CONFIG_SOC_I2S_NUM=2 +CONFIG_SOC_I2S_HW_VERSION_1=y +CONFIG_SOC_I2S_SUPPORTS_APLL=y +CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y +CONFIG_SOC_I2S_SUPPORTS_PDM=y +CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=1 +CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1 +CONFIG_SOC_I2S_SUPPORTS_ADC_DAC=y +CONFIG_SOC_I2S_SUPPORTS_ADC=y +CONFIG_SOC_I2S_SUPPORTS_DAC=y +CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y +CONFIG_SOC_I2S_TRANS_SIZE_ALIGN_WORD=y +CONFIG_SOC_I2S_LCD_I80_VARIANT=y +CONFIG_SOC_LCD_I80_SUPPORTED=y +CONFIG_SOC_LCD_I80_BUSES=2 +CONFIG_SOC_LCD_I80_BUS_WIDTH=24 +CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y +CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y +CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y +CONFIG_SOC_LEDC_SUPPORT_HS_MODE=y +CONFIG_SOC_LEDC_CHANNEL_NUM=8 +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 +CONFIG_SOC_MCPWM_GROUPS=2 +CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 +CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 +CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 +CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y +CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 +CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 +CONFIG_SOC_MMU_PERIPH_NUM=2 +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=3 +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +CONFIG_SOC_PCNT_GROUPS=1 +CONFIG_SOC_PCNT_UNITS_PER_GROUP=8 +CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 +CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 +CONFIG_SOC_RMT_GROUPS=1 +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=8 +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=8 +CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64 +CONFIG_SOC_RMT_SUPPORT_REF_TICK=y +CONFIG_SOC_RMT_SUPPORT_APB=y +CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y +CONFIG_SOC_RTCIO_PIN_COUNT=18 +CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y +CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y +CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y +CONFIG_SOC_SDM_GROUPS=1 +CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 +CONFIG_SOC_SDM_CLK_SUPPORT_APB=y +CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y +CONFIG_SOC_SPI_AS_CS_SUPPORTED=y +CONFIG_SOC_SPI_PERIPH_NUM=3 +CONFIG_SOC_SPI_DMA_CHAN_NUM=2 +CONFIG_SOC_SPI_MAX_CS_NUM=3 +CONFIG_SOC_SPI_SUPPORT_CLK_APB=y +CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192 +CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y +CONFIG_SOC_TIMER_GROUPS=2 +CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 +CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64 +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y +CONFIG_SOC_TOUCH_VERSION_1=y +CONFIG_SOC_TOUCH_SENSOR_NUM=10 +CONFIG_SOC_TOUCH_PAD_MEASURE_WAIT_MAX=0xFF +CONFIG_SOC_TWAI_CONTROLLER_NUM=1 +CONFIG_SOC_TWAI_BRP_MIN=2 +CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y +CONFIG_SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT=y +CONFIG_SOC_UART_NUM=3 +CONFIG_SOC_UART_SUPPORT_APB_CLK=y +CONFIG_SOC_UART_SUPPORT_REF_TICK=y +CONFIG_SOC_UART_FIFO_LEN=128 +CONFIG_SOC_UART_BITRATE_MAX=5000000 +CONFIG_SOC_SPIRAM_SUPPORTED=y +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +CONFIG_SOC_SHA_SUPPORT_PARALLEL_ENG=y +CONFIG_SOC_SHA_SUPPORT_SHA1=y +CONFIG_SOC_SHA_SUPPORT_SHA256=y +CONFIG_SOC_SHA_SUPPORT_SHA384=y +CONFIG_SOC_SHA_SUPPORT_SHA512=y +CONFIG_SOC_RSA_MAX_BIT_LEN=4096 +CONFIG_SOC_AES_SUPPORT_AES_128=y +CONFIG_SOC_AES_SUPPORT_AES_192=y +CONFIG_SOC_AES_SUPPORT_AES_256=y +CONFIG_SOC_SECURE_BOOT_V1=y +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y +CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y +CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y +CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y +CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +CONFIG_SOC_PM_SUPPORT_MODEM_PD=y +CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y +CONFIG_SOC_CLK_APLL_SUPPORTED=y +CONFIG_SOC_APLL_MULTIPLIER_OUT_MIN_HZ=350000000 +CONFIG_SOC_APLL_MULTIPLIER_OUT_MAX_HZ=500000000 +CONFIG_SOC_APLL_MIN_HZ=5303031 +CONFIG_SOC_APLL_MAX_HZ=125000000 +CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y +CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y +CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y +CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y +CONFIG_SOC_SDMMC_USE_IOMUX=y +CONFIG_SOC_SDMMC_NUM_SLOTS=2 +CONFIG_SOC_WIFI_WAPI_SUPPORT=y +CONFIG_SOC_WIFI_CSI_SUPPORT=y +CONFIG_SOC_WIFI_MESH_SUPPORT=y +CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y +CONFIG_SOC_WIFI_NAN_SUPPORT=y +CONFIG_SOC_BLE_SUPPORTED=y +CONFIG_SOC_BLE_MESH_SUPPORTED=y +CONFIG_SOC_BT_CLASSIC_SUPPORTED=y +CONFIG_SOC_BLUFI_SUPPORTED=y +CONFIG_SOC_ULP_HAS_ADC=y +CONFIG_SOC_PHY_COMBO_MODULE=y +CONFIG_IDF_CMAKE=y +CONFIG_IDF_TARGET_ARCH_XTENSA=y +CONFIG_IDF_TARGET_ARCH="xtensa" +CONFIG_IDF_TARGET="esp32" +CONFIG_IDF_TARGET_ESP32=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 + +# +# Build type +# +CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y +# CONFIG_APP_BUILD_TYPE_RAM is not set +CONFIG_APP_BUILD_GENERATE_BINARIES=y +CONFIG_APP_BUILD_BOOTLOADER=y +CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y +# CONFIG_APP_REPRODUCIBLE_BUILD is not set +# CONFIG_APP_NO_BLOBS is not set +# CONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set +# CONFIG_APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set +# end of Build type + +# +# Bootloader config +# +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000 +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set +CONFIG_BOOTLOADER_LOG_LEVEL_ERROR=y +# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_INFO is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set +CONFIG_BOOTLOADER_LOG_LEVEL=1 + +# +# Serial Flash Configurations +# +# CONFIG_BOOTLOADER_SPI_CUSTOM_WP_PIN is not set +CONFIG_BOOTLOADER_SPI_WP_PIN=7 +# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set +CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y +# end of Serial Flash Configurations + +CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y +# CONFIG_BOOTLOADER_FACTORY_RESET is not set +# CONFIG_BOOTLOADER_APP_TEST is not set +CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y +CONFIG_BOOTLOADER_WDT_ENABLE=y +# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set +CONFIG_BOOTLOADER_WDT_TIME_MS=9000 +CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=y +# CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK is not set +CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP=y +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set +CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0x10 +# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set +CONFIG_BOOTLOADER_RESERVE_RTC_MEM=y +# end of Bootloader config + +# +# Security features +# +CONFIG_SECURE_BOOT_V1_SUPPORTED=y +# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set +# CONFIG_SECURE_BOOT is not set +# CONFIG_SECURE_FLASH_ENC_ENABLED is not set +# end of Security features + +# +# Application manager +# +CONFIG_APP_COMPILE_TIME_DATE=y +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set +# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set +CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16 +# end of Application manager + +CONFIG_ESP_ROM_HAS_CRC_LE=y +CONFIG_ESP_ROM_HAS_CRC_BE=y +CONFIG_ESP_ROM_HAS_MZ_CRC32=y +CONFIG_ESP_ROM_HAS_JPEG_DECODE=y +CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y +CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y + +# +# Serial flasher config +# +# CONFIG_ESPTOOLPY_NO_STUB is not set +CONFIG_ESPTOOLPY_FLASHMODE_QIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set +# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set +CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y +CONFIG_ESPTOOLPY_FLASHMODE="dio" +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +CONFIG_ESPTOOLPY_FLASHFREQ="80m" +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" +# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set +CONFIG_ESPTOOLPY_BEFORE_RESET=y +# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set +CONFIG_ESPTOOLPY_BEFORE="default_reset" +CONFIG_ESPTOOLPY_AFTER_RESET=y +# CONFIG_ESPTOOLPY_AFTER_NORESET is not set +CONFIG_ESPTOOLPY_AFTER="hard_reset" +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +# end of Serial flasher config + +# +# Partition Table +# +CONFIG_PARTITION_TABLE_SINGLE_APP=y +# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +# CONFIG_PARTITION_TABLE_CUSTOM is not set +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp_coredump.csv" +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +CONFIG_PARTITION_TABLE_MD5=y +# end of Partition Table + +CONFIG_LIB_BUILDER_FLASHMODE="qio" +CONFIG_LIB_BUILDER_FLASHFREQ="80m" +CONFIG_LIB_BUILDER_COMPILE=y + +# +# Arduino Configuration +# +CONFIG_ARDUINO_VARIANT="esp32" +CONFIG_ENABLE_ARDUINO_DEPENDS=y +CONFIG_AUTOSTART_ARDUINO=y +# CONFIG_ARDUINO_RUN_CORE0 is not set +CONFIG_ARDUINO_RUN_CORE1=y +# CONFIG_ARDUINO_RUN_NO_AFFINITY is not set +CONFIG_ARDUINO_RUNNING_CORE=1 +CONFIG_ARDUINO_LOOP_STACK_SIZE=8192 +# CONFIG_ARDUINO_EVENT_RUN_CORE0 is not set +CONFIG_ARDUINO_EVENT_RUN_CORE1=y +# CONFIG_ARDUINO_EVENT_RUN_NO_AFFINITY is not set +CONFIG_ARDUINO_EVENT_RUNNING_CORE=1 +# CONFIG_ARDUINO_SERIAL_EVENT_RUN_CORE0 is not set +# CONFIG_ARDUINO_SERIAL_EVENT_RUN_CORE1 is not set +CONFIG_ARDUINO_SERIAL_EVENT_RUN_NO_AFFINITY=y +CONFIG_ARDUINO_SERIAL_EVENT_TASK_RUNNING_CORE=-1 +CONFIG_ARDUINO_SERIAL_EVENT_TASK_STACK_SIZE=2048 +CONFIG_ARDUINO_SERIAL_EVENT_TASK_PRIORITY=24 +CONFIG_ARDUINO_UDP_RUN_CORE0=y +# CONFIG_ARDUINO_UDP_RUN_CORE1 is not set +# CONFIG_ARDUINO_UDP_RUN_NO_AFFINITY is not set +CONFIG_ARDUINO_UDP_RUNNING_CORE=0 +CONFIG_ARDUINO_UDP_TASK_PRIORITY=3 +# CONFIG_ARDUINO_ISR_IRAM is not set +# CONFIG_DISABLE_HAL_LOCKS is not set + +# +# Debug Log Configuration +# +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_NONE is not set +CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_ERROR=y +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_WARN is not set +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_INFO is not set +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_DEBUG is not set +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_VERBOSE is not set +CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL=1 +# CONFIG_ARDUHAL_LOG_COLORS is not set +CONFIG_ARDUHAL_ESP_LOG=y +# end of Debug Log Configuration + +CONFIG_ARDUHAL_PARTITION_SCHEME_DEFAULT=y +# CONFIG_ARDUHAL_PARTITION_SCHEME_MINIMAL is not set +# CONFIG_ARDUHAL_PARTITION_SCHEME_NO_OTA is not set +# CONFIG_ARDUHAL_PARTITION_SCHEME_HUGE_APP is not set +# CONFIG_ARDUHAL_PARTITION_SCHEME_MIN_SPIFFS is not set +CONFIG_ARDUHAL_PARTITION_SCHEME="default" +# CONFIG_AUTOCONNECT_WIFI is not set +# CONFIG_ARDUINO_SELECTIVE_COMPILATION is not set +# end of Arduino Configuration + +# +# ESP-NN +# +# CONFIG_NN_ANSI_C is not set +CONFIG_NN_OPTIMIZED=y +CONFIG_NN_OPTIMIZATIONS=1 +# end of ESP-NN + +# +# ESP RainMaker Config +# +# CONFIG_ESP_RMAKER_NO_CLAIM is not set +CONFIG_ESP_RMAKER_ASSISTED_CLAIM=y +CONFIG_ESP_RMAKER_USE_NVS=y +CONFIG_ESP_RMAKER_CLAIM_TYPE=2 +# CONFIG_ESP_RMAKER_READ_MQTT_HOST_FROM_CONFIG is not set +# CONFIG_ESP_RMAKER_READ_NODE_ID_FROM_CERT_CN is not set +CONFIG_ESP_RMAKER_MQTT_HOST="a1p72mufdu6064-ats.iot.us-east-1.amazonaws.com" +CONFIG_ESP_RMAKER_MQTT_USE_BASIC_INGEST_TOPICS=y +CONFIG_ESP_RMAKER_MQTT_ENABLE_BUDGETING=y +CONFIG_ESP_RMAKER_MQTT_DEFAULT_BUDGET=100 +CONFIG_ESP_RMAKER_MQTT_MAX_BUDGET=1024 +CONFIG_ESP_RMAKER_MQTT_BUDGET_REVIVE_PERIOD=5 +CONFIG_ESP_RMAKER_MQTT_BUDGET_REVIVE_COUNT=1 +CONFIG_ESP_RMAKER_MAX_PARAM_DATA_SIZE=1024 +# CONFIG_ESP_RMAKER_DISABLE_USER_MAPPING_PROV is not set +CONFIG_ESP_RMAKER_USER_ID_CHECK=y +# CONFIG_RMAKER_NAME_PARAM_CB is not set +# CONFIG_ESP_RMAKER_LOCAL_CTRL_FEATURE_ENABLE is not set +# CONFIG_ESP_RMAKER_LOCAL_CTRL_AUTO_ENABLE is not set +CONFIG_ESP_RMAKER_CONSOLE_UART_NUM_0=y +# CONFIG_ESP_RMAKER_CONSOLE_UART_NUM_1 is not set +CONFIG_ESP_RMAKER_CONSOLE_UART_NUM=0 +CONFIG_ESP_RMAKER_USE_CERT_BUNDLE=y + +# +# ESP RainMaker OTA Config +# +CONFIG_ESP_RMAKER_OTA_AUTOFETCH=y +CONFIG_ESP_RMAKER_OTA_AUTOFETCH_PERIOD=0 +# CONFIG_ESP_RMAKER_SKIP_COMMON_NAME_CHECK is not set +CONFIG_ESP_RMAKER_SKIP_VERSION_CHECK=y +# CONFIG_ESP_RMAKER_SKIP_SECURE_VERSION_CHECK is not set +# CONFIG_ESP_RMAKER_SKIP_PROJECT_NAME_CHECK is not set +CONFIG_ESP_RMAKER_OTA_HTTP_RX_BUFFER_SIZE=1024 +CONFIG_ESP_RMAKER_OTA_ROLLBACK_WAIT_PERIOD=90 +# CONFIG_ESP_RMAKER_OTA_DISABLE_AUTO_REBOOT is not set +CONFIG_ESP_RMAKER_OTA_TIME_SUPPORT=y +# end of ESP RainMaker OTA Config + +# +# ESP RainMaker Scheduling +# +CONFIG_ESP_RMAKER_SCHEDULING_MAX_SCHEDULES=10 +# end of ESP RainMaker Scheduling + +# +# ESP RainMaker Scenes +# +CONFIG_ESP_RMAKER_SCENES_MAX_SCENES=10 +# CONFIG_ESP_RMAKER_SCENES_DEACTIVATE_SUPPORT is not set +# end of ESP RainMaker Scenes + +# +# ESP RainMaker Command-Response +# +CONFIG_ESP_RMAKER_CMD_RESP_ENABLE=y +# CONFIG_ESP_RMAKER_CMD_RESP_TEST_ENABLE is not set +# end of ESP RainMaker Command-Response + +CONFIG_ESP_RMAKER_USING_NETWORK_PROV=y +# end of ESP RainMaker Config + +# +# Compiler options +# +# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +# CONFIG_COMPILER_OPTIMIZATION_PERF is not set +# CONFIG_COMPILER_OPTIMIZATION_NONE is not set +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set +CONFIG_COMPILER_HIDE_PATHS_MACROS=y +CONFIG_COMPILER_CXX_EXCEPTIONS=y +CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE=0 +# CONFIG_COMPILER_CXX_RTTI is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_NONE is not set +CONFIG_COMPILER_STACK_CHECK_MODE_NORM=y +# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +CONFIG_COMPILER_STACK_CHECK=y +CONFIG_COMPILER_WARN_WRITE_STRINGS=y +# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set +# CONFIG_COMPILER_DUMP_RTL_FILES is not set +# end of Compiler options + +# +# Component config +# + +# +# Application Level Tracing +# +# CONFIG_APPTRACE_DEST_JTAG is not set +CONFIG_APPTRACE_DEST_NONE=y +# CONFIG_APPTRACE_DEST_UART1 is not set +# CONFIG_APPTRACE_DEST_UART2 is not set +CONFIG_APPTRACE_DEST_UART_NONE=y +CONFIG_APPTRACE_UART_TASK_PRIO=1 +CONFIG_APPTRACE_LOCK_ENABLE=y +# end of Application Level Tracing + +# +# Bluetooth +# +CONFIG_BT_ENABLED=y +CONFIG_BT_BLUEDROID_ENABLED=y +# CONFIG_BT_NIMBLE_ENABLED is not set +# CONFIG_BT_CONTROLLER_ONLY is not set +CONFIG_BT_CONTROLLER_ENABLED=y +# CONFIG_BT_CONTROLLER_DISABLED is not set + +# +# Bluedroid Options +# +CONFIG_BT_BTC_TASK_STACK_SIZE=8192 +CONFIG_BT_BLUEDROID_PINNED_TO_CORE_0=y +# CONFIG_BT_BLUEDROID_PINNED_TO_CORE_1 is not set +CONFIG_BT_BLUEDROID_PINNED_TO_CORE=0 +CONFIG_BT_BTU_TASK_STACK_SIZE=8192 +# CONFIG_BT_BLUEDROID_MEM_DEBUG is not set +CONFIG_BT_CLASSIC_ENABLED=y +# CONFIG_BT_CLASSIC_BQB_ENABLED is not set +CONFIG_BT_A2DP_ENABLE=y +CONFIG_BT_SPP_ENABLED=y +# CONFIG_BT_L2CAP_ENABLED is not set +CONFIG_BT_HFP_ENABLE=y +CONFIG_BT_HFP_CLIENT_ENABLE=y +CONFIG_BT_HFP_AG_ENABLE=y +CONFIG_BT_HFP_AUDIO_DATA_PATH_PCM=y +# CONFIG_BT_HFP_AUDIO_DATA_PATH_HCI is not set +# CONFIG_BT_HID_ENABLED is not set +CONFIG_BT_SSP_ENABLED=y +CONFIG_BT_BLE_ENABLED=y +CONFIG_BT_GATTS_ENABLE=y +# CONFIG_BT_GATTS_PPCP_CHAR_GAP is not set +CONFIG_BT_BLE_BLUFI_ENABLE=y +CONFIG_BT_GATT_MAX_SR_PROFILES=8 +CONFIG_BT_GATT_MAX_SR_ATTRIBUTES=100 +# CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_MANUAL is not set +CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_AUTO=y +CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_MODE=0 +# CONFIG_BT_GATTS_ROBUST_CACHING_ENABLED is not set +# CONFIG_BT_GATTS_DEVICE_NAME_WRITABLE is not set +# CONFIG_BT_GATTS_APPEARANCE_WRITABLE is not set +CONFIG_BT_GATTC_ENABLE=y +CONFIG_BT_GATTC_MAX_CACHE_CHAR=40 +CONFIG_BT_GATTC_NOTIF_REG_MAX=5 +# CONFIG_BT_GATTC_CACHE_NVS_FLASH is not set +CONFIG_BT_GATTC_CONNECT_RETRY_COUNT=3 +CONFIG_BT_BLE_SMP_ENABLE=y +# CONFIG_BT_SMP_SLAVE_CON_PARAMS_UPD_ENABLE is not set +# CONFIG_BT_BLE_SMP_ID_RESET_ENABLE is not set +CONFIG_BT_STACK_NO_LOG=y +CONFIG_BT_ACL_CONNECTIONS=4 +CONFIG_BT_MULTI_CONNECTION_ENBALE=y +# CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST is not set +CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY=y +# CONFIG_BT_BLE_HOST_QUEUE_CONG_CHECK is not set +CONFIG_BT_SMP_ENABLE=y +CONFIG_BT_SMP_MAX_BONDS=15 +# CONFIG_BT_BLE_ACT_SCAN_REP_ADV_SCAN is not set +CONFIG_BT_BLE_ESTAB_LINK_CONN_TOUT=30 +CONFIG_BT_MAX_DEVICE_NAME_LEN=32 +# CONFIG_BT_BLE_RPA_SUPPORTED is not set +CONFIG_BT_BLE_RPA_TIMEOUT=900 +# CONFIG_BT_BLE_HIGH_DUTY_ADV_INTERVAL is not set +# CONFIG_BT_ABORT_WHEN_ALLOCATION_FAILS is not set +# end of Bluedroid Options + +# +# Controller Options +# +# CONFIG_BTDM_CTRL_MODE_BLE_ONLY is not set +# CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY is not set +CONFIG_BTDM_CTRL_MODE_BTDM=y +CONFIG_BTDM_CTRL_BLE_MAX_CONN=3 +CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN=2 +CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN=0 +# CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_HCI is not set +CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_PCM=y +CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=1 +CONFIG_BTDM_CTRL_PCM_ROLE_EDGE_CONFIG=y +CONFIG_BTDM_CTRL_PCM_ROLE_MASTER=y +# CONFIG_BTDM_CTRL_PCM_ROLE_SLAVE is not set +CONFIG_BTDM_CTRL_PCM_POLAR_FALLING_EDGE=y +# CONFIG_BTDM_CTRL_PCM_POLAR_RISING_EDGE is not set +CONFIG_BTDM_CTRL_PCM_ROLE_EFF=0 +CONFIG_BTDM_CTRL_PCM_POLAR_EFF=0 +# CONFIG_BTDM_CTRL_AUTO_LATENCY is not set +CONFIG_BTDM_CTRL_LEGACY_AUTH_VENDOR_EVT=y +CONFIG_BTDM_CTRL_LEGACY_AUTH_VENDOR_EVT_EFF=y +CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=3 +CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=2 +CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0 +CONFIG_BTDM_CTRL_PINNED_TO_CORE_0=y +# CONFIG_BTDM_CTRL_PINNED_TO_CORE_1 is not set +CONFIG_BTDM_CTRL_PINNED_TO_CORE=0 +CONFIG_BTDM_CTRL_HCI_MODE_VHCI=y +# CONFIG_BTDM_CTRL_HCI_MODE_UART_H4 is not set + +# +# MODEM SLEEP Options +# +CONFIG_BTDM_CTRL_MODEM_SLEEP=y +CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_ORIG=y +# CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_EVED is not set +CONFIG_BTDM_CTRL_LPCLK_SEL_MAIN_XTAL=y +# end of MODEM SLEEP Options + +CONFIG_BTDM_BLE_DEFAULT_SCA_250PPM=y +CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1 +CONFIG_BTDM_BLE_SCAN_DUPL=y +CONFIG_BTDM_SCAN_DUPL_TYPE_DEVICE=y +# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA is not set +# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA_DEVICE is not set +CONFIG_BTDM_SCAN_DUPL_TYPE=0 +CONFIG_BTDM_SCAN_DUPL_CACHE_SIZE=20 +CONFIG_BTDM_SCAN_DUPL_CACHE_REFRESH_PERIOD=0 +CONFIG_BTDM_BLE_MESH_SCAN_DUPL_EN=y +CONFIG_BTDM_MESH_DUPL_SCAN_CACHE_SIZE=100 +CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED=y +# CONFIG_BTDM_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set +CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y +CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 +CONFIG_BTDM_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 +CONFIG_BTDM_RESERVE_DRAM=0xdb5c +CONFIG_BTDM_CTRL_HLI=y +# end of Controller Options + +# CONFIG_BT_HCI_LOG_DEBUG_EN is not set + +# +# Common Options +# +CONFIG_BT_ALARM_MAX_NUM=50 +# end of Common Options +# end of Bluetooth + +CONFIG_BLE_MESH=y +CONFIG_BLE_MESH_HCI_5_0=y +# CONFIG_BLE_MESH_RANDOM_ADV_INTERVAL is not set +CONFIG_BLE_MESH_USE_DUPLICATE_SCAN=y +CONFIG_BLE_MESH_MEM_ALLOC_MODE_INTERNAL=y +# CONFIG_BLE_MESH_MEM_ALLOC_MODE_EXTERNAL is not set +# CONFIG_BLE_MESH_MEM_ALLOC_MODE_DEFAULT is not set +# CONFIG_BLE_MESH_FREERTOS_STATIC_ALLOC is not set +CONFIG_BLE_MESH_DEINIT=y + +# +# BLE Mesh and BLE coexistence support +# +# CONFIG_BLE_MESH_SUPPORT_BLE_ADV is not set +# CONFIG_BLE_MESH_SUPPORT_BLE_SCAN is not set +# end of BLE Mesh and BLE coexistence support + +# CONFIG_BLE_MESH_FAST_PROV is not set +# CONFIG_BLE_MESH_NODE is not set +# CONFIG_BLE_MESH_PROVISIONER is not set +CONFIG_BLE_MESH_PROV=y +CONFIG_BLE_MESH_PB_ADV=y +# CONFIG_BLE_MESH_PB_GATT is not set +CONFIG_BLE_MESH_PROXY=y +# CONFIG_BLE_MESH_GATT_PROXY_CLIENT is not set +CONFIG_BLE_MESH_NET_BUF_POOL_USAGE=y +# CONFIG_BLE_MESH_SETTINGS is not set +CONFIG_BLE_MESH_SUBNET_COUNT=3 +CONFIG_BLE_MESH_APP_KEY_COUNT=3 +CONFIG_BLE_MESH_MODEL_KEY_COUNT=3 +CONFIG_BLE_MESH_MODEL_GROUP_COUNT=3 +CONFIG_BLE_MESH_LABEL_COUNT=3 +CONFIG_BLE_MESH_CRPL=10 +CONFIG_BLE_MESH_MSG_CACHE_SIZE=10 +CONFIG_BLE_MESH_ADV_BUF_COUNT=60 +CONFIG_BLE_MESH_IVU_DIVIDER=4 +# CONFIG_BLE_MESH_IVU_RECOVERY_IVI is not set +CONFIG_BLE_MESH_TX_SEG_MSG_COUNT=1 +CONFIG_BLE_MESH_RX_SEG_MSG_COUNT=1 +CONFIG_BLE_MESH_RX_SDU_MAX=384 +CONFIG_BLE_MESH_TX_SEG_MAX=32 +# CONFIG_BLE_MESH_FRIEND is not set +# CONFIG_BLE_MESH_NO_LOG is not set + +# +# BLE Mesh STACK DEBUG LOG LEVEL +# +# CONFIG_BLE_MESH_TRACE_LEVEL_NONE is not set +# CONFIG_BLE_MESH_TRACE_LEVEL_ERROR is not set +CONFIG_BLE_MESH_TRACE_LEVEL_WARNING=y +# CONFIG_BLE_MESH_TRACE_LEVEL_INFO is not set +# CONFIG_BLE_MESH_TRACE_LEVEL_DEBUG is not set +# CONFIG_BLE_MESH_TRACE_LEVEL_VERBOSE is not set +CONFIG_BLE_MESH_STACK_TRACE_LEVEL=2 +# end of BLE Mesh STACK DEBUG LOG LEVEL + +# +# BLE Mesh NET BUF DEBUG LOG LEVEL +# +# CONFIG_BLE_MESH_NET_BUF_TRACE_LEVEL_NONE is not set +# CONFIG_BLE_MESH_NET_BUF_TRACE_LEVEL_ERROR is not set +CONFIG_BLE_MESH_NET_BUF_TRACE_LEVEL_WARNING=y +# CONFIG_BLE_MESH_NET_BUF_TRACE_LEVEL_INFO is not set +# CONFIG_BLE_MESH_NET_BUF_TRACE_LEVEL_DEBUG is not set +# CONFIG_BLE_MESH_NET_BUF_TRACE_LEVEL_VERBOSE is not set +CONFIG_BLE_MESH_NET_BUF_TRACE_LEVEL=2 +# end of BLE Mesh NET BUF DEBUG LOG LEVEL + +CONFIG_BLE_MESH_CLIENT_MSG_TIMEOUT=4000 + +# +# Support for BLE Mesh Foundation models +# +# CONFIG_BLE_MESH_CFG_CLI is not set +# CONFIG_BLE_MESH_HEALTH_CLI is not set +CONFIG_BLE_MESH_HEALTH_SRV=y +# end of Support for BLE Mesh Foundation models + +# +# Support for BLE Mesh Client/Server models +# +# CONFIG_BLE_MESH_GENERIC_ONOFF_CLI is not set +# CONFIG_BLE_MESH_GENERIC_LEVEL_CLI is not set +# CONFIG_BLE_MESH_GENERIC_DEF_TRANS_TIME_CLI is not set +# CONFIG_BLE_MESH_GENERIC_POWER_ONOFF_CLI is not set +# CONFIG_BLE_MESH_GENERIC_POWER_LEVEL_CLI is not set +# CONFIG_BLE_MESH_GENERIC_BATTERY_CLI is not set +# CONFIG_BLE_MESH_GENERIC_LOCATION_CLI is not set +# CONFIG_BLE_MESH_GENERIC_PROPERTY_CLI is not set +# CONFIG_BLE_MESH_SENSOR_CLI is not set +# CONFIG_BLE_MESH_TIME_CLI is not set +# CONFIG_BLE_MESH_SCENE_CLI is not set +# CONFIG_BLE_MESH_SCHEDULER_CLI is not set +# CONFIG_BLE_MESH_LIGHT_LIGHTNESS_CLI is not set +# CONFIG_BLE_MESH_LIGHT_CTL_CLI is not set +# CONFIG_BLE_MESH_LIGHT_HSL_CLI is not set +# CONFIG_BLE_MESH_LIGHT_XYL_CLI is not set +# CONFIG_BLE_MESH_LIGHT_LC_CLI is not set +CONFIG_BLE_MESH_GENERIC_SERVER=y +CONFIG_BLE_MESH_SENSOR_SERVER=y +CONFIG_BLE_MESH_TIME_SCENE_SERVER=y +CONFIG_BLE_MESH_LIGHTING_SERVER=y +# end of Support for BLE Mesh Client/Server models + +# CONFIG_BLE_MESH_IV_UPDATE_TEST is not set +CONFIG_BLE_MESH_DISCARD_OLD_SEQ_AUTH=y + +# +# BLE Mesh specific test option +# +# CONFIG_BLE_MESH_SELF_TEST is not set +# CONFIG_BLE_MESH_BQB_TEST is not set +# CONFIG_BLE_MESH_SHELL is not set +# CONFIG_BLE_MESH_DEBUG is not set +# end of BLE Mesh specific test option + +# CONFIG_BLE_MESH_EXPERIMENTAL is not set + +# +# Driver Configurations +# + +# +# Legacy ADC Configuration +# +CONFIG_ADC_DISABLE_DAC=y +# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set + +# +# Legacy ADC Calibration Configuration +# +CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y +CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y +CONFIG_ADC_CAL_LUT_ENABLE=y +# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy ADC Calibration Configuration +# end of Legacy ADC Configuration + +# +# SPI Configuration +# +# CONFIG_SPI_MASTER_IN_IRAM is not set +# CONFIG_SPI_MASTER_ISR_IN_IRAM is not set +# CONFIG_SPI_SLAVE_IN_IRAM is not set +# CONFIG_SPI_SLAVE_ISR_IN_IRAM is not set +# end of SPI Configuration + +# +# TWAI Configuration +# +# CONFIG_TWAI_ISR_IN_IRAM is not set +CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC=y +CONFIG_TWAI_ERRATA_FIX_TX_INTR_LOST=y +CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID=y +CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT=y +CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y +# end of TWAI Configuration + +# +# UART Configuration +# +# CONFIG_UART_ISR_IN_IRAM is not set +# end of UART Configuration + +# +# GPIO Configuration +# +# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set +# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set +# end of GPIO Configuration + +# +# Sigma Delta Modulator Configuration +# +# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set +# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_SDM_ENABLE_DEBUG_LOG is not set +# end of Sigma Delta Modulator Configuration + +# +# GPTimer Configuration +# +CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y +# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set +# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set +# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set +# end of GPTimer Configuration + +# +# PCNT Configuration +# +# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set +# CONFIG_PCNT_ISR_IRAM_SAFE is not set +# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set +# end of PCNT Configuration + +# +# RMT Configuration +# +# CONFIG_RMT_ISR_IRAM_SAFE is not set +# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set +# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_RMT_ENABLE_DEBUG_LOG is not set +# end of RMT Configuration + +# +# MCPWM Configuration +# +# CONFIG_MCPWM_ISR_IRAM_SAFE is not set +# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set +# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set +# end of MCPWM Configuration + +# +# I2S Configuration +# +# CONFIG_I2S_ISR_IRAM_SAFE is not set +# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_I2S_ENABLE_DEBUG_LOG is not set +# end of I2S Configuration + +# +# DAC Configuration +# +# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set +# CONFIG_DAC_ISR_IRAM_SAFE is not set +# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_DAC_ENABLE_DEBUG_LOG is not set +CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y +# end of DAC Configuration +# end of Driver Configurations + +# +# eFuse Bit Manager +# +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# CONFIG_EFUSE_VIRTUAL is not set +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set +CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set +CONFIG_EFUSE_MAX_BLK_LEN=192 +# end of eFuse Bit Manager + +# +# ESP-TLS +# +CONFIG_ESP_TLS_USING_MBEDTLS=y +# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set +# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set +CONFIG_ESP_TLS_SERVER=y +# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set +# CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set +# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set +# CONFIG_ESP_TLS_PSK_VERIFICATION is not set +# CONFIG_ESP_TLS_INSECURE is not set +# end of ESP-TLS + +# +# ADC and ADC Calibration +# +# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set +# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set + +# +# ADC Calibration Configurations +# +CONFIG_ADC_CALI_EFUSE_TP_ENABLE=y +CONFIG_ADC_CALI_EFUSE_VREF_ENABLE=y +CONFIG_ADC_CALI_LUT_ENABLE=y +# end of ADC Calibration Configurations + +CONFIG_ADC_DISABLE_DAC_OUTPUT=y +# end of ADC and ADC Calibration + +# +# Wireless Coexistence +# +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y +# CONFIG_ESP_COEX_POWER_MANAGEMENT is not set +# end of Wireless Coexistence + +# +# Common ESP-related +# +CONFIG_ESP_ERR_TO_NAME_LOOKUP=y +# end of Common ESP-related + +# +# Ethernet +# +CONFIG_ETH_ENABLED=y +CONFIG_ETH_USE_ESP32_EMAC=y +CONFIG_ETH_PHY_INTERFACE_RMII=y +CONFIG_ETH_RMII_CLK_INPUT=y +# CONFIG_ETH_RMII_CLK_OUTPUT is not set +CONFIG_ETH_RMII_CLK_IN_GPIO=0 +CONFIG_ETH_DMA_BUFFER_SIZE=512 +CONFIG_ETH_DMA_RX_BUFFER_NUM=10 +CONFIG_ETH_DMA_TX_BUFFER_NUM=10 +# CONFIG_ETH_IRAM_OPTIMIZATION is not set +CONFIG_ETH_USE_SPI_ETHERNET=y +CONFIG_ETH_SPI_ETHERNET_DM9051=y +CONFIG_ETH_SPI_ETHERNET_W5500=y +CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL=y +# CONFIG_ETH_USE_OPENETH is not set +# CONFIG_ETH_TRANSMIT_MUTEX is not set +# end of Ethernet + +# +# Event Loop Library +# +# CONFIG_ESP_EVENT_LOOP_PROFILING is not set +CONFIG_ESP_EVENT_POST_FROM_ISR=y +CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y +# end of Event Loop Library + +# +# GDB Stub +# +# end of GDB Stub + +# +# ESP HTTP client +# +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y +CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH=y +# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set +# end of ESP HTTP client + +# +# HTTP Server +# +CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024 +CONFIG_HTTPD_MAX_URI_LEN=512 +CONFIG_HTTPD_ERR_RESP_NO_DELAY=y +CONFIG_HTTPD_PURGE_BUF_LEN=32 +# CONFIG_HTTPD_LOG_PURGE_DATA is not set +CONFIG_HTTPD_WS_SUPPORT=y +# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set +# end of HTTP Server + +# +# ESP HTTPS OTA +# +# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set +# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set +# end of ESP HTTPS OTA + +# +# ESP HTTPS server +# +CONFIG_ESP_HTTPS_SERVER_ENABLE=y +# end of ESP HTTPS server + +# +# Hardware Settings +# + +# +# Chip revision +# +CONFIG_ESP32_REV_MIN_0=y +# CONFIG_ESP32_REV_MIN_1 is not set +# CONFIG_ESP32_REV_MIN_1_1 is not set +# CONFIG_ESP32_REV_MIN_2 is not set +# CONFIG_ESP32_REV_MIN_3 is not set +# CONFIG_ESP32_REV_MIN_3_1 is not set +CONFIG_ESP32_REV_MIN=0 +CONFIG_ESP32_REV_MIN_FULL=0 +CONFIG_ESP_REV_MIN_FULL=0 + +# +# Maximum Supported ESP32 Revision (Rev v3.99) +# +CONFIG_ESP32_REV_MAX_FULL=399 +CONFIG_ESP_REV_MAX_FULL=399 +# end of Chip revision + +# +# MAC Config +# +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y +# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR is not set +# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set +# end of MAC Config + +# +# Sleep Config +# +CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND=y +# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set +CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y +# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set +CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=2000 +# CONFIG_ESP_SLEEP_DEBUG is not set +CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y +# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set +# end of Sleep Config + +# +# RTC Clock Config +# +CONFIG_RTC_CLK_SRC_INT_RC=y +# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_RTC_CLK_CAL_CYCLES=1024 +# end of RTC Clock Config + +# +# Peripheral Control +# +# CONFIG_PERIPH_CTRL_FUNC_IN_IRAM is not set +# end of Peripheral Control + +# +# Main XTAL Config +# +# CONFIG_XTAL_FREQ_26 is not set +CONFIG_XTAL_FREQ_40=y +# CONFIG_XTAL_FREQ_AUTO is not set +CONFIG_XTAL_FREQ=40 +# end of Main XTAL Config +# end of Hardware Settings + +# +# LCD and Touch Panel +# + +# +# LCD Touch Drivers are maintained in the IDF Component Registry +# + +# +# LCD Peripheral Configuration +# +CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 +# CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# end of LCD Peripheral Configuration +# end of LCD and Touch Panel + +# +# ESP NETIF Adapter +# +CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 +CONFIG_ESP_NETIF_TCPIP_LWIP=y +# CONFIG_ESP_NETIF_LOOPBACK is not set +CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y +# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set +# CONFIG_ESP_NETIF_L2_TAP is not set +# CONFIG_ESP_NETIF_BRIDGE_EN is not set +# end of ESP NETIF Adapter + +# +# Partition API Configuration +# +# end of Partition API Configuration + +# +# PHY +# +CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP_PHY_MAX_TX_POWER=20 +CONFIG_ESP_PHY_REDUCE_TX_POWER=y +# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set +CONFIG_ESP_PHY_RF_CAL_PARTIAL=y +# CONFIG_ESP_PHY_RF_CAL_NONE is not set +# CONFIG_ESP_PHY_RF_CAL_FULL is not set +CONFIG_ESP_PHY_CALIBRATION_MODE=0 +# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set +# end of PHY + +# +# Power Management +# +# CONFIG_PM_ENABLE is not set +# end of Power Management + +# +# ESP PSRAM +# +CONFIG_SPIRAM=y + +# +# SPI RAM config +# +CONFIG_SPIRAM_MODE_QUAD=y +CONFIG_SPIRAM_TYPE_AUTO=y +# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set +# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set +# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set +# CONFIG_SPIRAM_SPEED_40M is not set +CONFIG_SPIRAM_SPEED_80M=y +CONFIG_SPIRAM_SPEED=80 +# CONFIG_SPIRAM_BOOT_INIT is not set +# CONFIG_SPIRAM_USE_MEMMAP is not set +# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set +CONFIG_SPIRAM_USE_MALLOC=y +CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=4096 +# CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set +CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=0 +# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set +# CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY is not set +CONFIG_SPIRAM_CACHE_WORKAROUND=y + +# +# SPIRAM cache workaround debugging +# +CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_MEMW=y +# CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST is not set +# CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_NOPS is not set +# end of SPIRAM cache workaround debugging + +# +# SPIRAM workaround libraries placement +# +CONFIG_SPIRAM_CACHE_LIBJMP_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBMATH_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBNUMPARSER_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBIO_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBTIME_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBCHAR_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBMEM_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBSTR_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBRAND_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBENV_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBFILE_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBMISC_IN_IRAM=y +# end of SPIRAM workaround libraries placement + +CONFIG_SPIRAM_BANKSWITCH_ENABLE=y +CONFIG_SPIRAM_BANKSWITCH_RESERVE=8 +# CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY is not set +CONFIG_SPIRAM_OCCUPY_HSPI_HOST=y +# CONFIG_SPIRAM_OCCUPY_VSPI_HOST is not set +# CONFIG_SPIRAM_OCCUPY_NO_HOST is not set + +# +# PSRAM clock and cs IO for ESP32-DOWD +# +CONFIG_D0WD_PSRAM_CLK_IO=17 +CONFIG_D0WD_PSRAM_CS_IO=16 +# end of PSRAM clock and cs IO for ESP32-DOWD + +# +# PSRAM clock and cs IO for ESP32-D2WD +# +CONFIG_D2WD_PSRAM_CLK_IO=9 +CONFIG_D2WD_PSRAM_CS_IO=10 +# end of PSRAM clock and cs IO for ESP32-D2WD + +# +# PSRAM clock and cs IO for ESP32-PICO-D4 +# +CONFIG_PICO_PSRAM_CS_IO=10 +# end of PSRAM clock and cs IO for ESP32-PICO-D4 + +# CONFIG_SPIRAM_2T_MODE is not set +# end of SPI RAM config +# end of ESP PSRAM + +# +# ESP Ringbuf +# +# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set +# end of ESP Ringbuf + +# +# ESP System Settings +# +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 + +# +# Memory +# +# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set + +# +# Non-backward compatible options +# +# CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM is not set +# end of Non-backward compatible options +# end of Memory + +# +# Trace memory +# +# CONFIG_ESP32_TRAX is not set +CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 +# end of Trace memory + +# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set +CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y +# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set +# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set +# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set +CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 + +# +# Memory protection +# +# end of Memory protection + +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2048 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=4096 +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set +# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 +CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 +CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# CONFIG_ESP_CONSOLE_NONE is not set +CONFIG_ESP_CONSOLE_UART=y +CONFIG_ESP_CONSOLE_MULTIPLE_UART=y +CONFIG_ESP_CONSOLE_UART_NUM=0 +CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 +CONFIG_ESP_INT_WDT=y +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +CONFIG_ESP_INT_WDT_CHECK_CPU1=y +CONFIG_ESP_TASK_WDT_EN=y +CONFIG_ESP_TASK_WDT_INIT=y +CONFIG_ESP_TASK_WDT_PANIC=y +CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1 is not set +# CONFIG_ESP_PANIC_HANDLER_IRAM is not set +# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP_DEBUG_OCDAWARE=y +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5=y + +# +# Brownout Detector +# +CONFIG_ESP_BROWNOUT_DET=y +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0=y +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7 is not set +CONFIG_ESP_BROWNOUT_DET_LVL=0 +# end of Brownout Detector + +# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set +CONFIG_ESP32_ECO3_CACHE_LOCK_FIX=y +CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +# end of ESP System Settings + +# +# IPC (Inter-Processor Call) +# +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y +CONFIG_ESP_IPC_ISR_ENABLE=y +# end of IPC (Inter-Processor Call) + +# +# High resolution timer (esp_timer) +# +# CONFIG_ESP_TIMER_PROFILING is not set +CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y +CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y +CONFIG_ESP_TIMER_TASK_STACK_SIZE=4096 +CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 +# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set +CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 +CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y +CONFIG_ESP_TIMER_ISR_AFFINITY=0x1 +CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set +CONFIG_ESP_TIMER_IMPL_TG0_LAC=y +# end of High resolution timer (esp_timer) + +# +# Wi-Fi +# +CONFIG_ESP_WIFI_ENABLED=y +CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=8 +CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=8 +CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=16 +CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y +# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set +CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 +CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 +CONFIG_ESP_WIFI_CSI_ENABLED=y +CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP_WIFI_TX_BA_WIN=6 +CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP_WIFI_RX_BA_WIN=6 +# CONFIG_ESP_WIFI_AMSDU_TX_ENABLED is not set +CONFIG_ESP_WIFI_NVS_ENABLED=y +CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y +# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set +CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 +# CONFIG_ESP_WIFI_IRAM_OPT is not set +# CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set +# CONFIG_ESP_WIFI_RX_IRAM_OPT is not set +CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP_WIFI_ENABLE_SAE_PK=y +CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y +CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y +# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set +CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 +CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 +CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 +CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y +CONFIG_ESP_WIFI_GMAC_SUPPORT=y +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y +# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set +CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 +# CONFIG_ESP_WIFI_NAN_ENABLE is not set +CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y +CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y +# CONFIG_ESP_WIFI_WAPI_PSK is not set +# CONFIG_ESP_WIFI_11KV_SUPPORT is not set +# CONFIG_ESP_WIFI_MBO_SUPPORT is not set +# CONFIG_ESP_WIFI_DPP_SUPPORT is not set +# CONFIG_ESP_WIFI_11R_SUPPORT is not set +# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set + +# +# WPS Configuration Options +# +# CONFIG_ESP_WIFI_WPS_STRICT is not set +# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set +# end of WPS Configuration Options + +# CONFIG_ESP_WIFI_DEBUG_PRINT is not set +# CONFIG_ESP_WIFI_TESTING_OPTIONS is not set +CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y +# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set +# end of Wi-Fi + +# +# Core dump +# +CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH=y +# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set +# CONFIG_ESP_COREDUMP_ENABLE_TO_NONE is not set +# CONFIG_ESP_COREDUMP_DATA_FORMAT_BIN is not set +CONFIG_ESP_COREDUMP_DATA_FORMAT_ELF=y +CONFIG_ESP_COREDUMP_CHECKSUM_CRC32=y +# CONFIG_ESP_COREDUMP_CHECKSUM_SHA256 is not set +CONFIG_ESP_COREDUMP_CHECK_BOOT=y +CONFIG_ESP_COREDUMP_ENABLE=y +CONFIG_ESP_COREDUMP_LOGS=y +CONFIG_ESP_COREDUMP_MAX_TASKS_NUM=64 +CONFIG_ESP_COREDUMP_STACK_SIZE=1024 +# end of Core dump + +# +# FAT Filesystem support +# +CONFIG_FATFS_VOLUME_COUNT=2 +# CONFIG_FATFS_LFN_NONE is not set +# CONFIG_FATFS_LFN_HEAP is not set +CONFIG_FATFS_LFN_STACK=y +# CONFIG_FATFS_SECTOR_512 is not set +CONFIG_FATFS_SECTOR_4096=y +# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set +# CONFIG_FATFS_CODEPAGE_437 is not set +# CONFIG_FATFS_CODEPAGE_720 is not set +# CONFIG_FATFS_CODEPAGE_737 is not set +# CONFIG_FATFS_CODEPAGE_771 is not set +# CONFIG_FATFS_CODEPAGE_775 is not set +CONFIG_FATFS_CODEPAGE_850=y +# CONFIG_FATFS_CODEPAGE_852 is not set +# CONFIG_FATFS_CODEPAGE_855 is not set +# CONFIG_FATFS_CODEPAGE_857 is not set +# CONFIG_FATFS_CODEPAGE_860 is not set +# CONFIG_FATFS_CODEPAGE_861 is not set +# CONFIG_FATFS_CODEPAGE_862 is not set +# CONFIG_FATFS_CODEPAGE_863 is not set +# CONFIG_FATFS_CODEPAGE_864 is not set +# CONFIG_FATFS_CODEPAGE_865 is not set +# CONFIG_FATFS_CODEPAGE_866 is not set +# CONFIG_FATFS_CODEPAGE_869 is not set +# CONFIG_FATFS_CODEPAGE_932 is not set +# CONFIG_FATFS_CODEPAGE_936 is not set +# CONFIG_FATFS_CODEPAGE_949 is not set +# CONFIG_FATFS_CODEPAGE_950 is not set +CONFIG_FATFS_CODEPAGE=850 +CONFIG_FATFS_MAX_LFN=255 +# CONFIG_FATFS_API_ENCODING_ANSI_OEM is not set +CONFIG_FATFS_API_ENCODING_UTF_8=y +CONFIG_FATFS_FS_LOCK=0 +CONFIG_FATFS_TIMEOUT_MS=10000 +CONFIG_FATFS_PER_FILE_CACHE=y +CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y +# CONFIG_FATFS_USE_FASTSEEK is not set +CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 +# end of FAT Filesystem support + +# +# FreeRTOS +# + +# +# Kernel +# +# CONFIG_FREERTOS_SMP is not set +# CONFIG_FREERTOS_UNICORE is not set +CONFIG_FREERTOS_HZ=1000 +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 +# CONFIG_FREERTOS_USE_IDLE_HOOK is not set +# CONFIG_FREERTOS_USE_TICK_HOOK is not set +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# end of Kernel + +# +# Port +# +CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y +CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y +CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y +# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set +CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y +CONFIG_FREERTOS_ISR_STACKSIZE=2096 +CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y +CONFIG_FREERTOS_FPU_IN_ISR=y +CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y +CONFIG_FREERTOS_CORETIMER_0=y +# CONFIG_FREERTOS_CORETIMER_1 is not set +CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y +# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set +# CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH is not set +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set +CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y +# end of Port + +CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y +CONFIG_FREERTOS_DEBUG_OCDAWARE=y +# end of FreeRTOS + +# +# Hardware Abstraction Layer (HAL) and Low Level (LL) +# +CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y +# CONFIG_HAL_ASSERTION_DISABLE is not set +# CONFIG_HAL_ASSERTION_SILENT is not set +# CONFIG_HAL_ASSERTION_ENABLE is not set +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +# CONFIG_HAL_ECDSA_GEN_SIG_CM is not set +# end of Hardware Abstraction Layer (HAL) and Low Level (LL) + +# +# Heap memory debugging +# +# CONFIG_HEAP_POISONING_DISABLED is not set +CONFIG_HEAP_POISONING_LIGHT=y +# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set +CONFIG_HEAP_TRACING_OFF=y +# CONFIG_HEAP_TRACING_STANDALONE is not set +# CONFIG_HEAP_TRACING_TOHOST is not set +# CONFIG_HEAP_USE_HOOKS is not set +# CONFIG_HEAP_TASK_TRACKING is not set +# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set +# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set +# end of Heap memory debugging + +# +# Log output +# +# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set +CONFIG_LOG_DEFAULT_LEVEL_ERROR=y +# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set +# CONFIG_LOG_DEFAULT_LEVEL_INFO is not set +# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set +# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set +CONFIG_LOG_DEFAULT_LEVEL=1 +CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y +# CONFIG_LOG_MAXIMUM_LEVEL_WARN is not set +# CONFIG_LOG_MAXIMUM_LEVEL_INFO is not set +# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set +CONFIG_LOG_MAXIMUM_LEVEL=1 +# CONFIG_LOG_COLORS is not set +CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y +# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set +# end of Log output + +# +# LWIP +# +CONFIG_LWIP_LOCAL_HOSTNAME="espressif" +# CONFIG_LWIP_NETIF_API is not set +CONFIG_LWIP_TCPIP_TASK_PRIO=18 +# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set +# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set +CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y +# CONFIG_LWIP_L2_TO_L3_COPY is not set +# CONFIG_LWIP_IRAM_OPTIMIZATION is not set +# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set +CONFIG_LWIP_TIMERS_ONDEMAND=y +CONFIG_LWIP_ND6=y +# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set +CONFIG_LWIP_MAX_SOCKETS=16 +# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set +# CONFIG_LWIP_SO_LINGER is not set +CONFIG_LWIP_SO_REUSE=y +CONFIG_LWIP_SO_REUSE_RXTOALL=y +CONFIG_LWIP_SO_RCVBUF=y +# CONFIG_LWIP_NETBUF_RECVINFO is not set +CONFIG_LWIP_IP_DEFAULT_TTL=64 +CONFIG_LWIP_IP4_FRAG=y +CONFIG_LWIP_IP6_FRAG=y +# CONFIG_LWIP_IP4_REASSEMBLY is not set +# CONFIG_LWIP_IP6_REASSEMBLY is not set +CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 +CONFIG_LWIP_IP_FORWARD=y +CONFIG_LWIP_IPV4_NAPT=y +# CONFIG_LWIP_STATS is not set +CONFIG_LWIP_ESP_GRATUITOUS_ARP=y +CONFIG_LWIP_GARP_TMR_INTERVAL=60 +CONFIG_LWIP_ESP_MLDV6_REPORT=y +CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 +# CONFIG_LWIP_DHCP_DOES_ARP_CHECK is not set +# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set +CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y +# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set +CONFIG_LWIP_DHCP_OPTIONS_LEN=128 +CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 +CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 + +# +# DHCP server +# +CONFIG_LWIP_DHCPS=y +CONFIG_LWIP_DHCPS_LEASE_UNIT=60 +CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 +# end of DHCP server + +# CONFIG_LWIP_AUTOIP is not set +CONFIG_LWIP_IPV4=y +CONFIG_LWIP_IPV6=y +CONFIG_LWIP_IPV6_AUTOCONFIG=y +CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 +# CONFIG_LWIP_IPV6_FORWARD is not set +CONFIG_LWIP_IPV6_RDNSS_MAX_DNS_SERVERS=2 +CONFIG_LWIP_IPV6_DHCP6=y +# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set +CONFIG_LWIP_NETIF_LOOPBACK=y +CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 + +# +# TCP +# +CONFIG_LWIP_MAX_ACTIVE_TCP=16 +CONFIG_LWIP_MAX_LISTENING_TCP=16 +CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y +CONFIG_LWIP_TCP_MAXRTX=12 +CONFIG_LWIP_TCP_SYNMAXRTX=6 +CONFIG_LWIP_TCP_MSS=1436 +CONFIG_LWIP_TCP_TMR_INTERVAL=250 +CONFIG_LWIP_TCP_MSL=60000 +CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 +CONFIG_LWIP_TCP_WND_DEFAULT=5760 +CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +CONFIG_LWIP_TCP_QUEUE_OOSEQ=y +CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 +CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 +# CONFIG_LWIP_TCP_SACK_OUT is not set +CONFIG_LWIP_TCP_OVERSIZE_MSS=y +# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set +CONFIG_LWIP_TCP_RTO_TIME=3000 +# end of TCP + +# +# UDP +# +CONFIG_LWIP_MAX_UDP_PCBS=16 +CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 +# end of UDP + +# +# Checksums +# +# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set +# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set +CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y +# end of Checksums + +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=4096 +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0=y +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set +CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x0 +CONFIG_LWIP_IPV6_ND6_NUM_PREFIXES=5 +CONFIG_LWIP_IPV6_ND6_NUM_ROUTERS=3 +CONFIG_LWIP_IPV6_ND6_NUM_DESTINATIONS=10 +CONFIG_LWIP_PPP_SUPPORT=y +# CONFIG_LWIP_PPP_ENABLE_IPV6 is not set +CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 +CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +CONFIG_LWIP_PPP_NOTIFY_PHASE_SUPPORT=y +CONFIG_LWIP_PPP_PAP_SUPPORT=y +# CONFIG_LWIP_PPP_CHAP_SUPPORT is not set +# CONFIG_LWIP_PPP_MSCHAP_SUPPORT is not set +# CONFIG_LWIP_PPP_MPPE_SUPPORT is not set +# CONFIG_LWIP_ENABLE_LCP_ECHO is not set +# CONFIG_LWIP_PPP_DEBUG_ON is not set +# CONFIG_LWIP_SLIP_SUPPORT is not set + +# +# ICMP +# +CONFIG_LWIP_ICMP=y +# CONFIG_LWIP_MULTICAST_PING is not set +# CONFIG_LWIP_BROADCAST_PING is not set +# end of ICMP + +# +# LWIP RAW API +# +CONFIG_LWIP_MAX_RAW_PCBS=16 +# end of LWIP RAW API + +# +# SNTP +# +CONFIG_LWIP_SNTP_MAX_SERVERS=3 +CONFIG_LWIP_DHCP_GET_NTP_SRV=y +CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1 +CONFIG_LWIP_SNTP_UPDATE_DELAY=10800000 +# end of SNTP + +# +# DNS +# +CONFIG_LWIP_DNS_MAX_SERVERS=3 +# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set +# end of DNS + +CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 +CONFIG_LWIP_ESP_LWIP_ASSERT=y + +# +# Hooks +# +# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set +CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y +# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set +# CONFIG_LWIP_HOOK_IP6_ROUTE_NONE is not set +CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT=y +# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set +# CONFIG_LWIP_HOOK_ND6_GET_GW_NONE is not set +CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT=y +# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE is not set +CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT=y +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE is not set +CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT=y +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set +# CONFIG_LWIP_HOOK_IP6_INPUT_NONE is not set +# CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT is not set +CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM=y +# end of Hooks + +# CONFIG_LWIP_DEBUG is not set +# end of LWIP + +# +# mbedTLS +# +CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC is not set +# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set +# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set +CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=16384 +# CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN is not set +# CONFIG_MBEDTLS_DEBUG is not set + +# +# mbedTLS v3.x related +# +# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y +CONFIG_MBEDTLS_PKCS7_C=y + +# +# DTLS-based configurations +# +# CONFIG_MBEDTLS_SSL_DTLS_CONNECTION_ID is not set +# CONFIG_MBEDTLS_SSL_DTLS_SRTP is not set +# end of DTLS-based configurations +# end of mbedTLS v3.x related + +# +# Certificate Bundle +# +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set +# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 +# end of Certificate Bundle + +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +CONFIG_MBEDTLS_CMAC_C=y +CONFIG_MBEDTLS_HARDWARE_AES=y +CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y +CONFIG_MBEDTLS_HARDWARE_MPI=y +# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set +CONFIG_MBEDTLS_HARDWARE_SHA=y +CONFIG_MBEDTLS_ROM_MD5=y +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set +CONFIG_MBEDTLS_HAVE_TIME=y +# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set +CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y +CONFIG_MBEDTLS_SHA512_C=y +CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y +# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set +# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set +# CONFIG_MBEDTLS_TLS_DISABLED is not set +CONFIG_MBEDTLS_TLS_SERVER=y +CONFIG_MBEDTLS_TLS_CLIENT=y +CONFIG_MBEDTLS_TLS_ENABLED=y + +# +# TLS Key Exchange Methods +# +CONFIG_MBEDTLS_PSK_MODES=y +CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK=y +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_PSK=y +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y +# end of TLS Key Exchange Methods + +CONFIG_MBEDTLS_SSL_RENEGOTIATION=y +CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set +CONFIG_MBEDTLS_SSL_PROTO_DTLS=y +CONFIG_MBEDTLS_SSL_ALPN=y +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y + +# +# Symmetric Ciphers +# +CONFIG_MBEDTLS_AES_C=y +CONFIG_MBEDTLS_CAMELLIA_C=y +# CONFIG_MBEDTLS_DES_C is not set +# CONFIG_MBEDTLS_BLOWFISH_C is not set +# CONFIG_MBEDTLS_XTEA_C is not set +CONFIG_MBEDTLS_CCM_C=y +CONFIG_MBEDTLS_GCM_C=y +# CONFIG_MBEDTLS_NIST_KW_C is not set +# end of Symmetric Ciphers + +# CONFIG_MBEDTLS_RIPEMD160_C is not set + +# +# Certificates +# +CONFIG_MBEDTLS_PEM_PARSE_C=y +CONFIG_MBEDTLS_PEM_WRITE_C=y +CONFIG_MBEDTLS_X509_CRL_PARSE_C=y +CONFIG_MBEDTLS_X509_CSR_PARSE_C=y +# end of Certificates + +CONFIG_MBEDTLS_ECP_C=y +# CONFIG_MBEDTLS_DHM_C is not set +CONFIG_MBEDTLS_ECDH_C=y +CONFIG_MBEDTLS_ECDSA_C=y +# CONFIG_MBEDTLS_ECJPAKE_C is not set +CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y +CONFIG_MBEDTLS_ECP_NIST_OPTIM=y +CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM=y +# CONFIG_MBEDTLS_POLY1305_C is not set +# CONFIG_MBEDTLS_CHACHA20_C is not set +# CONFIG_MBEDTLS_HKDF_C is not set +# CONFIG_MBEDTLS_THREADING_C is not set +CONFIG_MBEDTLS_ERROR_STRINGS=y +# end of mbedTLS + +# +# ESP-MQTT Configurations +# +CONFIG_MQTT_PROTOCOL_311=y +# CONFIG_MQTT_PROTOCOL_5 is not set +CONFIG_MQTT_TRANSPORT_SSL=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y +# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set +# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set +# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set +# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set +# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set +# CONFIG_MQTT_CUSTOM_OUTBOX is not set +# end of ESP-MQTT Configurations + +# +# Newlib +# +CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set +CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y +# CONFIG_NEWLIB_NANO_FORMAT is not set +CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y +# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set +# end of Newlib + +# +# NVS +# +# CONFIG_NVS_ASSERT_ERROR_CHECK is not set +# end of NVS + +# +# OpenThread +# +# CONFIG_OPENTHREAD_ENABLED is not set + +# +# Thread Operational Dataset +# +CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP" +CONFIG_OPENTHREAD_MESH_LOCAL_PREFIX="fd00:db8:a0:0::/64" +CONFIG_OPENTHREAD_NETWORK_CHANNEL=15 +CONFIG_OPENTHREAD_NETWORK_PANID=0x1234 +CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe" +CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff" +CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53" +# end of Thread Operational Dataset + +CONFIG_OPENTHREAD_XTAL_ACCURACY=130 +# CONFIG_OPENTHREAD_SPINEL_ONLY is not set +# CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE is not set + +# +# Thread Address Query Config +# +# end of Thread Address Query Config +# end of OpenThread + +# +# Protocomm +# +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y +# end of Protocomm + +# +# PThreads +# +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=2048 +CONFIG_PTHREAD_STACK_MIN=768 +CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y +# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set +# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" +# end of PThreads + +# +# MMU Config +# +CONFIG_MMU_PAGE_SIZE_64KB=y +CONFIG_MMU_PAGE_MODE="64KB" +CONFIG_MMU_PAGE_SIZE=0x10000 +# end of MMU Config + +# +# Main Flash configuration +# + +# +# SPI Flash behavior when brownout +# +CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y +CONFIG_SPI_FLASH_BROWNOUT_RESET=y +# end of SPI Flash behavior when brownout + +# +# Optional and Experimental Features (READ DOCS FIRST) +# + +# +# Features here require specific hardware (READ DOCS FIRST!) +# +# end of Optional and Experimental Features (READ DOCS FIRST) +# end of Main Flash configuration + +# +# SPI Flash driver +# +# CONFIG_SPI_FLASH_VERIFY_WRITE is not set +# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set +# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y +CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=10 +CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=2 +CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=4096 +# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set +# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set +# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set + +# +# Auto-detect flash chips +# +CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y +CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y +CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y +CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y +CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y +# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set +# end of Auto-detect flash chips + +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y +# end of SPI Flash driver + +# +# SPIFFS Configuration +# +CONFIG_SPIFFS_MAX_PARTITIONS=3 + +# +# SPIFFS Cache Configuration +# +CONFIG_SPIFFS_CACHE=y +CONFIG_SPIFFS_CACHE_WR=y +# CONFIG_SPIFFS_CACHE_STATS is not set +# end of SPIFFS Cache Configuration + +CONFIG_SPIFFS_PAGE_CHECK=y +CONFIG_SPIFFS_GC_MAX_RUNS=10 +# CONFIG_SPIFFS_GC_STATS is not set +CONFIG_SPIFFS_PAGE_SIZE=256 +CONFIG_SPIFFS_OBJ_NAME_LEN=32 +# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set +CONFIG_SPIFFS_USE_MAGIC=y +CONFIG_SPIFFS_USE_MAGIC_LENGTH=y +CONFIG_SPIFFS_META_LENGTH=4 +CONFIG_SPIFFS_USE_MTIME=y + +# +# Debug Configuration +# +# CONFIG_SPIFFS_DBG is not set +# CONFIG_SPIFFS_API_DBG is not set +# CONFIG_SPIFFS_GC_DBG is not set +# CONFIG_SPIFFS_CACHE_DBG is not set +# CONFIG_SPIFFS_CHECK_DBG is not set +# CONFIG_SPIFFS_TEST_VISUALISATION is not set +# end of Debug Configuration +# end of SPIFFS Configuration + +# +# TCP Transport +# + +# +# Websocket +# +CONFIG_WS_TRANSPORT=y +CONFIG_WS_BUFFER_SIZE=1024 +# CONFIG_WS_DYNAMIC_BUFFER is not set +# end of Websocket +# end of TCP Transport + +# +# Ultra Low Power (ULP) Co-processor +# +CONFIG_ULP_COPROC_ENABLED=y +CONFIG_ULP_COPROC_TYPE_FSM=y +CONFIG_ULP_COPROC_RESERVE_MEM=512 +# end of Ultra Low Power (ULP) Co-processor + +# +# Unity unit testing library +# +CONFIG_UNITY_ENABLE_FLOAT=y +CONFIG_UNITY_ENABLE_DOUBLE=y +# CONFIG_UNITY_ENABLE_64BIT is not set +# CONFIG_UNITY_ENABLE_COLOR is not set +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y +# CONFIG_UNITY_ENABLE_FIXTURE is not set +# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set +# end of Unity unit testing library + +# +# Virtual file system +# +CONFIG_VFS_SUPPORT_IO=y +CONFIG_VFS_SUPPORT_DIR=y +CONFIG_VFS_SUPPORT_SELECT=y +CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y +# CONFIG_VFS_SELECT_IN_RAM is not set +CONFIG_VFS_SUPPORT_TERMIOS=y +CONFIG_VFS_MAX_COUNT=8 + +# +# Host File System I/O (Semihosting) +# +CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# end of Host File System I/O (Semihosting) +# end of Virtual file system + +# +# Wear Levelling +# +# CONFIG_WL_SECTOR_SIZE_512 is not set +CONFIG_WL_SECTOR_SIZE_4096=y +CONFIG_WL_SECTOR_SIZE=4096 +# end of Wear Levelling + +# +# Wi-Fi Provisioning Manager +# +CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 +CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 +# CONFIG_WIFI_PROV_BLE_BONDING is not set +# CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set +# CONFIG_WIFI_PROV_KEEP_BLE_ON_AFTER_PROV is not set +CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y +# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set +# end of Wi-Fi Provisioning Manager + +# +# DSP Library +# +CONFIG_DSP_OPTIMIZATIONS_SUPPORTED=y +# CONFIG_DSP_ANSI is not set +CONFIG_DSP_OPTIMIZED=y +CONFIG_DSP_OPTIMIZATION=1 +# CONFIG_DSP_MAX_FFT_SIZE_512 is not set +# CONFIG_DSP_MAX_FFT_SIZE_1024 is not set +# CONFIG_DSP_MAX_FFT_SIZE_2048 is not set +CONFIG_DSP_MAX_FFT_SIZE_4096=y +# CONFIG_DSP_MAX_FFT_SIZE_8192 is not set +# CONFIG_DSP_MAX_FFT_SIZE_16384 is not set +# CONFIG_DSP_MAX_FFT_SIZE_32768 is not set +CONFIG_DSP_MAX_FFT_SIZE=4096 +# end of DSP Library + +# +# Modbus configuration +# +CONFIG_FMB_COMM_MODE_TCP_EN=y +CONFIG_FMB_TCP_PORT_DEFAULT=502 +CONFIG_FMB_TCP_PORT_MAX_CONN=5 +CONFIG_FMB_TCP_CONNECTION_TOUT_SEC=20 +# CONFIG_FMB_TCP_UID_ENABLED is not set +CONFIG_FMB_COMM_MODE_RTU_EN=y +CONFIG_FMB_COMM_MODE_ASCII_EN=y +CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=3000 +CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200 +CONFIG_FMB_QUEUE_LENGTH=20 +CONFIG_FMB_PORT_TASK_STACK_SIZE=4096 +CONFIG_FMB_SERIAL_BUF_SIZE=256 +CONFIG_FMB_SERIAL_ASCII_BITS_PER_SYMB=8 +CONFIG_FMB_ASCII_TIMEOUT_WAIT_BEFORE_SEND_MS=0 +CONFIG_FMB_SERIAL_ASCII_TIMEOUT_RESPOND_MS=1000 +CONFIG_FMB_PORT_TASK_PRIO=10 +# CONFIG_FMB_PORT_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_FMB_PORT_TASK_AFFINITY_CPU0=y +# CONFIG_FMB_PORT_TASK_AFFINITY_CPU1 is not set +CONFIG_FMB_PORT_TASK_AFFINITY=0x0 +# CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT is not set +CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20 +CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 +CONFIG_FMB_CONTROLLER_STACK_SIZE=4096 +CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20 +CONFIG_FMB_TIMER_PORT_ENABLED=y +# CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD is not set +# CONFIG_FMB_EXT_TYPE_SUPPORT is not set +# end of Modbus configuration + +# +# ESP serial flasher +# +CONFIG_SERIAL_FLASHER_MD5_ENABLED=y +CONFIG_SERIAL_FLASHER_RESET_HOLD_TIME_MS=100 +CONFIG_SERIAL_FLASHER_BOOT_HOLD_TIME_MS=50 +# end of ESP serial flasher + +# +# Zigbee +# +# CONFIG_ZB_ENABLED is not set +# end of Zigbee + +# +# Camera configuration +# +CONFIG_OV7670_SUPPORT=y +CONFIG_OV7725_SUPPORT=y +CONFIG_NT99141_SUPPORT=y +CONFIG_OV2640_SUPPORT=y +CONFIG_OV3660_SUPPORT=y +CONFIG_OV5640_SUPPORT=y +CONFIG_GC2145_SUPPORT=y +CONFIG_GC032A_SUPPORT=y +CONFIG_GC0308_SUPPORT=y +CONFIG_BF3005_SUPPORT=y +CONFIG_BF20A6_SUPPORT=y +# CONFIG_SC101IOT_SUPPORT is not set +CONFIG_SC030IOT_SUPPORT=y +# CONFIG_SC031GS_SUPPORT is not set +# CONFIG_SCCB_HARDWARE_I2C_PORT0 is not set +CONFIG_SCCB_HARDWARE_I2C_PORT1=y +CONFIG_SCCB_CLK_FREQ=100000 +# CONFIG_GC_SENSOR_WINDOWING_MODE is not set +CONFIG_GC_SENSOR_SUBSAMPLE_MODE=y +CONFIG_CAMERA_TASK_STACK_SIZE=2048 +CONFIG_CAMERA_CORE0=y +# CONFIG_CAMERA_CORE1 is not set +# CONFIG_CAMERA_NO_AFFINITY is not set +CONFIG_CAMERA_DMA_BUFFER_SIZE_MAX=32768 +CONFIG_CAMERA_JPEG_MODE_FRAME_SIZE_AUTO=y +# CONFIG_CAMERA_JPEG_MODE_FRAME_SIZE_CUSTOM is not set +# end of Camera configuration + +# +# Diagnostics data store +# +CONFIG_DIAG_DATA_STORE_RTC=y +# CONFIG_DIAG_DATA_STORE_FLASH is not set +# CONFIG_DIAG_DATA_STORE_DBG_PRINTS is not set +CONFIG_DIAG_DATA_STORE_REPORTING_WATERMARK_PERCENT=80 + +# +# RTC Store +# +CONFIG_RTC_STORE_DATA_SIZE=3072 +CONFIG_RTC_STORE_CRITICAL_DATA_SIZE=2048 +# end of RTC Store +# end of Diagnostics data store + +# +# Diagnostics +# +CONFIG_DIAG_LOG_MSG_ARG_FORMAT_TLV=y +# CONFIG_DIAG_LOG_MSG_ARG_FORMAT_STRING is not set +CONFIG_DIAG_LOG_MSG_ARG_MAX_SIZE=64 +CONFIG_DIAG_LOG_DROP_WIFI_LOGS=y +CONFIG_DIAG_ENABLE_METRICS=y +CONFIG_DIAG_METRICS_MAX_COUNT=20 +CONFIG_DIAG_ENABLE_HEAP_METRICS=y +CONFIG_DIAG_ENABLE_WIFI_METRICS=y +CONFIG_DIAG_ENABLE_VARIABLES=y +CONFIG_DIAG_VARIABLES_MAX_COUNT=20 +CONFIG_DIAG_ENABLE_NETWORK_VARIABLES=y +# CONFIG_DIAG_MORE_NETWORK_VARS is not set +# CONFIG_DIAG_USE_EXTERNAL_LOG_WRAP is not set +# end of Diagnostics + +# +# ESP Insights +# +CONFIG_ESP_INSIGHTS_ENABLED=y +# CONFIG_ESP_INSIGHTS_DEBUG_ENABLED is not set +# CONFIG_ESP_INSIGHTS_COREDUMP_ENABLE is not set +# CONFIG_ESP_INSIGHTS_TRANSPORT_MQTT is not set +CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS=y +CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS_HOST="https://client.insights.espressif.com" +CONFIG_ESP_INSIGHTS_CLOUD_POST_MIN_INTERVAL_SEC=60 +CONFIG_ESP_INSIGHTS_CLOUD_POST_MAX_INTERVAL_SEC=240 +CONFIG_ESP_INSIGHTS_META_VERSION_10=y +# end of ESP Insights + +# +# esp-modem +# +CONFIG_ESP_MODEM_CMUX_DEFRAGMENT_PAYLOAD=y +# CONFIG_ESP_MODEM_USE_INFLATABLE_BUFFER_IF_NEEDED is not set +CONFIG_ESP_MODEM_CMUX_DELAY_AFTER_DLCI_SETUP=0 +# CONFIG_ESP_MODEM_CMUX_USE_SHORT_PAYLOADS_ONLY is not set +# CONFIG_ESP_MODEM_ADD_CUSTOM_MODULE is not set +# end of esp-modem + +# +# OpenThread RCP Update +# +# CONFIG_AUTO_UPDATE_RCP is not set +# CONFIG_CREATE_OTA_IMAGE_WITH_RCP_FW is not set +# end of OpenThread RCP Update + +# +# ESP Secure Cert Manager +# +# CONFIG_ESP_SECURE_CERT_SUPPORT_LEGACY_FORMATS is not set +# end of ESP Secure Cert Manager + +# +# jsmn +# +# CONFIG_JSMN_PARENT_LINKS is not set +# CONFIG_JSMN_STRICT is not set +# CONFIG_JSMN_STATIC is not set +# end of jsmn + +# +# libsodium +# +# end of libsodium + +# +# mDNS +# +CONFIG_MDNS_MAX_INTERFACES=3 +CONFIG_MDNS_MAX_SERVICES=10 +CONFIG_MDNS_TASK_PRIORITY=1 +CONFIG_MDNS_ACTION_QUEUE_LEN=16 +CONFIG_MDNS_TASK_STACK_SIZE=4096 +# CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_MDNS_TASK_AFFINITY_CPU0=y +# CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set +CONFIG_MDNS_TASK_AFFINITY=0x0 +CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000 +CONFIG_MDNS_TIMER_PERIOD_MS=100 +# CONFIG_MDNS_NETWORKING_SOCKET is not set +# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set +# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set +CONFIG_MDNS_ENABLE_CONSOLE_CLI=y +# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set +CONFIG_MDNS_MULTIPLE_INSTANCE=y + +# +# MDNS Predefined interfaces +# +CONFIG_MDNS_PREDEF_NETIF_STA=y +CONFIG_MDNS_PREDEF_NETIF_AP=y +CONFIG_MDNS_PREDEF_NETIF_ETH=y +# end of MDNS Predefined interfaces +# end of mDNS + +# +# Network Provisioning Manager +# +CONFIG_NETWORK_PROV_NETWORK_TYPE_WIFI=y +CONFIG_NETWORK_PROV_SCAN_MAX_ENTRIES=16 +CONFIG_NETWORK_PROV_AUTOSTOP_TIMEOUT=30 +# CONFIG_NETWORK_PROV_BLE_BONDING is not set +# CONFIG_NETWORK_PROV_BLE_FORCE_ENCRYPTION is not set +# CONFIG_NETWORK_PROV_KEEP_BLE_ON_AFTER_PROV is not set +CONFIG_NETWORK_PROV_WIFI_STA_ALL_CHANNEL_SCAN=y +# CONFIG_NETWORK_PROV_WIFI_STA_FAST_SCAN is not set +# end of Network Provisioning Manager + +# +# ESP RainMaker Common +# +CONFIG_ESP_RMAKER_LIB_ESP_MQTT=y +# CONFIG_ESP_RMAKER_LIB_AWS_IOT is not set +CONFIG_ESP_RMAKER_MQTT_GLUE_LIB=1 +CONFIG_ESP_RMAKER_MQTT_PORT_443=y +# CONFIG_ESP_RMAKER_MQTT_PORT_8883 is not set +CONFIG_ESP_RMAKER_MQTT_PORT=1 +# CONFIG_ESP_RMAKER_MQTT_PERSISTENT_SESSION is not set +CONFIG_ESP_RMAKER_MQTT_SEND_USERNAME=y +CONFIG_ESP_RMAKER_MQTT_PRODUCT_NAME="RMDev" +CONFIG_ESP_RMAKER_MQTT_PRODUCT_VERSION="1x0" +CONFIG_ESP_RMAKER_MQTT_PRODUCT_SKU="EX00" +CONFIG_ESP_RMAKER_MQTT_USE_CERT_BUNDLE=y +CONFIG_ESP_RMAKER_MAX_MQTT_SUBSCRIPTIONS=10 +CONFIG_ESP_RMAKER_MQTT_KEEP_ALIVE_INTERVAL=120 +CONFIG_ESP_RMAKER_NETWORK_OVER_WIFI=y +CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK=4096 +CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_PRIORITY=5 +CONFIG_ESP_RMAKER_FACTORY_PARTITION_NAME="fctry" +CONFIG_ESP_RMAKER_FACTORY_NAMESPACE="rmaker_creds" +CONFIG_ESP_RMAKER_DEF_TIMEZONE="Asia/Shanghai" +CONFIG_ESP_RMAKER_SNTP_SERVER_NAME="pool.ntp.org" +CONFIG_ESP_RMAKER_MAX_COMMANDS=10 +# end of ESP RainMaker Common + +# +# LittleFS +# +# CONFIG_LITTLEFS_SDMMC_SUPPORT is not set +CONFIG_LITTLEFS_MAX_PARTITIONS=3 +CONFIG_LITTLEFS_PAGE_SIZE=256 +CONFIG_LITTLEFS_OBJ_NAME_LEN=64 +CONFIG_LITTLEFS_READ_SIZE=128 +CONFIG_LITTLEFS_WRITE_SIZE=128 +CONFIG_LITTLEFS_LOOKAHEAD_SIZE=128 +CONFIG_LITTLEFS_CACHE_SIZE=512 +CONFIG_LITTLEFS_BLOCK_CYCLES=512 +CONFIG_LITTLEFS_USE_MTIME=y +# CONFIG_LITTLEFS_USE_ONLY_HASH is not set +# CONFIG_LITTLEFS_HUMAN_READABLE is not set +CONFIG_LITTLEFS_MTIME_USE_SECONDS=y +# CONFIG_LITTLEFS_MTIME_USE_NONCE is not set +# CONFIG_LITTLEFS_SPIFFS_COMPAT is not set +# CONFIG_LITTLEFS_FLUSH_FILE_EVERY_WRITE is not set +# CONFIG_LITTLEFS_FCNTL_GET_PATH is not set +# CONFIG_LITTLEFS_MULTIVERSION is not set +# CONFIG_LITTLEFS_MALLOC_STRATEGY_DISABLE is not set +CONFIG_LITTLEFS_MALLOC_STRATEGY_DEFAULT=y +# CONFIG_LITTLEFS_MALLOC_STRATEGY_INTERNAL is not set +CONFIG_LITTLEFS_ASSERTS=y +# end of LittleFS +# end of Component config + +# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set + +# Deprecated options for backward compatibility +# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set +# CONFIG_NO_BLOBS is not set +# CONFIG_ESP32_NO_BLOBS is not set +# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set +# CONFIG_ESP32_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set +CONFIG_LOG_BOOTLOADER_LEVEL_ERROR=y +# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_INFO is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set +CONFIG_LOG_BOOTLOADER_LEVEL=1 +CONFIG_APP_ROLLBACK_ENABLE=y +# CONFIG_APP_ANTI_ROLLBACK is not set +# CONFIG_FLASH_ENCRYPTION_ENABLED is not set +CONFIG_FLASHMODE_QIO=y +# CONFIG_FLASHMODE_QOUT is not set +# CONFIG_FLASHMODE_DIO is not set +# CONFIG_FLASHMODE_DOUT is not set +CONFIG_MONITOR_BAUD=115200 +# CONFIG_ESP_RMAKER_LOCAL_CTRL_ENABLE is not set +# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set +CONFIG_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 +CONFIG_CXX_EXCEPTIONS=y +CONFIG_CXX_EXCEPTIONS_EMG_POOL_SIZE=0 +# CONFIG_STACK_CHECK_NONE is not set +CONFIG_STACK_CHECK_NORM=y +# CONFIG_STACK_CHECK_STRONG is not set +# CONFIG_STACK_CHECK_ALL is not set +CONFIG_STACK_CHECK=y +CONFIG_WARN_WRITE_STRINGS=y +# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set +CONFIG_ESP32_APPTRACE_DEST_NONE=y +CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y +CONFIG_BLUEDROID_ENABLED=y +# CONFIG_NIMBLE_ENABLED is not set +CONFIG_BTC_TASK_STACK_SIZE=8192 +CONFIG_BLUEDROID_PINNED_TO_CORE_0=y +# CONFIG_BLUEDROID_PINNED_TO_CORE_1 is not set +CONFIG_BLUEDROID_PINNED_TO_CORE=0 +CONFIG_BTU_TASK_STACK_SIZE=8192 +# CONFIG_BLUEDROID_MEM_DEBUG is not set +CONFIG_CLASSIC_BT_ENABLED=y +CONFIG_A2DP_ENABLE=y +CONFIG_HFP_ENABLE=y +CONFIG_HFP_CLIENT_ENABLE=y +CONFIG_HFP_AG_ENABLE=y +CONFIG_HFP_AUDIO_DATA_PATH_PCM=y +# CONFIG_HFP_AUDIO_DATA_PATH_HCI is not set +CONFIG_GATTS_ENABLE=y +# CONFIG_GATTS_SEND_SERVICE_CHANGE_MANUAL is not set +CONFIG_GATTS_SEND_SERVICE_CHANGE_AUTO=y +CONFIG_GATTS_SEND_SERVICE_CHANGE_MODE=0 +CONFIG_GATTC_ENABLE=y +# CONFIG_GATTC_CACHE_NVS_FLASH is not set +CONFIG_BLE_SMP_ENABLE=y +# CONFIG_SMP_SLAVE_CON_PARAMS_UPD_ENABLE is not set +# CONFIG_BLE_HOST_QUEUE_CONGESTION_CHECK is not set +CONFIG_SMP_ENABLE=y +# CONFIG_BLE_ACTIVE_SCAN_REPORT_ADV_SCAN_RSP_INDIVIDUALLY is not set +CONFIG_BLE_ESTABLISH_LINK_CONNECTION_TIMEOUT=30 +# CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY is not set +# CONFIG_BTDM_CONTROLLER_MODE_BR_EDR_ONLY is not set +CONFIG_BTDM_CONTROLLER_MODE_BTDM=y +CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN=3 +CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN=2 +CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN=0 +CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=3 +CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=2 +CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0 +CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0 +CONFIG_BTDM_CONTROLLER_HCI_MODE_VHCI=y +# CONFIG_BTDM_CONTROLLER_HCI_MODE_UART_H4 is not set +CONFIG_BTDM_CONTROLLER_MODEM_SLEEP=y +CONFIG_BLE_SCAN_DUPLICATE=y +CONFIG_SCAN_DUPLICATE_BY_DEVICE_ADDR=y +# CONFIG_SCAN_DUPLICATE_BY_ADV_DATA is not set +# CONFIG_SCAN_DUPLICATE_BY_ADV_DATA_AND_DEVICE_ADDR is not set +CONFIG_SCAN_DUPLICATE_TYPE=0 +CONFIG_DUPLICATE_SCAN_CACHE_SIZE=20 +CONFIG_BLE_MESH_SCAN_DUPLICATE_EN=y +CONFIG_MESH_DUPLICATE_SCAN_CACHE_SIZE=100 +CONFIG_BTDM_CONTROLLER_FULL_SCAN_SUPPORTED=y +CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_SUPPORTED=y +CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_NUM=100 +CONFIG_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 +# CONFIG_BLE_MESH_ALLOC_FROM_PSRAM_FIRST is not set +CONFIG_ADC2_DISABLE_DAC=y +# CONFIG_MCPWM_ISR_IN_IRAM is not set +CONFIG_SW_COEXIST_ENABLE=y +CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y +CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y +# CONFIG_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +# CONFIG_OTA_ALLOW_HTTP is not set +# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set +CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y +CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 +CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 +CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000 +CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y +CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y +# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set +# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set +# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set +CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 +# CONFIG_ESP32_XTAL_FREQ_26 is not set +CONFIG_ESP32_XTAL_FREQ_40=y +# CONFIG_ESP32_XTAL_FREQ_AUTO is not set +CONFIG_ESP32_XTAL_FREQ=40 +CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP32_PHY_MAX_TX_POWER=20 +CONFIG_REDUCE_PHY_TX_POWER=y +CONFIG_ESP32_REDUCE_PHY_TX_POWER=y +CONFIG_SPIRAM_SUPPORT=y +CONFIG_ESP32_SPIRAM_SUPPORT=y +# CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST is not set +# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set +CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y +# CONFIG_ESP32_DEFAULT_CPU_FREQ_240 is not set +CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=160 +CONFIG_TRACEMEM_RESERVE_DRAM=0x0 +# CONFIG_ESP32_PANIC_PRINT_HALT is not set +CONFIG_ESP32_PANIC_PRINT_REBOOT=y +# CONFIG_ESP32_PANIC_SILENT_REBOOT is not set +# CONFIG_ESP32_PANIC_GDBSTUB is not set +CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2048 +CONFIG_MAIN_TASK_STACK_SIZE=4096 +CONFIG_CONSOLE_UART_DEFAULT=y +# CONFIG_CONSOLE_UART_CUSTOM is not set +# CONFIG_CONSOLE_UART_NONE is not set +# CONFIG_ESP_CONSOLE_UART_NONE is not set +CONFIG_CONSOLE_UART=y +CONFIG_CONSOLE_UART_NUM=0 +CONFIG_CONSOLE_UART_BAUDRATE=115200 +CONFIG_INT_WDT=y +CONFIG_INT_WDT_TIMEOUT_MS=300 +CONFIG_INT_WDT_CHECK_CPU1=y +CONFIG_TASK_WDT=y +CONFIG_ESP_TASK_WDT=y +CONFIG_TASK_WDT_PANIC=y +CONFIG_TASK_WDT_TIMEOUT_S=5 +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1 is not set +# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP32_DEBUG_OCDAWARE=y +CONFIG_BROWNOUT_DET=y +CONFIG_ESP32_BROWNOUT_DET=y +CONFIG_BROWNOUT_DET_LVL_SEL_0=y +CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0=y +# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set +CONFIG_BROWNOUT_DET_LVL=0 +CONFIG_ESP32_BROWNOUT_DET_LVL=0 +# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set +CONFIG_IPC_TASK_STACK_SIZE=1024 +CONFIG_TIMER_TASK_STACK_SIZE=4096 +CONFIG_ESP32_WIFI_ENABLED=y +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=8 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=8 +CONFIG_ESP32_WIFI_CACHE_TX_BUFFER_NUM=16 +CONFIG_ESP32_WIFI_CSI_ENABLED=y +CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP32_WIFI_TX_BA_WIN=6 +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +# CONFIG_ESP32_WIFI_AMSDU_TX_ENABLED is not set +CONFIG_ESP32_WIFI_NVS_ENABLED=y +CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y +# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set +CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 +# CONFIG_ESP32_WIFI_IRAM_OPT is not set +# CONFIG_ESP32_WIFI_RX_IRAM_OPT is not set +CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y +CONFIG_WPA_MBEDTLS_CRYPTO=y +CONFIG_WPA_MBEDTLS_TLS_CLIENT=y +# CONFIG_WPA_WAPI_PSK is not set +# CONFIG_WPA_11KV_SUPPORT is not set +# CONFIG_WPA_MBO_SUPPORT is not set +# CONFIG_WPA_DPP_SUPPORT is not set +# CONFIG_WPA_11R_SUPPORT is not set +# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set +# CONFIG_WPA_WPS_STRICT is not set +# CONFIG_WPA_DEBUG_PRINT is not set +# CONFIG_WPA_TESTING_OPTIONS is not set +CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH=y +# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE is not set +# CONFIG_ESP32_COREDUMP_DATA_FORMAT_BIN is not set +CONFIG_ESP32_COREDUMP_DATA_FORMAT_ELF=y +CONFIG_ESP32_COREDUMP_CHECKSUM_CRC32=y +# CONFIG_ESP32_COREDUMP_CHECKSUM_SHA256 is not set +CONFIG_ESP32_ENABLE_COREDUMP=y +CONFIG_ESP32_CORE_DUMP_MAX_TASKS_NUM=64 +CONFIG_ESP32_CORE_DUMP_STACK_SIZE=1024 +CONFIG_TIMER_TASK_PRIORITY=1 +CONFIG_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_TIMER_QUEUE_LENGTH=10 +# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set +# CONFIG_L2_TO_L3_COPY is not set +CONFIG_ESP_GRATUITOUS_ARP=y +CONFIG_GARP_TMR_INTERVAL=60 +CONFIG_TCPIP_RECVMBOX_SIZE=32 +CONFIG_TCP_MAXRTX=12 +CONFIG_TCP_SYNMAXRTX=6 +CONFIG_TCP_MSS=1436 +CONFIG_TCP_MSL=60000 +CONFIG_TCP_SND_BUF_DEFAULT=5760 +CONFIG_TCP_WND_DEFAULT=5760 +CONFIG_TCP_RECVMBOX_SIZE=6 +CONFIG_TCP_QUEUE_OOSEQ=y +CONFIG_TCP_OVERSIZE_MSS=y +# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_TCP_OVERSIZE_DISABLE is not set +CONFIG_UDP_RECVMBOX_SIZE=6 +CONFIG_TCPIP_TASK_STACK_SIZE=4096 +# CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_TCPIP_TASK_AFFINITY_CPU0=y +# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set +CONFIG_TCPIP_TASK_AFFINITY=0x0 +CONFIG_PPP_SUPPORT=y +CONFIG_PPP_NOTIFY_PHASE_SUPPORT=y +CONFIG_PPP_PAP_SUPPORT=y +# CONFIG_PPP_CHAP_SUPPORT is not set +# CONFIG_PPP_MSCHAP_SUPPORT is not set +# CONFIG_PPP_MPPE_SUPPORT is not set +# CONFIG_PPP_DEBUG_ON is not set +CONFIG_ESP32_TIME_SYSCALL_USE_RTC_HRT=y +CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y +# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_HRT is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=2048 +CONFIG_ESP32_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set +CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +CONFIG_ESP32_ULP_COPROC_ENABLED=y +CONFIG_ESP32_ULP_COPROC_RESERVE_MEM=512 +CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y +CONFIG_SUPPORT_TERMIOS=y +CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND=3000 +CONFIG_MB_MASTER_DELAY_MS_CONVERT=200 +CONFIG_MB_QUEUE_LENGTH=20 +CONFIG_MB_SERIAL_TASK_STACK_SIZE=4096 +CONFIG_MB_SERIAL_BUF_SIZE=256 +CONFIG_MB_SERIAL_TASK_PRIO=10 +# CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT is not set +CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20 +CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 +CONFIG_MB_CONTROLLER_STACK_SIZE=4096 +CONFIG_MB_EVENT_QUEUE_TIMEOUT=20 +CONFIG_MB_TIMER_PORT_ENABLED=y +# End of deprecated options diff --git a/build/sketch/.vscode/arduino.json b/build/sketch/.vscode/arduino.json new file mode 100644 index 0000000..b3d28f2 --- /dev/null +++ b/build/sketch/.vscode/arduino.json @@ -0,0 +1,18 @@ +#line 1 "C:\\Users\\espi_\\Documents\\Arduino\\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" + } +} \ No newline at end of file diff --git a/ESP32_Utils.hpp b/build/sketch/ESP32_Utils.hpp similarity index 92% rename from ESP32_Utils.hpp rename to build/sketch/ESP32_Utils.hpp index 6078403..a2ab7ba 100644 --- a/ESP32_Utils.hpp +++ b/build/sketch/ESP32_Utils.hpp @@ -1,3 +1,4 @@ +#line 1 "C:\\Users\\espi_\\Documents\\Arduino\\vesper\\ESP32_Utils.hpp" void ConnectWiFi_STA(bool useStaticIP = false) { Serial.println(""); diff --git a/ESP32_Utils_MQTT_Async.hpp b/build/sketch/ESP32_Utils_MQTT_Async.hpp similarity index 96% rename from ESP32_Utils_MQTT_Async.hpp rename to build/sketch/ESP32_Utils_MQTT_Async.hpp index 8609956..bca7182 100644 --- a/ESP32_Utils_MQTT_Async.hpp +++ b/build/sketch/ESP32_Utils_MQTT_Async.hpp @@ -1,3 +1,4 @@ +#line 1 "C:\\Users\\espi_\\Documents\\Arduino\\vesper\\ESP32_Utils_MQTT_Async.hpp" #pragma once TimerHandle_t mqttReconnectTimer; @@ -62,7 +63,6 @@ void OnMqttUnsubscribe(uint16_t packetId) Serial.println(packetId); } - void OnMqttPublish(uint16_t packetId) { Serial.println("Publish acknowledged."); diff --git a/build/sketch/MQTT.hpp b/build/sketch/MQTT.hpp new file mode 100644 index 0000000..6217a24 --- /dev/null +++ b/build/sketch/MQTT.hpp @@ -0,0 +1,89 @@ +#line 1 "C:\\Users\\espi_\\Documents\\Arduino\\vesper\\MQTT.hpp" +#pragma once + +const IPAddress MQTT_HOST(10,98,20,10); +const int MQTT_PORT = 1883; + +AsyncMqttClient mqttClient; + +extern bool forceStop; +extern volatile bool playing; + +String GetPayloadContent(char * data, size_t len) { + String content = ""; + for(size_t i = 0; i < len; i++) + { + content.concat(data[i]); + } + return content; +} + +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/add_melody"; + + 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(topic_eBrake.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); + +} + +void PublishMqtt(unsigned long data) { + + //Doesn't publish anything yet. + String topicData = String("vesper/") + DEV_ID + "/data"; + String payload = String(data); + mqttClient.publish(topicData.c_str(), 0, true, (char*)payload.c_str()); + +} + +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/add_melody"; + + + String payloadContent = String(payload).substring(0, len); + + if (String(topic) == topicPlayback){ + if (len == 1 && payload[0] == '0') { // Checking for raw '0' byte + forceStop = true; + Serial.println("STOPPING Playback!"); + } + else if (len == 1 && payload[0] == '1'){ + playing = true; + } + } + + else if (String(topic) == topicSetMelody) { + // Handle the playback command + handleJSON(payload); + } + + else if (String(topic) == topicAddMelody) { + // Handle adding melody + Serial.println("Adding melody..."); + // You can call a function here to handle adding the melody + } + else { + // Handle unknown topics + Serial.println("Unknown topic received."); + } +} + + + + diff --git a/build/sketch/Timers.hpp b/build/sketch/Timers.hpp new file mode 100644 index 0000000..81f967c --- /dev/null +++ b/build/sketch/Timers.hpp @@ -0,0 +1,28 @@ +#line 1 "C:\\Users\\espi_\\Documents\\Arduino\\vesper\\Timers.hpp" +#pragma once + +extern volatile uint64_t startTime; +extern melody_attributes melody; +extern volatile bool playing; + +void durationTimer(void *param); + + +void durationTimer(void *param){ + + // SETUP TASK + + for (;;){ + + if (playing){ + uint64_t now = millis(); + uint64_t timeToStop = startTime + melody.duration; + if (now > timeToStop) { + playing = false; + Serial.println("Time Limit Reached. Stopping !"); + } + } + } + + +} diff --git a/build/sketch/bellEngine.hpp b/build/sketch/bellEngine.hpp new file mode 100644 index 0000000..4a174ed --- /dev/null +++ b/build/sketch/bellEngine.hpp @@ -0,0 +1,78 @@ +#line 1 "C:\\Users\\espi_\\Documents\\Arduino\\vesper\\bellEngine.hpp" +// MELODY PLAYBACK WILL BE HANDLED HERE +#include + +extern volatile bool playing; +extern melody_attributes melody; +extern uint16_t relayMask; +extern bool forceStop; + +void loop_playback(std::vector &melody_steps); +void itsHammerTime(uint16_t note); + + +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); + */ + } + +} + + + + +void loop_playback(std::vector &melody_steps) { + + + + while(playing){ + + // iterate through the beats and call the bell mechanism on each beat + for (uint16_t note : melody_steps) { + if (forceStop) return; + itsHammerTime(note); + int tempo = melody.speed; + vTaskDelay(pdMS_TO_TICKS(tempo)); + } + + // pause for "interval_duration" + vTaskDelay(pdMS_TO_TICKS(melody.interval_duration)); + + // pause for standard "breath-out" duration if interval was less than 3000ms + if (melody.interval_duration<3000) vTaskDelay(pdMS_TO_TICKS(3000)); + + } + +} + + +void itsHammerTime(uint16_t note){ + + // THIS NEEDS REWORK, TO WAIT, DYNAMICLY PER RELAY + // MUST BE CONFIGURABLE REMOTELY + + for (uint8_t i=0; i<16; i++) { + if (note & (1 << i)) { + relays.digitalWrite(i, LOW); + } + } + + vTaskDelay(pdMS_TO_TICKS(relayDurations[0])); + + for (uint8_t i=0; i<16; i++) { + relays.digitalWrite(i, HIGH); + } + + +} diff --git a/build/sketch/config.h b/build/sketch/config.h new file mode 100644 index 0000000..30594ac --- /dev/null +++ b/build/sketch/config.h @@ -0,0 +1,11 @@ +#line 1 "C:\\Users\\espi_\\Documents\\Arduino\\vesper\\config.h" +const char* ssid = "SmartNet"; +const char* password = "smartpass"; +const char* hostname = "ESP32_mqtt_test"; + +IPAddress ip(10, 98, 30, 150); +IPAddress gateway(10, 98, 30, 1); +IPAddress subnet(255, 255, 255, 0); + +#define MQTT_USER "esp32_vesper" +#define MQTT_PASS "vesper" \ No newline at end of file diff --git a/build/sketch/functions.hpp b/build/sketch/functions.hpp new file mode 100644 index 0000000..e037ef9 --- /dev/null +++ b/build/sketch/functions.hpp @@ -0,0 +1,92 @@ +#line 1 "C:\\Users\\espi_\\Documents\\Arduino\\vesper\\functions.hpp" +#pragma once + +extern std::vector melody_steps; + +void setMelodyAttributes(JsonDocument doc); +void loadMelodyInRAM(std::vector &melody_steps); + + +void handleJSON(String * payload) { + + JsonDocument doc; + DeserializationError error = deserializeJson(doc, payload); + + if (error) { + Serial.print("deserializeJson() failed: "); + Serial.println(error.c_str()); + return; + } + + setMelodyAttributes(doc); + loadMelodyInRAM(melody_steps); + +} + + +void setMelodyAttributes(JsonDocument doc){ + + + melody.name = doc["name"].as(); // Convert to std::string "name" : "eortastiko" + melody.id = doc["id"].as(); + melody.duration = doc["duration"].as(); + melody.infinite_play = doc["infinite"].as(); + melody.interval_duration = doc["inter_dur"].as(); + melody.speed = doc["speed"].as(); + + + + // Print Just for Debugging Purposes + Serial.printf("Name: %s, ID: %d, Duration: %lu, Inf: %s, Inter: %d, Speed: %d\n", + melody.name.c_str(), + melody.id, + melody.duration, + melody.infinite_play ? "true" : "false", + melody.interval_duration, + melody.speed); + +} + + +void loadMelodyInRAM(std::vector &melody_steps) { + + //if (!newMelody || !playing) return; + + // read the file and save in RAM + + std::string filePath = "/" + melody.name + ".bin"; + Serial.println("New Melody Selected !!!"); + Serial.println("Reading data from file..."); + //Serial.println(filePath); + 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 +#line 1 "C:\\Users\\espi_\\Documents\\Arduino\\vesper\\vesper.ino" +#include +#include +#include +#include +#include +#include +#include +#include + +#define PCF8574_ADDR 0x24 +Adafruit_PCF8574 relays; + +#define DEV_ID "id-96638646" + +struct melody_attributes { + std::string name; // Contains the name of each Melody saved + uint16_t id; // The (internal) ID of the selected melody + uint32_t duration; // Indicates the total Duration in Minutes + bool infinite_play; // Infinite Loop Indicator (If True the melody will loop forever or until stoped, with pauses of "interval duration in between loops") + uint16_t interval_duration; // Indicates the Duration of the Interval between finished loops, IF "inf" is true + uint16_t speed; // Indicates the Speed in 9 Steps. 1-9 (Steps can be adjusted in the bellEngine function) +}; + +melody_attributes melody; +std::vector melody_steps; + +volatile bool playing = false; +uint16_t relayMask = 0; // Bitmask indicating which relays to activate +uint8_t relayDurations[16] = {100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100}; // Deactivation timers for each relay in milliseconds +volatile uint64_t startTime = 0; +bool forceStop = false; + +#include "functions.hpp" +#include "config.h" // Sustituir con datos de vuestra red +#include "MQTT.hpp" +#include "ESP32_Utils.hpp" +#include "ESP32_Utils_MQTT_Async.hpp" +#include "bellEngine.hpp" +#include "hammerTime.hpp" +#include "Timers.hpp" + + +TaskHandle_t bellEngineHandle = NULL; + + + +#line 47 "C:\\Users\\espi_\\Documents\\Arduino\\vesper\\vesper.ino" +void setup(); +#line 99 "C:\\Users\\espi_\\Documents\\Arduino\\vesper\\vesper.ino" +void loop(); +#line 47 "C:\\Users\\espi_\\Documents\\Arduino\\vesper\\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, // Task function + "bellEngine", // Task name + 8192, // Stack size + NULL, // Task input parameters + 1, // Task priority, be carefull when changing this + &bellEngineHandle, // Task handle, add one if you want control over the task (resume or suspend the task) + 1 // Core to run the task on + ); + + xTaskCreatePinnedToCore( + durationTimer, // Task function + "durationTimer", // Task name + 8192, // Stack size + NULL, // Task input parameters + 1, // Task priority, be carefull when changing this + NULL, // Task handle, add one if you want control over the task (resume or suspend the task) + 1 // Core to run the task on + ); + +} + +void loop() +{ +} diff --git a/build/sketch/vesper.ino.cpp.d b/build/sketch/vesper.ino.cpp.d new file mode 100644 index 0000000..570bfbb --- /dev/null +++ b/build/sketch/vesper.ino.cpp.d @@ -0,0 +1,248 @@ +c:\Users\espi_\Documents\Arduino\vesper\build\sketch\vesper.ino.cpp.o: \ + c:\Users\espi_\Documents\Arduino\vesper\build\sketch\vesper.ino.cpp \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/Arduino.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp_arduino_version.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/FreeRTOS.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/freertos/esp_additions/include/freertos/FreeRTOSConfig.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/freertos/esp_additions/arch/xtensa/include/freertos/FreeRTOSConfig_arch.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos/xtensa_config.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/xtensa/include/xtensa/hal.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/xtensa/esp32/include/xtensa/config/core.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/xtensa/include/xtensa/xtensa-versions.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\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.1-632e0c2a\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.1-632e0c2a\esp32/include/xtensa/esp32/include/xtensa/config/tie.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/xtensa/esp32/include/xtensa/config/system.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos/xtensa_context.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/xtensa/include/xtensa/xtensa_context.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/xtensa/include/xtensa/corebits.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/xtensa/include/xtensa/xtruntime-frames.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/projdefs.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/portable.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\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.1-632e0c2a\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.1-632e0c2a\esp32/include/xtensa/include/xtensa/xtruntime.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/xtensa/esp32/include/xtensa/config/specreg.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/xtensa/include/xtensa/xtruntime-core-state.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/xtensa/include/xt_instr_macros.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/xtensa/include/xtensa/xtruntime.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_hw_support/include/spinlock.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_hw_support/include/esp_cpu.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/soc/esp32/include/soc/soc_caps.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/xtensa/include/xtensa/xtensa_api.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/xtensa/include/xtensa/xtensa_context.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/xtensa/include/xt_utils.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/xtensa/esp32/include/xtensa/config/extreg.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_common/include/esp_bit_defs.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_common/include/esp_attr.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\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.1-632e0c2a\esp32/include/esp_common/include/esp_err.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_common/include/esp_compiler.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\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.1-632e0c2a\esp32/include/esp_common/include/esp_macros.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_common/include/esp_assert.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\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.1-632e0c2a\esp32/include/soc/esp32/include/soc/soc.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_common/include/esp_assert.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/soc/esp32/include/soc/reg_base.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/newlib/platform_include/esp_newlib.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/heap/include/esp_heap_caps.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/heap/include/multi_heap.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_rom/include/esp_rom_sys.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/soc/esp32/include/soc/reset_reasons.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_system/include/esp_system.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_common/include/esp_idf_version.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\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.1-632e0c2a\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.1-632e0c2a\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/task.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/list.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/semphr.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/queue.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/task.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_hw_support/include/esp_sleep.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/hal/include/hal/touch_sensor_types.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/hal/include/hal/gpio_types.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/queue.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\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.1-632e0c2a\esp32/include/freertos/FreeRTOS-Kernel/include/freertos/timers.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal-log.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_timer/include/esp_timer.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_hw_support/include/esp_etm.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\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.1-632e0c2a\esp32/include/log/include/esp_log.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/log/include/esp_log_internal.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal-matrix.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/soc/esp32/include/soc/gpio_sig_map.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal-uart.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/hal/include/hal/uart_types.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/soc/esp32/include/soc/clk_tree_defs.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal-gpio.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\variants\esp32/pins_arduino.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/driver/gpio/include/driver/gpio.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_rom/include/esp_rom_gpio.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/soc/esp32/include/soc/gpio_pins.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/driver/gpio/include/driver/gpio_etm.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal-touch.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal-dac.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal-adc.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal-spi.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal-i2c.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal-ledc.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/hal/include/hal/ledc_types.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal-rmt.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal-sigmadelta.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal-timer.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/driver/gptimer/include/driver/gptimer_types.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/hal/include/hal/timer_types.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal-bt.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal-psram.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal-rgb-led.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal-cpu.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp8266-compat.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/soc/esp32/include/soc/gpio_reg.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/stdlib_noniso.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/binary.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/extra_attr.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/WCharacter.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/WString.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/pgmspace.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/Stream.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/Print.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/Printable.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/IPAddress.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\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.1-632e0c2a\esp32/include/lwip/lwip/src/include/lwip/opt.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/lwip/port/include/lwipopts.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/newlib/platform_include/sys/ioctl.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/newlib/platform_include/sys/poll.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_system/include/esp_task.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_hw_support/include/esp_random.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\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.1-632e0c2a\esp32/include/lwip/port/include/sockets_ext.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\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.1-632e0c2a\esp32/include/lwip/lwip/src/include/lwip/debug.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/lwip/lwip/src/include/lwip/arch.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/lwip/port/esp32xx/include/arch/cc.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/newlib/platform_include/errno.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/lwip/lwip/src/include/lwip/def.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\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.1-632e0c2a\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.1-632e0c2a\esp32/include/lwip/lwip/src/include/lwip/def.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\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.1-632e0c2a\esp32/include/esp_netif/include/esp_netif_ip_addr.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/Client.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/Server.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/Udp.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/HardwareSerial.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/HWCDC.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/USBCDC.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/Esp.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_partition/include/esp_partition.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\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.1-632e0c2a\esp32/include/esp_hw_support/include/hal/cpu_ll.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/io_pin_remap.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/Arduino.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\WiFi\src/WiFi.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/Print.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\WiFi\src/WiFiType.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_wifi/include/esp_wifi_types.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_wifi/include/esp_private/esp_wifi_types_private.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_hw_support/include/esp_interface.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_event/include/esp_event_base.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\WiFi\src/WiFiSTA.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\WiFi\src/WiFiGeneric.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_event/include/esp_event.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_event/include/esp_event_base.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_wifi/include/esp_smartconfig.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_netif/include/esp_netif_types.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\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.1-632e0c2a\esp32/include/esp_eth/include/esp_eth_driver.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_eth/include/esp_eth_com.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/hal/include/hal/eth_types.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_eth/include/esp_eth_spec.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_eth/include/esp_eth_mac.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/driver/spi/include/driver/spi_master.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/hal/include/hal/spi_types.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/driver/spi/include/driver/spi_common.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_system/include/esp_ipc.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_hw_support/include/intr_types.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_eth/include/esp_eth_phy.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\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.1-632e0c2a\esp32/include/protocomm/include/common/protocomm.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/protocomm/include/security/protocomm_security.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/espressif__network_provisioning/include/network_provisioning/network_config.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\Network\src/Network.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\Network\src/NetworkInterface.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/Printable.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\Network\src/NetworkEvents.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\Network\src/NetworkManager.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/WString.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\Network\src/NetworkClient.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/Client.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\Network\src/NetworkServer.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/Server.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\Network\src/NetworkUdp.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/Udp.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/cbuf.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/esp_ringbuf/include/freertos/ringbuf.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\WiFi\src/WiFiAP.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\WiFi\src/WiFiScan.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\WiFi\src/WiFiClient.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\WiFi\src/WiFiServer.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\WiFi\src/WiFiUdp.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\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.1-632e0c2a\esp32/include/lwip/lwip/src/include/lwip/pbuf.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\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.0.7\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.0.7\libraries\FS\src/FS.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\SPIFFS\src/SPIFFS.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\Wire\src/Wire.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\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_I2CDevice.h \ + C:\Users\espi_\Documents\Arduino\libraries\Adafruit_BusIO/Adafruit_SPIDevice.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\SPI\src/SPI.h \ + C:\Users\espi_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32/esp32-hal-spi.h \ + c:\Users\espi_\Documents\Arduino\vesper\build\sketch\functions.hpp \ + c:\Users\espi_\Documents\Arduino\vesper\build\sketch\config.h \ + c:\Users\espi_\Documents\Arduino\vesper\build\sketch\MQTT.hpp \ + c:\Users\espi_\Documents\Arduino\vesper\build\sketch\ESP32_Utils.hpp \ + c:\Users\espi_\Documents\Arduino\vesper\build\sketch\ESP32_Utils_MQTT_Async.hpp \ + c:\Users\espi_\Documents\Arduino\vesper\build\sketch\bellEngine.hpp \ + c:\Users\espi_\Documents\Arduino\vesper\build\sketch\hammerTime.hpp \ + c:\Users\espi_\Documents\Arduino\vesper\build\sketch\Timers.hpp diff --git a/build/vesper.ino.bootloader.bin b/build/vesper.ino.bootloader.bin new file mode 100644 index 0000000000000000000000000000000000000000..58bb9744a516c4e06a661f3694ffb1d64e38d935 GIT binary patch literal 24896 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 NWcIabS^w$C|9_CMi#-4U literal 0 HcmV?d00001 diff --git a/config.h b/config.h index ac1d20a..b3d697e 100644 --- a/config.h +++ b/config.h @@ -2,9 +2,14 @@ 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 MQTT_USER "esp32_vesper" -#define MQTT_PASS "vesper" \ No newline at end of file +#define DEV_ID "id-96638646" diff --git a/data/data.bin b/data/data.bin deleted file mode 100644 index 139e5111b65b0683172058360f6b1e7552ad38c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1664 zcmeH|u@L}32*U6zEFHm79L>@5Q+!8F$B__9m0F|K2@xbkGb{(;-2HeT=EHulA3yxV E1NXjaZvX%Q diff --git a/data/melody1.bin b/data/melody1.bin index 45403bd0a2f4e83b03376785000581026c1a2cc3..e7ba30fbae87b1a945f74a7b2fd01cff5d6d483e 100644 GIT binary patch literal 30 TcmZQzWME=|VFoaO@qjb{0VV(w literal 64 acmZQ%U}j)v;AfC$uxF@e_|L#dA|C+Szz5j? diff --git a/data/melody1.txt b/data/melody1.txt deleted file mode 100644 index 5162ced..0000000 --- a/data/melody1.txt +++ /dev/null @@ -1 +0,0 @@ -[0000000000000001,0000000000000000,0000000000000010,0000000000000000,0000000000000001,0100000000010010,0000000000000001,0000000000001010,0000000000000000,0000000000000001] diff --git a/data/melody2.bin b/data/melody2.bin new file mode 100644 index 0000000000000000000000000000000000000000..104d0c09b33d24c4e503f0e758401ff613e89412 GIT binary patch literal 30 ScmZQzWME)`U`8m7#0LNXtN;rD literal 0 HcmV?d00001 diff --git a/data/melody3.bin b/data/melody3.bin new file mode 100644 index 0000000000000000000000000000000000000000..c204b9bae996ac3b0005a3caccd72d28d718d6a0 GIT binary patch literal 32 XcmZQzWME=oVc=j8U{GKH0W>}U2WkL+ literal 0 HcmV?d00001 diff --git a/functions.hpp b/functions.hpp index 545d516..80f1ae2 100644 --- a/functions.hpp +++ b/functions.hpp @@ -1,71 +1,70 @@ #pragma once -extern volatile bool playing; +extern std::vector melody_steps; -void playback(JsonDocument doc){ - if (doc["playback"].as()){ - playing = true; - Serial.println("START Playback!"); - } -else if (doc["playback"].as()){ - playing = false; - Serial.println("STOP Playback!"); - } -} +void setMelodyAttributes(JsonDocument doc); +void loadMelodyInRAM(std::vector &melody_steps); -void selectMelody(JsonDocument doc){ - - melody.name = doc["name"].as(); // Convert to std::string +void setMelodyAttributes(JsonDocument doc){ + + melody.name = doc["name"].as(); // Convert to std::string "name" : "eortastiko" melody.id = doc["id"].as(); melody.duration = doc["duration"].as(); melody.infinite_play = doc["infinite"].as(); - melody.interval_duration = doc["inter_dur"].as(); - melody.speed = doc["speed"].as(); + melody.interval = doc["interval"].as(); + melody.speed = doc["speed"].as(); + melody.loop_duration = doc["loop_dur"].as(); - Serial.printf("Name: %s, ID: %d, Duration: %lu, Inf: %s, Inter: %d, Speed: %d\n", - melody.name.c_str(), - melody.id, - melody.duration, - melody.infinite_play ? "true" : "false", - melody.interval_duration, - melody.speed); - + // 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" + ); } -void handleJSON(String payload) { - - JsonDocument doc; - DeserializationError error = deserializeJson(doc, payload); - - if (error) { - Serial.print("deserializeJson() failed: "); - Serial.println(error.c_str()); +void loadMelodyInRAM(std::vector &melody_steps) { + + // read the file and save in RAM + + std::string filePath = "/" + melody.name + ".bin"; + Serial.println("New Melody Selected !!!"); + Serial.println("Reading data from file..."); + //Serial.println(filePath); + File bin_file = SPIFFS.open(filePath.c_str(), "r"); + if (!bin_file) { + Serial.println("Failed to Open File"); return; } - - selectMelody(doc); - playback(doc); - + + + 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 -#include -#include - -#define PCF8574_ADDR 0x24 // Change the address if it's different -Adafruit_PCF8574 pcf8574; // Create an instance of the PCF8574 class - -extern volatile bool playing; - -void bellEngine(void *parameter); -void tempEngine(void *parameter); - -void bellEngine(void *parameter) { - - uint16_t melodyMap[5500]; - - // read the melody from file and store it in RAM - File melody_file = SPIFFS.open("/melody1.bin", "r"); - if (!melody_file) { - Serial.println("failed to open file"); - } - - for (;;){ - Serial.println("Initializing Melody Read"); - - std::vector melody; - - size_t fileSize = melody_file.size(); - size_t steps = fileSize / 2; - melody.resize(steps); - - Serial.print("Debuggin - FileSize: "); - Serial.print(fileSize); - Serial.print(" Steps: "); - Serial.println(steps); - Serial.println("Continuing with Assignment"); - - for (size_t i=0; i #include #include +#include +#include -#define DEV_ID "id-96638646" +#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; // Name of the Melody saved. Will be used to read the file: /name.bin + uint16_t speed; // 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"); + } -struct melody_attributes { - std::string name; // Contains the name of each Melody saved - uint16_t id; // The (internal) ID of the selected melody - uint32_t duration; // Indicates the total Duration in Minutes - bool infinite_play; // Infinite Loop Indicator (If True the melody will loop forever or until stoped, with pauses of "interval duration in between loops") - uint16_t interval_duration; // Indicates the Duration of the Interval between finished loops, IF "inf" is true - uint8_t speed; // Indicates the Speed in 9 Steps. 1-9 (Steps can be adjusted in the bellEngine function) }; melody_attributes melody; +std::vector melody_steps; -volatile bool playing = false; +uint16_t relayMask = 0; // Bitmask indicating which relays to activate +uint8_t relayDurations[16] = {5,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100}; // Deactivation timers for each relay in milliseconds +#include "config.h" #include "functions.hpp" -#include "config.h" // Sustituir con datos de vuestra red -#include "MQTT.hpp" -#include "ESP32_Utils.hpp" -#include "ESP32_Utils_MQTT_Async.hpp" -#include "melody_handling.hpp" +#include "MQTT_Message_Handling.hpp" +#include "MQTT_WiFi_Utilities.hpp" +#include "PlaybackControls.hpp" +#include "bellEngine.hpp" -TaskHandle_t myTaskHandle = NULL; + +TaskHandle_t bellEngineHandle = NULL; void setup() { - // Initialize Serial Communication (for debuggin) + // 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"); @@ -45,7 +101,8 @@ void setup() } Serial.println("SPIFFS mounted successfully"); delay(50); - + + // Initialize WiFi and MQTT WiFi.onEvent(WiFiEvent); InitMqtt(); @@ -58,18 +115,16 @@ void setup() 8192, // Stack size NULL, // Task input parameters 1, // Task priority, be carefull when changing this - &myTaskHandle, // Task handle, add one if you want control over the task (resume or suspend the task) + &bellEngineHandle, // Task handle, add one if you want control over the task (resume or suspend the task) 1 // Core to run the task on ); - vTaskSuspend(myTaskHandle); - - xTaskCreatePinnedToCore( - tempEngine, // Task function - "tempEngine", // Task name + xTaskCreatePinnedToCore( + durationTimer, // Task function + "durationTimer", // Task name 8192, // Stack size NULL, // Task input parameters - 1, // Task priority, be carefull when changing this + 2, // Task priority, be carefull when changing this NULL, // Task handle, add one if you want control over the task (resume or suspend the task) 1 // Core to run the task on ); @@ -78,4 +133,4 @@ void setup() void loop() { -} \ No newline at end of file +}