├── .gitignore ├── .vscode ├── c_cpp_properties.json ├── launch.json ├── settings.json └── tasks.json ├── CMakeLists.txt ├── README.md ├── _photo ├── cam2mqtt.png └── sample.png ├── components └── drawfont │ ├── CMakeLists.txt │ ├── SmallFont.h │ ├── drawfont.c │ └── drawfont.h ├── main ├── CMakeLists.txt ├── Kconfig.projbuild └── main.c └── sdkconfig_suapapa /.gitignore: -------------------------------------------------------------------------------- 1 | .gitignore 2 | build/ 3 | sdkconfig 4 | sdkconfig.old 5 | *~ 6 | -------------------------------------------------------------------------------- /.vscode/c_cpp_properties.json: -------------------------------------------------------------------------------- 1 | { 2 | "configurations": [ 3 | { 4 | "name": "ESP-IDF", 5 | "compilerPath": "${default}", 6 | "cStandard": "c11", 7 | "cppStandard": "c++17", 8 | "includePath": [ 9 | "${config:idf.espIdfPath}/components/**", 10 | "${config:idf.espIdfPathWin}/components/**", 11 | "${workspaceFolder}/**" 12 | ], 13 | "browse": { 14 | "path": [ 15 | "${config:idf.espIdfPath}/components", 16 | "${config:idf.espIdfPathWin}/components", 17 | "${workspaceFolder}" 18 | ], 19 | "limitSymbolsToIncludedHeaders": false 20 | } 21 | } 22 | ], 23 | "version": 4 24 | } 25 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "type": "espidf", 9 | "name": "Launch", 10 | "request": "launch", 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "C_Cpp.clang_format_style": "Visual Studio", 3 | "editor.formatOnSave": false, 4 | "[cpp]": { 5 | "editor.quickSuggestions": true 6 | }, 7 | "[c]": { 8 | "editor.quickSuggestions": true 9 | }, 10 | "C_Cpp.intelliSenseEngine": "Tag Parser", 11 | "files.associations": { 12 | "esp_system.h": "c", 13 | "*.ipp": "cpp" 14 | }, 15 | "idf.adapterTargetName": "esp32", 16 | "idf.port": "/dev/cu.usbserial-14140" 17 | } 18 | -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0.0", 3 | "tasks": [ 4 | { 5 | "label": "Build - Build project", 6 | "type": "shell", 7 | "command": "${config:idf.pythonBinPath} ${config:idf.espIdfPath}/tools/idf.py build", 8 | "windows": { 9 | "command": "${config:idf.pythonBinPathWin} ${config:idf.espIdfPathWin}\\tools\\idf.py build", 10 | "options": { 11 | "env": { 12 | "PATH": "${env:PATH};${config:idf.customExtraPaths}" 13 | } 14 | } 15 | }, 16 | "options": { 17 | "env": { 18 | "PATH": "${env:PATH}:${config:idf.customExtraPaths}" 19 | } 20 | }, 21 | "problemMatcher": [ 22 | { 23 | "owner": "cpp", 24 | "fileLocation": [ 25 | "relative", 26 | "${workspaceFolder}" 27 | ], 28 | "pattern": { 29 | "regexp": "^\\.\\.(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", 30 | "file": 1, 31 | "line": 2, 32 | "column": 3, 33 | "severity": 4, 34 | "message": 5 35 | } 36 | }, 37 | { 38 | "owner": "cpp", 39 | "fileLocation": "absolute", 40 | "pattern": { 41 | "regexp": "^[^\\.](.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", 42 | "file": 1, 43 | "line": 2, 44 | "column": 3, 45 | "severity": 4, 46 | "message": 5 47 | } 48 | } 49 | ], 50 | "group": { 51 | "kind": "build", 52 | "isDefault": true 53 | } 54 | }, 55 | { 56 | "label": "Set ESP-IDF Target", 57 | "type": "shell", 58 | "command": "${command:espIdf.setTarget}", 59 | "problemMatcher": { 60 | "owner": "cpp", 61 | "fileLocation": "absolute", 62 | "pattern": { 63 | "regexp": "^(.*):(//d+):(//d+)://s+(warning|error)://s+(.*)$", 64 | "file": 1, 65 | "line": 2, 66 | "column": 3, 67 | "severity": 4, 68 | "message": 5 69 | } 70 | } 71 | }, 72 | { 73 | "label": "Clean - Clean the project", 74 | "type": "shell", 75 | "command": "${config:idf.pythonBinPath} ${config:idf.espIdfPath}/tools/idf.py fullclean", 76 | "windows": { 77 | "command": "${config:idf.pythonBinPathWin} ${config:idf.espIdfPathWin}\\tools\\idf.py fullclean", 78 | "options": { 79 | "env": { 80 | "PATH": "${env:PATH};${config:idf.customExtraPaths}" 81 | } 82 | } 83 | }, 84 | "options": { 85 | "env": { 86 | "PATH": "${env:PATH}:${config:idf.customExtraPaths}" 87 | } 88 | }, 89 | "problemMatcher": [ 90 | { 91 | "owner": "cpp", 92 | "fileLocation": [ 93 | "relative", 94 | "${workspaceFolder}" 95 | ], 96 | "pattern": { 97 | "regexp": "^\\.\\.(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", 98 | "file": 1, 99 | "line": 2, 100 | "column": 3, 101 | "severity": 4, 102 | "message": 5 103 | } 104 | }, 105 | { 106 | "owner": "cpp", 107 | "fileLocation": "absolute", 108 | "pattern": { 109 | "regexp": "^[^\\.](.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", 110 | "file": 1, 111 | "line": 2, 112 | "column": 3, 113 | "severity": 4, 114 | "message": 5 115 | } 116 | } 117 | ] 118 | }, 119 | { 120 | "label": "Flash - Flash the device", 121 | "type": "shell", 122 | "command": "${config:idf.pythonBinPath} ${config:idf.espIdfPath}/tools/idf.py -p ${config:idf.port} -b ${config:idf.flashBaudRate} flash", 123 | "windows": { 124 | "command": "${config:idf.pythonBinPathWin} ${config:idf.espIdfPathWin}\\tools\\idf.py flash -p ${config:idf.portWin} -b ${config:idf.flashBaudRate}", 125 | "options": { 126 | "env": { 127 | "PATH": "${env:PATH};${config:idf.customExtraPaths}" 128 | } 129 | } 130 | }, 131 | "options": { 132 | "env": { 133 | "PATH": "${env:PATH}:${config:idf.customExtraPaths}" 134 | } 135 | }, 136 | "problemMatcher": [ 137 | { 138 | "owner": "cpp", 139 | "fileLocation": [ 140 | "relative", 141 | "${workspaceFolder}" 142 | ], 143 | "pattern": { 144 | "regexp": "^\\.\\.(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", 145 | "file": 1, 146 | "line": 2, 147 | "column": 3, 148 | "severity": 4, 149 | "message": 5 150 | } 151 | }, 152 | { 153 | "owner": "cpp", 154 | "fileLocation": "absolute", 155 | "pattern": { 156 | "regexp": "^[^\\.](.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", 157 | "file": 1, 158 | "line": 2, 159 | "column": 3, 160 | "severity": 4, 161 | "message": 5 162 | } 163 | } 164 | ] 165 | }, 166 | { 167 | "label": "Monitor: Start the monitor", 168 | "type": "shell", 169 | "command": "${config:idf.pythonBinPath} ${config:idf.espIdfPath}/tools/idf.py -p ${config:idf.port} monitor", 170 | "windows": { 171 | "command": "${config:idf.pythonBinPathWin} ${config:idf.espIdfPathWin}\\tools\\idf.py -p ${config:idf.portWin} monitor", 172 | "options": { 173 | "env": { 174 | "PATH": "${env:PATH};${config:idf.customExtraPaths}" 175 | } 176 | } 177 | }, 178 | "options": { 179 | "env": { 180 | "PATH": "${env:PATH}:${config:idf.customExtraPaths}" 181 | } 182 | }, 183 | "problemMatcher": [ 184 | { 185 | "owner": "cpp", 186 | "fileLocation": [ 187 | "relative", 188 | "${workspaceFolder}" 189 | ], 190 | "pattern": { 191 | "regexp": "^\\.\\.(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", 192 | "file": 1, 193 | "line": 2, 194 | "column": 3, 195 | "severity": 4, 196 | "message": 5 197 | } 198 | }, 199 | { 200 | "owner": "cpp", 201 | "fileLocation": "absolute", 202 | "pattern": { 203 | "regexp": "^[^\\.](.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", 204 | "file": 1, 205 | "line": 2, 206 | "column": 3, 207 | "severity": 4, 208 | "message": 5 209 | } 210 | } 211 | ], 212 | "dependsOn": "Flash - Flash the device" 213 | }, 214 | { 215 | "label": "OpenOCD: Start openOCD", 216 | "type": "shell", 217 | "presentation": { 218 | "echo": true, 219 | "reveal": "never", 220 | "focus": false, 221 | "panel": "new" 222 | }, 223 | "command": "openocd -s ${command:espIdf.getOpenOcdScriptValue} ${command:espIdf.getOpenOcdConfigs}", 224 | "windows": { 225 | "command": "openocd.exe -s ${command:espIdf.getOpenOcdScriptValue} ${command:espIdf.getOpenOcdConfigs}", 226 | "options": { 227 | "env": { 228 | "PATH": "${env:PATH};${config:idf.customExtraPaths}" 229 | } 230 | } 231 | }, 232 | "options": { 233 | "env": { 234 | "PATH": "${env:PATH}:${config:idf.customExtraPaths}" 235 | } 236 | }, 237 | "problemMatcher": { 238 | "owner": "cpp", 239 | "fileLocation": "absolute", 240 | "pattern": { 241 | "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", 242 | "file": 1, 243 | "line": 2, 244 | "column": 3, 245 | "severity": 4, 246 | "message": 5 247 | } 248 | } 249 | }, 250 | { 251 | "label": "adapter", 252 | "type": "shell", 253 | "command": "${config:idf.pythonBinPath}", 254 | "isBackground": true, 255 | "options": { 256 | "env": { 257 | "PATH": "${env:PATH}:${config:idf.customExtraPaths}", 258 | "PYTHONPATH": "${command:espIdf.getExtensionPath}/esp_debug_adapter/debug_adapter" 259 | } 260 | }, 261 | "problemMatcher": { 262 | "background": { 263 | "beginsPattern": "\bDEBUG_ADAPTER_STARTED\b", 264 | "endsPattern": "DEBUG_ADAPTER_READY2CONNECT", 265 | "activeOnStart": true 266 | }, 267 | "pattern": { 268 | "regexp": "(\\d+)-(\\d+)-(\\d+)\\s(\\d+):(\\d+):(\\d+),(\\d+)\\s-(.+)\\s(ERROR)", 269 | "file": 8, 270 | "line": 2, 271 | "column": 3, 272 | "severity": 4, 273 | "message": 9 274 | } 275 | }, 276 | "args": [ 277 | "${command:espIdf.getExtensionPath}/esp_debug_adapter/debug_adapter_main.py", 278 | "-e", 279 | "${workspaceFolder}/build/${command:espIdf.getProjectName}.elf", 280 | "-s", 281 | "${command:espIdf.getOpenOcdScriptValue}", 282 | "-ip", 283 | "localhost", 284 | "-dn", 285 | "${config:idf.adapterTargetName}", 286 | "-om", 287 | "connect_to_instance" 288 | ], 289 | "windows": { 290 | "command": "${config:idf.pythonBinPathWin}", 291 | "options": { 292 | "env": { 293 | "PATH": "${env:PATH};${config:idf.customExtraPaths}", 294 | "PYTHONPATH": "${command:espIdf.getExtensionPath}/esp_debug_adapter/debug_adapter" 295 | } 296 | } 297 | } 298 | } 299 | ] 300 | } -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's 2 | # CMakeLists in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.5) 4 | 5 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 6 | 7 | set(EXTRA_COMPONENT_DIRS "componets/drawfont") 8 | 9 | project(cam2mqtt) -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # cam2mqtt 2 | 3 | ![usecase_of_cam2mqtt](_photo/cam2mqtt.png) 4 | 5 | Take snapshot and send it to an mqtt topic using ESP32-CAM. 6 | 7 | * Works well with HomeAssistant's [MQTT Camera](https://www.home-assistant.io/integrations/camera.mqtt/) 8 | * Use [esp-idf](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/#). 9 | * It takes one -or two- picture for a day and go to deep sleep. 10 | * Date and time of the photo taken is printed in. [sample](_photo/sample.png). 11 | 12 | ## requirements 13 | 14 | Install [esp-idf](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/#) 15 | 16 | Install [ESP32 Camera Driver](https://github.com/espressif/esp32-camera): 17 | 18 | $ cd $IDF_PATH/components 19 | $ git clone https://github.com/espressif/esp32-camera 20 | 21 | ## clone, configure and build 22 | 23 | Clone poject: 24 | 25 | $ git clone https://github.com/suapapa/esp32_cam2mqtt 26 | 27 | Configure wifi-ssid, wifi-pass, mqtt-uri, mqtt-topic and etc...: 28 | 29 | $ cd cam2mqtt 30 | $ get_idf 31 | $ idf.py menuconfig 32 | 33 | Build, flash, monitor: 34 | 35 | $ idf.py build 36 | $ idf.py -p /dev/ttyUSB0 flash 37 | $ idf.py -p /dev/ttyUSB0 monitor 38 | 39 | ## beautify code 40 | 41 | indent -linux main/main.c 42 | -------------------------------------------------------------------------------- /_photo/cam2mqtt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suapapa/esp32_cam2mqtt/4cc51380668f2cce8812591f657331a62228ce3f/_photo/cam2mqtt.png -------------------------------------------------------------------------------- /_photo/sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suapapa/esp32_cam2mqtt/4cc51380668f2cce8812591f657331a62228ce3f/_photo/sample.png -------------------------------------------------------------------------------- /components/drawfont/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "drawfont.c" INCLUDE_DIRS ".") -------------------------------------------------------------------------------- /components/drawfont/SmallFont.h: -------------------------------------------------------------------------------- 1 | // SmallFont.c 2 | // Font type : Full (95 characters) 3 | // Font size : 8x12 pixels 4 | // Memory usage : 1144 bytes 5 | 6 | typedef struct { 7 | uint8_t w; 8 | uint8_t h; 9 | uint8_t offset; 10 | uint8_t cnt; 11 | unsigned char *font; 12 | } Font; 13 | 14 | unsigned char tft_SmallFont[1144] = 15 | { 16 | 0x08,0x0C,0x20,0x5F, 17 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 18 | 0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x00, // ! 19 | 0x00,0x28,0x50,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // " 20 | 0x00,0x00,0x28,0x28,0xFC,0x28,0x50,0xFC,0x50,0x50,0x00,0x00, // # 21 | 0x00,0x20,0x78,0xA8,0xA0,0x60,0x30,0x28,0xA8,0xF0,0x20,0x00, // $ 22 | 0x00,0x00,0x48,0xA8,0xB0,0x50,0x28,0x34,0x54,0x48,0x00,0x00, // % 23 | 0x00,0x00,0x20,0x50,0x50,0x78,0xA8,0xA8,0x90,0x6C,0x00,0x00, // & 24 | 0x00,0x40,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ' 25 | 0x00,0x04,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x08,0x04,0x00, // ( 26 | 0x00,0x40,0x20,0x10,0x10,0x10,0x10,0x10,0x10,0x20,0x40,0x00, // ) 27 | 0x00,0x00,0x00,0x20,0xA8,0x70,0x70,0xA8,0x20,0x00,0x00,0x00, // * 28 | 0x00,0x00,0x20,0x20,0x20,0xF8,0x20,0x20,0x20,0x00,0x00,0x00, // + 29 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,0x80, // , 30 | 0x00,0x00,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00, // - 31 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00, // . 32 | 0x00,0x08,0x10,0x10,0x10,0x20,0x20,0x40,0x40,0x40,0x80,0x00, // / 33 | 34 | 0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x00,0x00, // 0 35 | 0x00,0x00,0x20,0x60,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00, // 1 36 | 0x00,0x00,0x70,0x88,0x88,0x10,0x20,0x40,0x80,0xF8,0x00,0x00, // 2 37 | 0x00,0x00,0x70,0x88,0x08,0x30,0x08,0x08,0x88,0x70,0x00,0x00, // 3 38 | 0x00,0x00,0x10,0x30,0x50,0x50,0x90,0x78,0x10,0x18,0x00,0x00, // 4 39 | 0x00,0x00,0xF8,0x80,0x80,0xF0,0x08,0x08,0x88,0x70,0x00,0x00, // 5 40 | 0x00,0x00,0x70,0x90,0x80,0xF0,0x88,0x88,0x88,0x70,0x00,0x00, // 6 41 | 0x00,0x00,0xF8,0x90,0x10,0x20,0x20,0x20,0x20,0x20,0x00,0x00, // 7 42 | 0x00,0x00,0x70,0x88,0x88,0x70,0x88,0x88,0x88,0x70,0x00,0x00, // 8 43 | 0x00,0x00,0x70,0x88,0x88,0x88,0x78,0x08,0x48,0x70,0x00,0x00, // 9 44 | 0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x20,0x00,0x00, // : 45 | 0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x20,0x00, // ; 46 | 0x00,0x04,0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x04,0x00,0x00, // < 47 | 0x00,0x00,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0x00,0x00, // = 48 | 0x00,0x40,0x20,0x10,0x08,0x04,0x08,0x10,0x20,0x40,0x00,0x00, // > 49 | 0x00,0x00,0x70,0x88,0x88,0x10,0x20,0x20,0x00,0x20,0x00,0x00, // ? 50 | 51 | 0x00,0x00,0x70,0x88,0x98,0xA8,0xA8,0xB8,0x80,0x78,0x00,0x00, // @ 52 | 0x00,0x00,0x20,0x20,0x30,0x50,0x50,0x78,0x48,0xCC,0x00,0x00, // A 53 | 0x00,0x00,0xF0,0x48,0x48,0x70,0x48,0x48,0x48,0xF0,0x00,0x00, // B 54 | 0x00,0x00,0x78,0x88,0x80,0x80,0x80,0x80,0x88,0x70,0x00,0x00, // C 55 | 0x00,0x00,0xF0,0x48,0x48,0x48,0x48,0x48,0x48,0xF0,0x00,0x00, // D 56 | 0x00,0x00,0xF8,0x48,0x50,0x70,0x50,0x40,0x48,0xF8,0x00,0x00, // E 57 | 0x00,0x00,0xF8,0x48,0x50,0x70,0x50,0x40,0x40,0xE0,0x00,0x00, // F 58 | 0x00,0x00,0x38,0x48,0x80,0x80,0x9C,0x88,0x48,0x30,0x00,0x00, // G 59 | 0x00,0x00,0xCC,0x48,0x48,0x78,0x48,0x48,0x48,0xCC,0x00,0x00, // H 60 | 0x00,0x00,0xF8,0x20,0x20,0x20,0x20,0x20,0x20,0xF8,0x00,0x00, // I 61 | 0x00,0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x90,0xE0,0x00, // J 62 | 0x00,0x00,0xEC,0x48,0x50,0x60,0x50,0x50,0x48,0xEC,0x00,0x00, // K 63 | 0x00,0x00,0xE0,0x40,0x40,0x40,0x40,0x40,0x44,0xFC,0x00,0x00, // L 64 | 0x00,0x00,0xD8,0xD8,0xD8,0xD8,0xA8,0xA8,0xA8,0xA8,0x00,0x00, // M 65 | 0x00,0x00,0xDC,0x48,0x68,0x68,0x58,0x58,0x48,0xE8,0x00,0x00, // N 66 | 0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x00,0x00, // O 67 | 68 | 0x00,0x00,0xF0,0x48,0x48,0x70,0x40,0x40,0x40,0xE0,0x00,0x00, // P 69 | 0x00,0x00,0x70,0x88,0x88,0x88,0x88,0xE8,0x98,0x70,0x18,0x00, // Q 70 | 0x00,0x00,0xF0,0x48,0x48,0x70,0x50,0x48,0x48,0xEC,0x00,0x00, // R 71 | 0x00,0x00,0x78,0x88,0x80,0x60,0x10,0x08,0x88,0xF0,0x00,0x00, // S 72 | 0x00,0x00,0xF8,0xA8,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00, // T 73 | 0x00,0x00,0xCC,0x48,0x48,0x48,0x48,0x48,0x48,0x30,0x00,0x00, // U 74 | 0x00,0x00,0xCC,0x48,0x48,0x50,0x50,0x30,0x20,0x20,0x00,0x00, // V 75 | 0x00,0x00,0xA8,0xA8,0xA8,0x70,0x50,0x50,0x50,0x50,0x00,0x00, // W 76 | 0x00,0x00,0xD8,0x50,0x50,0x20,0x20,0x50,0x50,0xD8,0x00,0x00, // X 77 | 0x00,0x00,0xD8,0x50,0x50,0x20,0x20,0x20,0x20,0x70,0x00,0x00, // Y 78 | 0x00,0x00,0xF8,0x90,0x10,0x20,0x20,0x40,0x48,0xF8,0x00,0x00, // Z 79 | 0x00,0x38,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x38,0x00, // [ 80 | 0x00,0x40,0x40,0x40,0x20,0x20,0x10,0x10,0x10,0x08,0x00,0x00, // 81 | 0x00,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x70,0x00, // ] 82 | 0x00,0x20,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ^ 83 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC, // _ 84 | 85 | 0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ` 86 | 0x00,0x00,0x00,0x00,0x00,0x30,0x48,0x38,0x48,0x3C,0x00,0x00, // a 87 | 0x00,0x00,0xC0,0x40,0x40,0x70,0x48,0x48,0x48,0x70,0x00,0x00, // b 88 | 0x00,0x00,0x00,0x00,0x00,0x38,0x48,0x40,0x40,0x38,0x00,0x00, // c 89 | 0x00,0x00,0x18,0x08,0x08,0x38,0x48,0x48,0x48,0x3C,0x00,0x00, // d 90 | 0x00,0x00,0x00,0x00,0x00,0x30,0x48,0x78,0x40,0x38,0x00,0x00, // e 91 | 0x00,0x00,0x1C,0x20,0x20,0x78,0x20,0x20,0x20,0x78,0x00,0x00, // f 92 | 0x00,0x00,0x00,0x00,0x00,0x3C,0x48,0x30,0x40,0x78,0x44,0x38, // g 93 | 0x00,0x00,0xC0,0x40,0x40,0x70,0x48,0x48,0x48,0xEC,0x00,0x00, // h 94 | 0x00,0x00,0x20,0x00,0x00,0x60,0x20,0x20,0x20,0x70,0x00,0x00, // i 95 | 0x00,0x00,0x10,0x00,0x00,0x30,0x10,0x10,0x10,0x10,0x10,0xE0, // j 96 | 0x00,0x00,0xC0,0x40,0x40,0x5C,0x50,0x70,0x48,0xEC,0x00,0x00, // k 97 | 0x00,0x00,0xE0,0x20,0x20,0x20,0x20,0x20,0x20,0xF8,0x00,0x00, // l 98 | 0x00,0x00,0x00,0x00,0x00,0xF0,0xA8,0xA8,0xA8,0xA8,0x00,0x00, // m 99 | 0x00,0x00,0x00,0x00,0x00,0xF0,0x48,0x48,0x48,0xEC,0x00,0x00, // n 100 | 0x00,0x00,0x00,0x00,0x00,0x30,0x48,0x48,0x48,0x30,0x00,0x00, // o 101 | 102 | 0x00,0x00,0x00,0x00,0x00,0xF0,0x48,0x48,0x48,0x70,0x40,0xE0, // p 103 | 0x00,0x00,0x00,0x00,0x00,0x38,0x48,0x48,0x48,0x38,0x08,0x1C, // q 104 | 0x00,0x00,0x00,0x00,0x00,0xD8,0x60,0x40,0x40,0xE0,0x00,0x00, // r 105 | 0x00,0x00,0x00,0x00,0x00,0x78,0x40,0x30,0x08,0x78,0x00,0x00, // s 106 | 0x00,0x00,0x00,0x20,0x20,0x70,0x20,0x20,0x20,0x18,0x00,0x00, // t 107 | 0x00,0x00,0x00,0x00,0x00,0xD8,0x48,0x48,0x48,0x3C,0x00,0x00, // u 108 | 0x00,0x00,0x00,0x00,0x00,0xEC,0x48,0x50,0x30,0x20,0x00,0x00, // v 109 | 0x00,0x00,0x00,0x00,0x00,0xA8,0xA8,0x70,0x50,0x50,0x00,0x00, // w 110 | 0x00,0x00,0x00,0x00,0x00,0xD8,0x50,0x20,0x50,0xD8,0x00,0x00, // x 111 | 0x00,0x00,0x00,0x00,0x00,0xEC,0x48,0x50,0x30,0x20,0x20,0xC0, // y 112 | 0x00,0x00,0x00,0x00,0x00,0x78,0x10,0x20,0x20,0x78,0x00,0x00, // z 113 | 0x00,0x18,0x10,0x10,0x10,0x20,0x10,0x10,0x10,0x10,0x18,0x00, // { 114 | 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, // | 115 | 0x00,0x60,0x20,0x20,0x20,0x10,0x20,0x20,0x20,0x20,0x60,0x00, // } 116 | 0x40,0xA4,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ~ 117 | }; 118 | -------------------------------------------------------------------------------- /components/drawfont/drawfont.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include "SmallFont.h" 5 | 6 | Font cfont; 7 | 8 | void set_defaultfont(void) 9 | { 10 | cfont.w = tft_SmallFont[0]; 11 | cfont.h = tft_SmallFont[1]; 12 | cfont.offset = tft_SmallFont[2]; 13 | cfont.cnt = tft_SmallFont[3]; 14 | cfont.font = &(tft_SmallFont[4]); 15 | } 16 | 17 | void draw_string(uint8_t * buf, int w, int h, int x, int y, const char *str, 18 | uint8_t color) 19 | { 20 | if (cfont.font == NULL) { 21 | return; 22 | } 23 | 24 | int stl = strlen(str); 25 | buf = buf + x + (w * y); 26 | for (int i = 0; i < stl; i++) { 27 | char c = str[i]; 28 | unsigned char *buf_font = 29 | cfont.font + 30 | ((c - cfont.offset) * ((cfont.w * cfont.h) >> 3)); 31 | uint8_t *buf_draw = buf + (i * cfont.w); 32 | for (int j = 0; j < cfont.h; j++) { 33 | uint8_t *buf_draw_char = buf_draw; 34 | for (int k = 0; k < 8; k++) { 35 | if ((*buf_font) & (1 << (7 - k))) { 36 | *buf_draw_char = color; 37 | } 38 | buf_draw_char += 1; 39 | } 40 | buf_font += 1; 41 | buf_draw += w; 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /components/drawfont/drawfont.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define FONTCOLOR_BLACK 0x00 4 | #define FONTCOLOR_WHITE 0xff 5 | 6 | void set_defaultfont(void); 7 | void draw_string(uint8_t * buf, int w, int h, int x, int y, const char *str, uint8_t color); 8 | -------------------------------------------------------------------------------- /main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | SRCS "main.c" 3 | INCLUDE_DIRS "" 4 | ) 5 | -------------------------------------------------------------------------------- /main/Kconfig.projbuild: -------------------------------------------------------------------------------- 1 | menu "Wifi Configuration" 2 | 3 | config ESP_WIFI_SSID 4 | string "WiFi SSID" 5 | default "myssid" 6 | help 7 | SSID (network name) for the example to connect to. 8 | 9 | config ESP_WIFI_PASSWORD 10 | string "WiFi Password" 11 | default "mypassword" 12 | help 13 | WiFi password (WPA or WPA2) for the example to use. 14 | 15 | config ESP_MAXIMUM_RETRY 16 | int "Maximum retry" 17 | default 5 18 | help 19 | Set the Maximum retry to avoid station reconnecting to the AP unlimited when the AP is really inexistent. 20 | endmenu 21 | 22 | menu "MQTT Configuration" 23 | 24 | config ESP_MQTT_HOST_URI 25 | string "MQTT host URI" 26 | default "mqtt://id:pass@192.168.0.2" 27 | help 28 | MQTT broker's URI which this client to connect. 29 | 30 | config ESP_MQTT_TOPIC 31 | string "MQTT topic to use" 32 | default "home/cam0" 33 | help 34 | MQTT topic to use. 35 | endmenu 36 | 37 | menu "Camera configuration" 38 | 39 | config OV2640_SUPPORT 40 | bool "OV2640 Support" 41 | default y 42 | help 43 | Enable this option if you want to use the OV2640. 44 | Disable this option to save memory. 45 | 46 | config OV7725_SUPPORT 47 | bool "OV7725 Support" 48 | default n 49 | help 50 | Enable this option if you want to use the OV7725. 51 | Disable this option to save memory. 52 | 53 | config OV3660_SUPPORT 54 | bool "OV3660 Support" 55 | default n 56 | help 57 | Enable this option if you want to use the OV3360. 58 | Disable this option to save memory. 59 | 60 | config OV5640_SUPPORT 61 | bool "OV5640 Support" 62 | default n 63 | help 64 | Enable this option if you want to use the OV5640. 65 | Disable this option to save memory. 66 | 67 | config SCCB_HARDWARE_I2C 68 | bool "Use hardware I2C for SCCB" 69 | default y 70 | help 71 | Enable this option if you want to use hardware I2C to control the camera. 72 | Disable this option to use software I2C. 73 | 74 | choice SCCB_HARDWARE_I2C_PORT 75 | bool "I2C peripheral to use for SCCB" 76 | depends on SCCB_HARDWARE_I2C 77 | default SCCB_HARDWARE_I2C_PORT1 78 | 79 | config SCCB_HARDWARE_I2C_PORT0 80 | bool "I2C0" 81 | config SCCB_HARDWARE_I2C_PORT1 82 | bool "I2C1" 83 | 84 | endchoice 85 | 86 | choice CAMERA_TASK_PINNED_TO_CORE 87 | bool "Camera task pinned to core" 88 | default CAMERA_CORE0 89 | help 90 | Pin the camera handle task to a certain core(0/1). It can also be done automatically choosing NO_AFFINITY. 91 | 92 | config CAMERA_CORE0 93 | bool "CORE0" 94 | config CAMERA_CORE1 95 | bool "CORE1" 96 | config CAMERA_NO_AFFINITY 97 | bool "NO_AFFINITY" 98 | 99 | endchoice 100 | 101 | endmenu -------------------------------------------------------------------------------- /main/main.c: -------------------------------------------------------------------------------- 1 | /* WiFi station Example 2 | 3 | This example code is in the Public Domain (or CC0 licensed, at your option.) 4 | 5 | Unless required by applicable law or agreed to in writing, this 6 | software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 7 | CONDITIONS OF ANY KIND, either express or implied. 8 | */ 9 | #include 10 | #include "freertos/FreeRTOS.h" 11 | #include "freertos/task.h" 12 | #include "freertos/event_groups.h" 13 | #include "esp_system.h" 14 | #include "esp_wifi.h" 15 | #include "esp_event.h" 16 | #include "esp_log.h" 17 | #include "esp_sntp.h" 18 | #include "esp_sleep.h" 19 | #include "nvs_flash.h" 20 | #include "mqtt_client.h" 21 | #include "esp_camera.h" 22 | 23 | #include "lwip/err.h" 24 | #include "lwip/sys.h" 25 | 26 | #include "drawfont.h" 27 | 28 | #define BOARD_ESP32CAM_AITHINKER 29 | 30 | /* Values from menuconfig */ 31 | #define WIFI_SSID CONFIG_ESP_WIFI_SSID 32 | #define WIFI_PASS CONFIG_ESP_WIFI_PASSWORD 33 | #define WIFI_MAX_RETRY CONFIG_ESP_MAXIMUM_RETRY 34 | #define MQTT_URI CONFIG_ESP_MQTT_HOST_URI 35 | #define MQTT_TOPIC CONFIG_ESP_MQTT_TOPIC 36 | 37 | /* FreeRTOS event group to signal when we are connected*/ 38 | static EventGroupHandle_t s_wifi_event_group; 39 | 40 | /* The event group allows multiple bits for each event, but we only care about two events: 41 | * - we are connected to the AP with an IP 42 | * - we failed to connect after the maximum amount of retries */ 43 | #define WIFI_CONNECTED_BIT BIT0 44 | #define WIFI_FAIL_BIT BIT1 45 | 46 | static const char *TAG = "cam2mqtt"; 47 | 48 | static int s_retry_num = 0; 49 | 50 | RTC_DATA_ATTR static int take_count = 0; 51 | 52 | static void 53 | wifi_event_handler(void *arg, esp_event_base_t event_base, 54 | int32_t event_id, void *event_data) 55 | { 56 | if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_START) { 57 | esp_wifi_connect(); 58 | } else if (event_base == WIFI_EVENT 59 | && event_id == WIFI_EVENT_STA_DISCONNECTED) { 60 | if (s_retry_num < WIFI_MAX_RETRY) { 61 | esp_wifi_connect(); 62 | s_retry_num++; 63 | ESP_LOGI(TAG, "retry to connect to the AP"); 64 | } else { 65 | xEventGroupSetBits(s_wifi_event_group, WIFI_FAIL_BIT); 66 | } 67 | ESP_LOGI(TAG, "connect to the AP fail"); 68 | } else if (event_base == IP_EVENT && event_id == IP_EVENT_STA_GOT_IP) { 69 | ip_event_got_ip_t *event = (ip_event_got_ip_t *) event_data; 70 | ESP_LOGI(TAG, "got ip:" IPSTR, IP2STR(&event->ip_info.ip)); 71 | s_retry_num = 0; 72 | xEventGroupSetBits(s_wifi_event_group, WIFI_CONNECTED_BIT); 73 | } 74 | } 75 | 76 | void wifi_init_sta(void) 77 | { 78 | s_wifi_event_group = xEventGroupCreate(); 79 | 80 | ESP_ERROR_CHECK(esp_netif_init()); 81 | 82 | ESP_ERROR_CHECK(esp_event_loop_create_default()); 83 | esp_netif_create_default_wifi_sta(); 84 | 85 | wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); 86 | ESP_ERROR_CHECK(esp_wifi_init(&cfg)); 87 | 88 | esp_event_handler_instance_t instance_any_id; 89 | esp_event_handler_instance_t instance_got_ip; 90 | ESP_ERROR_CHECK(esp_event_handler_instance_register(WIFI_EVENT, 91 | ESP_EVENT_ANY_ID, 92 | &wifi_event_handler, 93 | NULL, 94 | &instance_any_id)); 95 | ESP_ERROR_CHECK(esp_event_handler_instance_register(IP_EVENT, 96 | IP_EVENT_STA_GOT_IP, 97 | &wifi_event_handler, 98 | NULL, 99 | &instance_got_ip)); 100 | 101 | wifi_config_t wifi_config = { 102 | .sta = { 103 | .ssid = WIFI_SSID, 104 | .password = WIFI_PASS, 105 | /* Setting a password implies station will connect to all security modes including WEP/WPA. 106 | * However these modes are deprecated and not advisable to be used. Incase your Access point 107 | * doesn't support WPA2, these mode can be enabled by commenting below line */ 108 | .threshold.authmode = WIFI_AUTH_WPA2_PSK, 109 | 110 | .pmf_cfg = { 111 | .capable = true, 112 | .required = false}, 113 | }, 114 | }; 115 | ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA)); 116 | ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config)); 117 | ESP_ERROR_CHECK(esp_wifi_start()); 118 | 119 | ESP_LOGI(TAG, "wifi_init_sta finished."); 120 | 121 | /* Waiting until either the connection is established (WIFI_CONNECTED_BIT) or connection failed for the maximum 122 | * number of re-tries (WIFI_FAIL_BIT). The bits are set by event_handler() (see above) */ 123 | EventBits_t bits = xEventGroupWaitBits(s_wifi_event_group, 124 | WIFI_CONNECTED_BIT | 125 | WIFI_FAIL_BIT, 126 | pdFALSE, 127 | pdFALSE, 128 | portMAX_DELAY); 129 | 130 | /* xEventGroupWaitBits() returns the bits before the call returned, hence we can test which event actually 131 | * happened. */ 132 | if (bits & WIFI_CONNECTED_BIT) { 133 | ESP_LOGI(TAG, "connected to ap SSID:%s password:%s", 134 | WIFI_SSID, WIFI_PASS); 135 | } else if (bits & WIFI_FAIL_BIT) { 136 | ESP_LOGI(TAG, "Failed to connect to SSID:%s, password:%s", 137 | WIFI_SSID, WIFI_PASS); 138 | } else { 139 | ESP_LOGE(TAG, "UNEXPECTED EVENT"); 140 | } 141 | 142 | /* The event will not be processed after unregister */ 143 | ESP_ERROR_CHECK(esp_event_handler_instance_unregister 144 | (IP_EVENT, IP_EVENT_STA_GOT_IP, instance_got_ip)); 145 | ESP_ERROR_CHECK(esp_event_handler_instance_unregister 146 | (WIFI_EVENT, ESP_EVENT_ANY_ID, instance_any_id)); 147 | vEventGroupDelete(s_wifi_event_group); 148 | } 149 | 150 | void init_wifi(void) 151 | { 152 | //Initialize NVS 153 | esp_err_t ret = nvs_flash_init(); 154 | if (ret == ESP_ERR_NVS_NO_FREE_PAGES 155 | || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) { 156 | ESP_ERROR_CHECK(nvs_flash_erase()); 157 | ret = nvs_flash_init(); 158 | } 159 | ESP_ERROR_CHECK(ret); 160 | 161 | ESP_LOGI(TAG, "ESP_WIFI_MODE_STA"); 162 | wifi_init_sta(); 163 | } 164 | 165 | /* ---- */ 166 | 167 | const esp_mqtt_client_config_t mqtt_cfg = { 168 | .uri = MQTT_URI, 169 | }; 170 | 171 | static esp_mqtt_client_handle_t mqtt_client; 172 | 173 | void init_mqtt(void) 174 | { 175 | ESP_LOGI(TAG, "Init MQTT"); 176 | mqtt_client = esp_mqtt_client_init(&mqtt_cfg); 177 | // esp_mqtt_client_register_event(client, ESP_EVENT_ANY_ID, mqtt_event_handler, client); 178 | esp_mqtt_client_start(mqtt_client); 179 | } 180 | 181 | /* ---- */ 182 | 183 | // ESP32Cam (AiThinker) PIN Map 184 | #ifdef BOARD_ESP32CAM_AITHINKER 185 | 186 | #define BLINK_GPIO 33 187 | #define FLASHLIGHT_GPIO 4 188 | 189 | #define CAM_PIN_PWDN 32 190 | #define CAM_PIN_RESET -1 //software reset will be performed 191 | #define CAM_PIN_XCLK 0 192 | #define CAM_PIN_SIOD 26 193 | #define CAM_PIN_SIOC 27 194 | 195 | #define CAM_PIN_D7 35 196 | #define CAM_PIN_D6 34 197 | #define CAM_PIN_D5 39 198 | #define CAM_PIN_D4 36 199 | #define CAM_PIN_D3 21 200 | #define CAM_PIN_D2 19 201 | #define CAM_PIN_D1 18 202 | #define CAM_PIN_D0 5 203 | #define CAM_PIN_VSYNC 25 204 | #define CAM_PIN_HREF 23 205 | #define CAM_PIN_PCLK 22 206 | 207 | #endif 208 | 209 | static camera_config_t camera_config = { 210 | .pin_pwdn = CAM_PIN_PWDN, 211 | .pin_reset = CAM_PIN_RESET, 212 | .pin_xclk = CAM_PIN_XCLK, 213 | .pin_sscb_sda = CAM_PIN_SIOD, 214 | .pin_sscb_scl = CAM_PIN_SIOC, 215 | 216 | .pin_d7 = CAM_PIN_D7, 217 | .pin_d6 = CAM_PIN_D6, 218 | .pin_d5 = CAM_PIN_D5, 219 | .pin_d4 = CAM_PIN_D4, 220 | .pin_d3 = CAM_PIN_D3, 221 | .pin_d2 = CAM_PIN_D2, 222 | .pin_d1 = CAM_PIN_D1, 223 | .pin_d0 = CAM_PIN_D0, 224 | .pin_vsync = CAM_PIN_VSYNC, 225 | .pin_href = CAM_PIN_HREF, 226 | .pin_pclk = CAM_PIN_PCLK, 227 | 228 | //XCLK 20MHz or 10MHz for OV2640 double FPS (Experimental) 229 | .xclk_freq_hz = 20000000, 230 | .ledc_timer = LEDC_TIMER_0, 231 | .ledc_channel = LEDC_CHANNEL_0, 232 | 233 | .pixel_format = PIXFORMAT_GRAYSCALE, //YUV422,GRAYSCALE,RGB565,JPEG 234 | .frame_size = FRAMESIZE_VGA, //QQVGA-UXGA Do not use sizes above QVGA when not JPEG 235 | 236 | .jpeg_quality = 12, //0-63 lower number means higher quality 237 | .fb_count = 1 //if more than one, i2s runs in continuous mode. Use only with JPEG 238 | }; 239 | 240 | static esp_err_t init_camera() 241 | { 242 | //initialize the camera 243 | esp_err_t err = esp_camera_init(&camera_config); 244 | if (err != ESP_OK) { 245 | ESP_LOGE(TAG, "Camera Init Failed"); 246 | return err; 247 | } 248 | 249 | return ESP_OK; 250 | } 251 | 252 | /* ---- */ 253 | 254 | void init_gpio() 255 | { 256 | gpio_pad_select_gpio(BLINK_GPIO); 257 | gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT); 258 | 259 | // gpio_pad_select_gpio(FLASHLIGHT_GPIO); 260 | // gpio_set_direction(FLASHLIGHT_GPIO, GPIO_MODE_OUTPUT); 261 | // gpio_set_level(FLASHLIGHT_GPIO, 0); // off 262 | } 263 | 264 | /* ---- */ 265 | 266 | void time_sync_notification_cb(struct timeval *tv) 267 | { 268 | ESP_LOGI(TAG, "Notification of a time synchronization event"); 269 | } 270 | 271 | static void initialize_sntp(void) 272 | { 273 | ESP_LOGI(TAG, "Initializing SNTP"); 274 | sntp_setoperatingmode(SNTP_OPMODE_POLL); 275 | sntp_setservername(0, "pool.ntp.org"); 276 | sntp_set_time_sync_notification_cb(time_sync_notification_cb); 277 | sntp_init(); 278 | } 279 | 280 | static void sync_time(void) 281 | { 282 | initialize_sntp(); 283 | 284 | // wait for time to be set 285 | // time_t now = 0; 286 | // struct tm timeinfo = { 0 }; 287 | int retry = 0; 288 | const int retry_count = 10; 289 | while (sntp_get_sync_status() == SNTP_SYNC_STATUS_RESET 290 | && ++retry < retry_count) { 291 | ESP_LOGI(TAG, "Waiting for system time to be set... (%d/%d)", 292 | retry, retry_count); 293 | vTaskDelay(2000 / portTICK_PERIOD_MS); 294 | } 295 | // time(&now); 296 | // setenv("TZ", "UTC-9", 1); 297 | // tzset(); 298 | // localtime_r(&now, &timeinfo); 299 | } 300 | 301 | /* ---- */ 302 | 303 | void draw_info_string(uint8_t * fb_buf, const char *str) 304 | { 305 | // VGA 306 | int cam_w = 640; 307 | int cam_h = 480; 308 | 309 | set_defaultfont(); 310 | draw_string(fb_buf, cam_w, cam_h, 8 - 1, 8, str, FONTCOLOR_BLACK); 311 | draw_string(fb_buf, cam_w, cam_h, 8 + 1, 8, str, FONTCOLOR_BLACK); 312 | draw_string(fb_buf, cam_w, cam_h, 8, 8 - 1, str, FONTCOLOR_BLACK); 313 | draw_string(fb_buf, cam_w, cam_h, 8, 8 + 1, str, FONTCOLOR_BLACK); 314 | draw_string(fb_buf, cam_w, cam_h, 8, 8, str, FONTCOLOR_WHITE); 315 | } 316 | 317 | /* ---- */ 318 | 319 | void app_main(void) 320 | { 321 | bool is_wifi_connected = false; 322 | 323 | init_gpio(); 324 | gpio_set_level(BLINK_GPIO, 0); // on 325 | 326 | // ++take_count; 327 | // ESP_LOGI(TAG, "Boot count: %d", take_count); 328 | 329 | time_t now; 330 | struct tm timeinfo; 331 | time(&now); 332 | setenv("TZ", "UTC-9", 1); // TODO: means UTC+9 333 | tzset(); 334 | localtime_r(&now, &timeinfo); 335 | if (timeinfo.tm_year < (2016 - 1900)) { 336 | ESP_LOGI(TAG, 337 | "Time is not set yet. Connecting to WiFi and getting time over NTP."); 338 | init_wifi(); 339 | is_wifi_connected = true; 340 | sync_time(); 341 | // update 'now' variable with current time 342 | time(&now); 343 | localtime_r(&now, &timeinfo); 344 | } 345 | 346 | // only take snapshot in 11 and 12 o'clock 347 | // it makes -at last- one picture taken at a day. 348 | if (take_count > 0 && timeinfo.tm_hour != 12) { 349 | ESP_LOGI(TAG, "Skip take picture"); 350 | goto deepsleep; 351 | } 352 | 353 | char strftime_buf[32]; 354 | strftime(strftime_buf, sizeof(strftime_buf), "%c", &timeinfo); 355 | ESP_LOGI(TAG, "The current date/time is: %s", strftime_buf); 356 | 357 | // gpio_set_level(FLASHLIGHT_GPIO, 1); // on 358 | ESP_LOGI(TAG, "Taking picture..."); 359 | init_camera(); 360 | vTaskDelay(5000 / portTICK_PERIOD_MS); 361 | 362 | camera_fb_t *fb; 363 | // waste first 5 frame for Auto Expose 364 | for (int i = 0; i < 5; i++) { 365 | fb = esp_camera_fb_get(); 366 | esp_camera_fb_return(fb); 367 | } 368 | fb = esp_camera_fb_get(); 369 | // gpio_set_level(FLASHLIGHT_GPIO, 0); // off 370 | 371 | char strinfo_buf[64]; 372 | sprintf(strinfo_buf, "%s cnt: %03d", strftime_buf, ++take_count); 373 | draw_info_string(fb->buf, strinfo_buf); 374 | 375 | uint8_t *buf = NULL; 376 | size_t buf_len = 0; 377 | bool converted = frame2jpg(fb, 80, &buf, &buf_len); 378 | esp_camera_fb_return(fb); 379 | esp_camera_deinit(); 380 | if (!converted) 381 | goto deepsleep; 382 | 383 | if (!is_wifi_connected) { 384 | init_wifi(); 385 | is_wifi_connected = true; 386 | } 387 | 388 | init_mqtt(); 389 | ESP_LOGI(TAG, "Sending it to MQTT topic %s ...", MQTT_TOPIC); 390 | esp_mqtt_client_publish(mqtt_client, MQTT_TOPIC, 391 | (const char *)(buf), buf_len, 0, 0); 392 | if (take_count > 1) { 393 | sync_time(); // interal RTC sucks sync time again. 394 | } 395 | 396 | deepsleep: 397 | // TODO: need free buf? 398 | gpio_set_level(BLINK_GPIO, 1); // off 399 | 400 | esp_mqtt_client_destroy(mqtt_client); 401 | if (is_wifi_connected) 402 | esp_wifi_stop(); 403 | 404 | const int deep_sleep_sec = 1 * 60 * 60; 405 | ESP_LOGI(TAG, "Entering deep sleep for %d seconds", deep_sleep_sec); 406 | esp_deep_sleep(1000000LL * deep_sleep_sec); 407 | } 408 | -------------------------------------------------------------------------------- /sdkconfig_suapapa: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically generated file. DO NOT EDIT. 3 | # Espressif IoT Development Framework (ESP-IDF) Project Configuration 4 | # 5 | CONFIG_IDF_CMAKE=y 6 | CONFIG_IDF_TARGET_ARCH_XTENSA=y 7 | CONFIG_IDF_TARGET="esp32" 8 | CONFIG_IDF_TARGET_ESP32=y 9 | CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 10 | 11 | # 12 | # SDK tool configuration 13 | # 14 | CONFIG_SDK_TOOLPREFIX="xtensa-esp32-elf-" 15 | # CONFIG_SDK_TOOLCHAIN_SUPPORTS_TIME_WIDE_64_BITS is not set 16 | # end of SDK tool configuration 17 | 18 | # 19 | # Build type 20 | # 21 | CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y 22 | # CONFIG_APP_BUILD_TYPE_ELF_RAM is not set 23 | CONFIG_APP_BUILD_GENERATE_BINARIES=y 24 | CONFIG_APP_BUILD_BOOTLOADER=y 25 | CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y 26 | # end of Build type 27 | 28 | # 29 | # Application manager 30 | # 31 | CONFIG_APP_COMPILE_TIME_DATE=y 32 | # CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set 33 | # CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set 34 | # CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set 35 | CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16 36 | # end of Application manager 37 | 38 | # 39 | # Bootloader config 40 | # 41 | CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000 42 | CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y 43 | # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set 44 | # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set 45 | # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set 46 | # CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set 47 | # CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set 48 | # CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set 49 | CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y 50 | # CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set 51 | # CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set 52 | CONFIG_BOOTLOADER_LOG_LEVEL=3 53 | # CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V is not set 54 | CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y 55 | # CONFIG_BOOTLOADER_FACTORY_RESET is not set 56 | # CONFIG_BOOTLOADER_APP_TEST is not set 57 | CONFIG_BOOTLOADER_WDT_ENABLE=y 58 | # CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set 59 | CONFIG_BOOTLOADER_WDT_TIME_MS=9000 60 | # CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set 61 | # CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set 62 | CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 63 | # CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set 64 | # end of Bootloader config 65 | 66 | # 67 | # Security features 68 | # 69 | # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set 70 | # CONFIG_SECURE_BOOT is not set 71 | # CONFIG_SECURE_FLASH_ENC_ENABLED is not set 72 | # end of Security features 73 | 74 | # 75 | # Serial flasher config 76 | # 77 | CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200 78 | # CONFIG_ESPTOOLPY_NO_STUB is not set 79 | # CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set 80 | # CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set 81 | CONFIG_ESPTOOLPY_FLASHMODE_DIO=y 82 | # CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set 83 | CONFIG_ESPTOOLPY_FLASHMODE="dio" 84 | # CONFIG_ESPTOOLPY_FLASHFREQ_80M is not set 85 | CONFIG_ESPTOOLPY_FLASHFREQ_40M=y 86 | # CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set 87 | # CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set 88 | CONFIG_ESPTOOLPY_FLASHFREQ="40m" 89 | # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set 90 | # CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set 91 | CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y 92 | # CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set 93 | # CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set 94 | CONFIG_ESPTOOLPY_FLASHSIZE="4MB" 95 | CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y 96 | CONFIG_ESPTOOLPY_BEFORE_RESET=y 97 | # CONFIG_ESPTOOLPY_BEFORE_NORESET is not set 98 | CONFIG_ESPTOOLPY_BEFORE="default_reset" 99 | CONFIG_ESPTOOLPY_AFTER_RESET=y 100 | # CONFIG_ESPTOOLPY_AFTER_NORESET is not set 101 | CONFIG_ESPTOOLPY_AFTER="hard_reset" 102 | # CONFIG_ESPTOOLPY_MONITOR_BAUD_CONSOLE is not set 103 | # CONFIG_ESPTOOLPY_MONITOR_BAUD_9600B is not set 104 | # CONFIG_ESPTOOLPY_MONITOR_BAUD_57600B is not set 105 | CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y 106 | # CONFIG_ESPTOOLPY_MONITOR_BAUD_230400B is not set 107 | # CONFIG_ESPTOOLPY_MONITOR_BAUD_921600B is not set 108 | # CONFIG_ESPTOOLPY_MONITOR_BAUD_2MB is not set 109 | # CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER is not set 110 | CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER_VAL=115200 111 | CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 112 | # end of Serial flasher config 113 | 114 | # 115 | # Partition Table 116 | # 117 | CONFIG_PARTITION_TABLE_SINGLE_APP=y 118 | # CONFIG_PARTITION_TABLE_TWO_OTA is not set 119 | # CONFIG_PARTITION_TABLE_CUSTOM is not set 120 | CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" 121 | CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv" 122 | CONFIG_PARTITION_TABLE_OFFSET=0x8000 123 | CONFIG_PARTITION_TABLE_MD5=y 124 | # end of Partition Table 125 | 126 | # 127 | # Wifi Configuration 128 | # 129 | CONFIG_ESP_WIFI_SSID="YOUR_WIFI_AP" 130 | CONFIG_ESP_WIFI_PASSWORD="YOUR_WIFI_PASS" 131 | CONFIG_ESP_MAXIMUM_RETRY=5 132 | # end of Wifi Configuration 133 | 134 | # 135 | # MQTT Configuration 136 | # 137 | CONFIG_ESP_MQTT_HOST_URI="mqtt://mqtt:mqtt@192.168.219.120" 138 | CONFIG_ESP_MQTT_TOPIC="suapapa/gas-gauge/cam0" 139 | # end of MQTT Configuration 140 | 141 | # 142 | # Camera configuration 143 | # 144 | CONFIG_OV2640_SUPPORT=y 145 | # CONFIG_OV7725_SUPPORT is not set 146 | # CONFIG_OV3660_SUPPORT is not set 147 | # CONFIG_OV5640_SUPPORT is not set 148 | CONFIG_SCCB_HARDWARE_I2C=y 149 | # CONFIG_SCCB_HARDWARE_I2C_PORT0 is not set 150 | CONFIG_SCCB_HARDWARE_I2C_PORT1=y 151 | CONFIG_CAMERA_CORE0=y 152 | # CONFIG_CAMERA_CORE1 is not set 153 | # CONFIG_CAMERA_NO_AFFINITY is not set 154 | # end of Camera configuration 155 | 156 | # 157 | # Compiler options 158 | # 159 | CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y 160 | # CONFIG_COMPILER_OPTIMIZATION_SIZE is not set 161 | # CONFIG_COMPILER_OPTIMIZATION_PERF is not set 162 | # CONFIG_COMPILER_OPTIMIZATION_NONE is not set 163 | CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y 164 | # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set 165 | # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set 166 | # CONFIG_COMPILER_CXX_EXCEPTIONS is not set 167 | # CONFIG_COMPILER_CXX_RTTI is not set 168 | CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y 169 | # CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set 170 | # CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set 171 | # CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set 172 | # CONFIG_COMPILER_WARN_WRITE_STRINGS is not set 173 | # CONFIG_COMPILER_DISABLE_GCC8_WARNINGS is not set 174 | # CONFIG_COMPILER_DUMP_RTL_FILES is not set 175 | # end of Compiler options 176 | 177 | # 178 | # Component config 179 | # 180 | 181 | # 182 | # Application Level Tracing 183 | # 184 | # CONFIG_APPTRACE_DEST_TRAX is not set 185 | CONFIG_APPTRACE_DEST_NONE=y 186 | CONFIG_APPTRACE_LOCK_ENABLE=y 187 | # end of Application Level Tracing 188 | 189 | # 190 | # ESP-ASIO 191 | # 192 | # CONFIG_ASIO_SSL_SUPPORT is not set 193 | # end of ESP-ASIO 194 | 195 | # 196 | # Bluetooth 197 | # 198 | # CONFIG_BT_ENABLED is not set 199 | CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=0 200 | CONFIG_BTDM_CTRL_PCM_ROLE_EFF=0 201 | CONFIG_BTDM_CTRL_PCM_POLAR_EFF=0 202 | CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=0 203 | CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=0 204 | CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0 205 | CONFIG_BTDM_CTRL_PINNED_TO_CORE=0 206 | CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1 207 | CONFIG_BT_CTRL_MODE_EFF=1 208 | CONFIG_BT_CTRL_BLE_MAX_ACT=10 209 | CONFIG_BT_CTRL_BLE_MAX_ACT_EFF=10 210 | CONFIG_BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB=0 211 | CONFIG_BT_CTRL_PINNED_TO_CORE=0 212 | CONFIG_BT_CTRL_HCI_TL=1 213 | CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=30 214 | CONFIG_BT_CTRL_HW_CCA_EFF=0 215 | CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_EFF=0 216 | CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y 217 | CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 218 | CONFIG_BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 219 | CONFIG_BT_CTRL_BLE_SCAN_DUPL=y 220 | CONFIG_BT_CTRL_SCAN_DUPL_TYPE=0 221 | CONFIG_BT_CTRL_SCAN_DUPL_CACHE_SIZE=100 222 | CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EFF=0 223 | CONFIG_BT_CTRL_SLEEP_MODE_EFF=0 224 | CONFIG_BT_CTRL_SLEEP_CLOCK_EFF=0 225 | CONFIG_BT_CTRL_HCI_TL_EFF=1 226 | CONFIG_BT_RESERVE_DRAM=0 227 | # end of Bluetooth 228 | 229 | # 230 | # CoAP Configuration 231 | # 232 | CONFIG_COAP_MBEDTLS_PSK=y 233 | # CONFIG_COAP_MBEDTLS_PKI is not set 234 | # CONFIG_COAP_MBEDTLS_DEBUG is not set 235 | CONFIG_COAP_LOG_DEFAULT_LEVEL=0 236 | # end of CoAP Configuration 237 | 238 | # 239 | # Driver configurations 240 | # 241 | 242 | # 243 | # ADC configuration 244 | # 245 | # CONFIG_ADC_FORCE_XPD_FSM is not set 246 | CONFIG_ADC_DISABLE_DAC=y 247 | # end of ADC configuration 248 | 249 | # 250 | # SPI configuration 251 | # 252 | # CONFIG_SPI_MASTER_IN_IRAM is not set 253 | CONFIG_SPI_MASTER_ISR_IN_IRAM=y 254 | # CONFIG_SPI_SLAVE_IN_IRAM is not set 255 | CONFIG_SPI_SLAVE_ISR_IN_IRAM=y 256 | # end of SPI configuration 257 | 258 | # 259 | # TWAI configuration 260 | # 261 | # CONFIG_TWAI_ISR_IN_IRAM is not set 262 | # end of TWAI configuration 263 | 264 | # 265 | # UART configuration 266 | # 267 | # CONFIG_UART_ISR_IN_IRAM is not set 268 | # end of UART configuration 269 | 270 | # 271 | # RTCIO configuration 272 | # 273 | # CONFIG_RTCIO_SUPPORT_RTC_GPIO_DESC is not set 274 | # end of RTCIO configuration 275 | 276 | # 277 | # GPIO Configuration 278 | # 279 | # CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set 280 | # end of GPIO Configuration 281 | # end of Driver configurations 282 | 283 | # 284 | # eFuse Bit Manager 285 | # 286 | # CONFIG_EFUSE_CUSTOM_TABLE is not set 287 | # CONFIG_EFUSE_VIRTUAL is not set 288 | # CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set 289 | CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y 290 | # CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set 291 | CONFIG_EFUSE_MAX_BLK_LEN=192 292 | # end of eFuse Bit Manager 293 | 294 | # 295 | # ESP-TLS 296 | # 297 | CONFIG_ESP_TLS_USING_MBEDTLS=y 298 | # CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set 299 | # CONFIG_ESP_TLS_SERVER is not set 300 | # CONFIG_ESP_TLS_PSK_VERIFICATION is not set 301 | # CONFIG_ESP_TLS_INSECURE is not set 302 | # end of ESP-TLS 303 | 304 | # 305 | # ESP32-specific 306 | # 307 | CONFIG_ESP32_ECO3_CACHE_LOCK_FIX=y 308 | CONFIG_ESP32_REV_MIN_0=y 309 | # CONFIG_ESP32_REV_MIN_1 is not set 310 | # CONFIG_ESP32_REV_MIN_2 is not set 311 | # CONFIG_ESP32_REV_MIN_3 is not set 312 | CONFIG_ESP32_REV_MIN=0 313 | CONFIG_ESP32_DPORT_WORKAROUND=y 314 | # CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set 315 | CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y 316 | # CONFIG_ESP32_DEFAULT_CPU_FREQ_240 is not set 317 | CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=160 318 | CONFIG_ESP32_SPIRAM_SUPPORT=y 319 | 320 | # 321 | # SPI RAM config 322 | # 323 | CONFIG_SPIRAM_TYPE_AUTO=y 324 | # CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set 325 | # CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set 326 | # CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set 327 | CONFIG_SPIRAM_SIZE=-1 328 | CONFIG_SPIRAM_SPEED_40M=y 329 | CONFIG_SPIRAM=y 330 | CONFIG_SPIRAM_BOOT_INIT=y 331 | # CONFIG_SPIRAM_IGNORE_NOTFOUND is not set 332 | # CONFIG_SPIRAM_USE_MEMMAP is not set 333 | # CONFIG_SPIRAM_USE_CAPS_ALLOC is not set 334 | CONFIG_SPIRAM_USE_MALLOC=y 335 | CONFIG_SPIRAM_MEMTEST=y 336 | CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384 337 | # CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set 338 | CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 339 | # CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set 340 | CONFIG_SPIRAM_CACHE_WORKAROUND=y 341 | 342 | # 343 | # SPIRAM cache workaround debugging 344 | # 345 | CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_MEMW=y 346 | # CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST is not set 347 | # CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_NOPS is not set 348 | # end of SPIRAM cache workaround debugging 349 | 350 | CONFIG_SPIRAM_BANKSWITCH_ENABLE=y 351 | CONFIG_SPIRAM_BANKSWITCH_RESERVE=8 352 | # CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY is not set 353 | 354 | # 355 | # PSRAM clock and cs IO for ESP32-DOWD 356 | # 357 | CONFIG_D0WD_PSRAM_CLK_IO=17 358 | CONFIG_D0WD_PSRAM_CS_IO=16 359 | # end of PSRAM clock and cs IO for ESP32-DOWD 360 | 361 | # 362 | # PSRAM clock and cs IO for ESP32-D2WD 363 | # 364 | CONFIG_D2WD_PSRAM_CLK_IO=9 365 | CONFIG_D2WD_PSRAM_CS_IO=10 366 | # end of PSRAM clock and cs IO for ESP32-D2WD 367 | 368 | # 369 | # PSRAM clock and cs IO for ESP32-PICO 370 | # 371 | CONFIG_PICO_PSRAM_CS_IO=10 372 | # end of PSRAM clock and cs IO for ESP32-PICO 373 | 374 | # CONFIG_SPIRAM_CUSTOM_SPIWP_SD3_PIN is not set 375 | CONFIG_SPIRAM_SPIWP_SD3_PIN=7 376 | # CONFIG_SPIRAM_2T_MODE is not set 377 | # end of SPI RAM config 378 | 379 | # CONFIG_ESP32_TRAX is not set 380 | CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 381 | # CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set 382 | CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y 383 | CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 384 | # CONFIG_ESP32_ULP_COPROC_ENABLED is not set 385 | CONFIG_ESP32_ULP_COPROC_RESERVE_MEM=0 386 | CONFIG_ESP32_DEBUG_OCDAWARE=y 387 | CONFIG_ESP32_BROWNOUT_DET=y 388 | CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0=y 389 | # CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set 390 | # CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set 391 | # CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set 392 | # CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4 is not set 393 | # CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set 394 | # CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set 395 | # CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set 396 | CONFIG_ESP32_BROWNOUT_DET_LVL=0 397 | CONFIG_ESP32_REDUCE_PHY_TX_POWER=y 398 | CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y 399 | # CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set 400 | # CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set 401 | # CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set 402 | CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y 403 | # CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set 404 | # CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set 405 | # CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set 406 | CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 407 | CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 408 | CONFIG_ESP32_XTAL_FREQ_40=y 409 | # CONFIG_ESP32_XTAL_FREQ_26 is not set 410 | # CONFIG_ESP32_XTAL_FREQ_AUTO is not set 411 | CONFIG_ESP32_XTAL_FREQ=40 412 | # CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set 413 | # CONFIG_ESP32_NO_BLOBS is not set 414 | # CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set 415 | # CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set 416 | CONFIG_ESP32_DPORT_DIS_INTERRUPT_LVL=5 417 | # end of ESP32-specific 418 | 419 | # 420 | # Camera configuration 421 | # 422 | CONFIG_OV7670_SUPPORT=y 423 | CONFIG_NT99141_SUPPORT=y 424 | CONFIG_GC2145_SUPPORT=y 425 | CONFIG_GC032A_SUPPORT=y 426 | CONFIG_GC0308_SUPPORT=y 427 | # CONFIG_GC_SENSOR_WINDOWING_MODE is not set 428 | CONFIG_GC_SENSOR_SUBSAMPLE_MODE=y 429 | CONFIG_CAMERA_DMA_BUFFER_SIZE_MAX=32768 430 | # end of Camera configuration 431 | 432 | # 433 | # ADC-Calibration 434 | # 435 | CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y 436 | CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y 437 | CONFIG_ADC_CAL_LUT_ENABLE=y 438 | # end of ADC-Calibration 439 | 440 | # 441 | # Common ESP-related 442 | # 443 | CONFIG_ESP_ERR_TO_NAME_LOOKUP=y 444 | CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 445 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 446 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 447 | CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 448 | CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y 449 | CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 450 | CONFIG_ESP_CONSOLE_UART_DEFAULT=y 451 | # CONFIG_ESP_CONSOLE_UART_CUSTOM is not set 452 | # CONFIG_ESP_CONSOLE_NONE is not set 453 | CONFIG_ESP_CONSOLE_UART=y 454 | CONFIG_ESP_CONSOLE_MULTIPLE_UART=y 455 | CONFIG_ESP_CONSOLE_UART_NUM=0 456 | CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 457 | CONFIG_ESP_INT_WDT=y 458 | CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 459 | CONFIG_ESP_INT_WDT_CHECK_CPU1=y 460 | CONFIG_ESP_TASK_WDT=y 461 | # CONFIG_ESP_TASK_WDT_PANIC is not set 462 | CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 463 | CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y 464 | CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y 465 | # CONFIG_ESP_PANIC_HANDLER_IRAM is not set 466 | CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y 467 | CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y 468 | CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y 469 | CONFIG_ESP_MAC_ADDR_UNIVERSE_BT_OFFSET=2 470 | CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y 471 | # end of Common ESP-related 472 | 473 | # 474 | # Ethernet 475 | # 476 | CONFIG_ETH_ENABLED=y 477 | CONFIG_ETH_USE_ESP32_EMAC=y 478 | CONFIG_ETH_PHY_INTERFACE_RMII=y 479 | # CONFIG_ETH_PHY_INTERFACE_MII is not set 480 | CONFIG_ETH_RMII_CLK_INPUT=y 481 | # CONFIG_ETH_RMII_CLK_OUTPUT is not set 482 | CONFIG_ETH_RMII_CLK_IN_GPIO=0 483 | CONFIG_ETH_DMA_BUFFER_SIZE=512 484 | CONFIG_ETH_DMA_RX_BUFFER_NUM=10 485 | CONFIG_ETH_DMA_TX_BUFFER_NUM=10 486 | CONFIG_ETH_USE_SPI_ETHERNET=y 487 | # CONFIG_ETH_SPI_ETHERNET_DM9051 is not set 488 | # CONFIG_ETH_SPI_ETHERNET_W5500 is not set 489 | # CONFIG_ETH_USE_OPENETH is not set 490 | # end of Ethernet 491 | 492 | # 493 | # Event Loop Library 494 | # 495 | # CONFIG_ESP_EVENT_LOOP_PROFILING is not set 496 | CONFIG_ESP_EVENT_POST_FROM_ISR=y 497 | CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y 498 | # end of Event Loop Library 499 | 500 | # 501 | # GDB Stub 502 | # 503 | # end of GDB Stub 504 | 505 | # 506 | # ESP HTTP client 507 | # 508 | CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y 509 | # CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set 510 | # end of ESP HTTP client 511 | 512 | # 513 | # HTTP Server 514 | # 515 | CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 516 | CONFIG_HTTPD_MAX_URI_LEN=512 517 | CONFIG_HTTPD_ERR_RESP_NO_DELAY=y 518 | CONFIG_HTTPD_PURGE_BUF_LEN=32 519 | # CONFIG_HTTPD_LOG_PURGE_DATA is not set 520 | # CONFIG_HTTPD_WS_SUPPORT is not set 521 | # end of HTTP Server 522 | 523 | # 524 | # ESP HTTPS OTA 525 | # 526 | # CONFIG_OTA_ALLOW_HTTP is not set 527 | # end of ESP HTTPS OTA 528 | 529 | # 530 | # ESP HTTPS server 531 | # 532 | # CONFIG_ESP_HTTPS_SERVER_ENABLE is not set 533 | # end of ESP HTTPS server 534 | 535 | # 536 | # ESP NETIF Adapter 537 | # 538 | CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 539 | CONFIG_ESP_NETIF_TCPIP_LWIP=y 540 | # CONFIG_ESP_NETIF_LOOPBACK is not set 541 | CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y 542 | # end of ESP NETIF Adapter 543 | 544 | # 545 | # Power Management 546 | # 547 | # CONFIG_PM_ENABLE is not set 548 | # end of Power Management 549 | 550 | # 551 | # ESP System Settings 552 | # 553 | # CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set 554 | CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y 555 | # CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set 556 | # CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set 557 | 558 | # 559 | # Memory protection 560 | # 561 | # end of Memory protection 562 | # end of ESP System Settings 563 | 564 | # 565 | # High resolution timer (esp_timer) 566 | # 567 | # CONFIG_ESP_TIMER_PROFILING is not set 568 | CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y 569 | CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y 570 | CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 571 | # CONFIG_ESP_TIMER_IMPL_FRC2 is not set 572 | CONFIG_ESP_TIMER_IMPL_TG0_LAC=y 573 | # end of High resolution timer (esp_timer) 574 | 575 | # 576 | # Wi-Fi 577 | # 578 | CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 579 | CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 580 | CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y 581 | CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 582 | CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 583 | CONFIG_ESP32_WIFI_CACHE_TX_BUFFER_NUM=32 584 | # CONFIG_ESP32_WIFI_CSI_ENABLED is not set 585 | CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y 586 | CONFIG_ESP32_WIFI_TX_BA_WIN=6 587 | CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y 588 | CONFIG_ESP32_WIFI_RX_BA_WIN=6 589 | # CONFIG_ESP32_WIFI_AMSDU_TX_ENABLED is not set 590 | CONFIG_ESP32_WIFI_NVS_ENABLED=y 591 | CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y 592 | # CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set 593 | CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 594 | CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 595 | # CONFIG_ESP32_WIFI_DEBUG_LOG_ENABLE is not set 596 | CONFIG_ESP32_WIFI_IRAM_OPT=y 597 | CONFIG_ESP32_WIFI_RX_IRAM_OPT=y 598 | CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y 599 | # CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set 600 | # end of Wi-Fi 601 | 602 | # 603 | # PHY 604 | # 605 | CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y 606 | # CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set 607 | CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 608 | CONFIG_ESP32_PHY_MAX_TX_POWER=20 609 | # end of PHY 610 | 611 | # 612 | # Core dump 613 | # 614 | # CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set 615 | # CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set 616 | CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y 617 | # end of Core dump 618 | 619 | # 620 | # FAT Filesystem support 621 | # 622 | # CONFIG_FATFS_CODEPAGE_DYNAMIC is not set 623 | CONFIG_FATFS_CODEPAGE_437=y 624 | # CONFIG_FATFS_CODEPAGE_720 is not set 625 | # CONFIG_FATFS_CODEPAGE_737 is not set 626 | # CONFIG_FATFS_CODEPAGE_771 is not set 627 | # CONFIG_FATFS_CODEPAGE_775 is not set 628 | # CONFIG_FATFS_CODEPAGE_850 is not set 629 | # CONFIG_FATFS_CODEPAGE_852 is not set 630 | # CONFIG_FATFS_CODEPAGE_855 is not set 631 | # CONFIG_FATFS_CODEPAGE_857 is not set 632 | # CONFIG_FATFS_CODEPAGE_860 is not set 633 | # CONFIG_FATFS_CODEPAGE_861 is not set 634 | # CONFIG_FATFS_CODEPAGE_862 is not set 635 | # CONFIG_FATFS_CODEPAGE_863 is not set 636 | # CONFIG_FATFS_CODEPAGE_864 is not set 637 | # CONFIG_FATFS_CODEPAGE_865 is not set 638 | # CONFIG_FATFS_CODEPAGE_866 is not set 639 | # CONFIG_FATFS_CODEPAGE_869 is not set 640 | # CONFIG_FATFS_CODEPAGE_932 is not set 641 | # CONFIG_FATFS_CODEPAGE_936 is not set 642 | # CONFIG_FATFS_CODEPAGE_949 is not set 643 | # CONFIG_FATFS_CODEPAGE_950 is not set 644 | CONFIG_FATFS_CODEPAGE=437 645 | CONFIG_FATFS_LFN_NONE=y 646 | # CONFIG_FATFS_LFN_HEAP is not set 647 | # CONFIG_FATFS_LFN_STACK is not set 648 | CONFIG_FATFS_FS_LOCK=0 649 | CONFIG_FATFS_TIMEOUT_MS=10000 650 | CONFIG_FATFS_PER_FILE_CACHE=y 651 | CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y 652 | # CONFIG_FATFS_USE_FASTSEEK is not set 653 | # end of FAT Filesystem support 654 | 655 | # 656 | # Modbus configuration 657 | # 658 | CONFIG_FMB_COMM_MODE_TCP_EN=y 659 | CONFIG_FMB_TCP_PORT_DEFAULT=502 660 | CONFIG_FMB_TCP_PORT_MAX_CONN=5 661 | CONFIG_FMB_TCP_CONNECTION_TOUT_SEC=20 662 | CONFIG_FMB_COMM_MODE_RTU_EN=y 663 | CONFIG_FMB_COMM_MODE_ASCII_EN=y 664 | CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=150 665 | CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200 666 | CONFIG_FMB_QUEUE_LENGTH=20 667 | CONFIG_FMB_PORT_TASK_STACK_SIZE=4096 668 | CONFIG_FMB_SERIAL_BUF_SIZE=256 669 | CONFIG_FMB_SERIAL_ASCII_BITS_PER_SYMB=8 670 | CONFIG_FMB_SERIAL_ASCII_TIMEOUT_RESPOND_MS=1000 671 | CONFIG_FMB_PORT_TASK_PRIO=10 672 | CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT=y 673 | CONFIG_FMB_CONTROLLER_SLAVE_ID=0x00112233 674 | CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20 675 | CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 676 | CONFIG_FMB_CONTROLLER_STACK_SIZE=4096 677 | CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20 678 | CONFIG_FMB_TIMER_PORT_ENABLED=y 679 | CONFIG_FMB_TIMER_GROUP=0 680 | CONFIG_FMB_TIMER_INDEX=0 681 | # CONFIG_FMB_TIMER_ISR_IN_IRAM is not set 682 | # end of Modbus configuration 683 | 684 | # 685 | # FreeRTOS 686 | # 687 | # CONFIG_FREERTOS_UNICORE is not set 688 | CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF 689 | CONFIG_FREERTOS_CORETIMER_0=y 690 | # CONFIG_FREERTOS_CORETIMER_1 is not set 691 | CONFIG_FREERTOS_HZ=100 692 | CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y 693 | # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set 694 | # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set 695 | CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y 696 | # CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set 697 | CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y 698 | CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 699 | CONFIG_FREERTOS_ASSERT_FAIL_ABORT=y 700 | # CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE is not set 701 | # CONFIG_FREERTOS_ASSERT_DISABLE is not set 702 | CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304 703 | CONFIG_FREERTOS_ISR_STACKSIZE=1536 704 | # CONFIG_FREERTOS_LEGACY_HOOKS is not set 705 | CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 706 | CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y 707 | # CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set 708 | CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 709 | CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 710 | CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 711 | CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 712 | # CONFIG_FREERTOS_USE_TRACE_FACILITY is not set 713 | # CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set 714 | CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y 715 | CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y 716 | # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set 717 | # CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set 718 | CONFIG_FREERTOS_DEBUG_OCDAWARE=y 719 | # CONFIG_FREERTOS_FPU_IN_ISR is not set 720 | # end of FreeRTOS 721 | 722 | # 723 | # Heap memory debugging 724 | # 725 | CONFIG_HEAP_POISONING_DISABLED=y 726 | # CONFIG_HEAP_POISONING_LIGHT is not set 727 | # CONFIG_HEAP_POISONING_COMPREHENSIVE is not set 728 | CONFIG_HEAP_TRACING_OFF=y 729 | # CONFIG_HEAP_TRACING_STANDALONE is not set 730 | # CONFIG_HEAP_TRACING_TOHOST is not set 731 | # CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set 732 | # end of Heap memory debugging 733 | 734 | # 735 | # jsmn 736 | # 737 | # CONFIG_JSMN_PARENT_LINKS is not set 738 | # CONFIG_JSMN_STRICT is not set 739 | # end of jsmn 740 | 741 | # 742 | # libsodium 743 | # 744 | # end of libsodium 745 | 746 | # 747 | # Log output 748 | # 749 | # CONFIG_LOG_DEFAULT_LEVEL_NONE is not set 750 | # CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set 751 | # CONFIG_LOG_DEFAULT_LEVEL_WARN is not set 752 | CONFIG_LOG_DEFAULT_LEVEL_INFO=y 753 | # CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set 754 | # CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set 755 | CONFIG_LOG_DEFAULT_LEVEL=3 756 | CONFIG_LOG_COLORS=y 757 | CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y 758 | # CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set 759 | # end of Log output 760 | 761 | # 762 | # LWIP 763 | # 764 | CONFIG_LWIP_LOCAL_HOSTNAME="espressif" 765 | CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y 766 | # CONFIG_LWIP_L2_TO_L3_COPY is not set 767 | # CONFIG_LWIP_IRAM_OPTIMIZATION is not set 768 | CONFIG_LWIP_TIMERS_ONDEMAND=y 769 | CONFIG_LWIP_MAX_SOCKETS=10 770 | # CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set 771 | # CONFIG_LWIP_SO_LINGER is not set 772 | CONFIG_LWIP_SO_REUSE=y 773 | CONFIG_LWIP_SO_REUSE_RXTOALL=y 774 | # CONFIG_LWIP_SO_RCVBUF is not set 775 | # CONFIG_LWIP_NETBUF_RECVINFO is not set 776 | CONFIG_LWIP_IP4_FRAG=y 777 | CONFIG_LWIP_IP6_FRAG=y 778 | # CONFIG_LWIP_IP4_REASSEMBLY is not set 779 | # CONFIG_LWIP_IP6_REASSEMBLY is not set 780 | # CONFIG_LWIP_IP_FORWARD is not set 781 | # CONFIG_LWIP_STATS is not set 782 | # CONFIG_LWIP_ETHARP_TRUST_IP_MAC is not set 783 | CONFIG_LWIP_ESP_GRATUITOUS_ARP=y 784 | CONFIG_LWIP_GARP_TMR_INTERVAL=60 785 | CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 786 | CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y 787 | # CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set 788 | 789 | # 790 | # DHCP server 791 | # 792 | CONFIG_LWIP_DHCPS_LEASE_UNIT=60 793 | CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 794 | # end of DHCP server 795 | 796 | # CONFIG_LWIP_AUTOIP is not set 797 | # CONFIG_LWIP_IPV6_AUTOCONFIG is not set 798 | CONFIG_LWIP_NETIF_LOOPBACK=y 799 | CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 800 | 801 | # 802 | # TCP 803 | # 804 | CONFIG_LWIP_MAX_ACTIVE_TCP=16 805 | CONFIG_LWIP_MAX_LISTENING_TCP=16 806 | CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y 807 | CONFIG_LWIP_TCP_MAXRTX=12 808 | CONFIG_LWIP_TCP_SYNMAXRTX=12 809 | CONFIG_LWIP_TCP_MSS=1440 810 | CONFIG_LWIP_TCP_TMR_INTERVAL=250 811 | CONFIG_LWIP_TCP_MSL=60000 812 | CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5744 813 | CONFIG_LWIP_TCP_WND_DEFAULT=5744 814 | CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 815 | CONFIG_LWIP_TCP_QUEUE_OOSEQ=y 816 | # CONFIG_LWIP_TCP_SACK_OUT is not set 817 | # CONFIG_LWIP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set 818 | CONFIG_LWIP_TCP_OVERSIZE_MSS=y 819 | # CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set 820 | # CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set 821 | CONFIG_LWIP_TCP_RTO_TIME=1500 822 | # end of TCP 823 | 824 | # 825 | # UDP 826 | # 827 | CONFIG_LWIP_MAX_UDP_PCBS=16 828 | CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 829 | # end of UDP 830 | 831 | # 832 | # Checksums 833 | # 834 | # CONFIG_LWIP_CHECKSUM_CHECK_IP is not set 835 | # CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set 836 | CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y 837 | # end of Checksums 838 | 839 | CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 840 | CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y 841 | # CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set 842 | # CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set 843 | CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF 844 | # CONFIG_LWIP_PPP_SUPPORT is not set 845 | CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 846 | CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 847 | # CONFIG_LWIP_SLIP_SUPPORT is not set 848 | 849 | # 850 | # ICMP 851 | # 852 | # CONFIG_LWIP_MULTICAST_PING is not set 853 | # CONFIG_LWIP_BROADCAST_PING is not set 854 | # end of ICMP 855 | 856 | # 857 | # LWIP RAW API 858 | # 859 | CONFIG_LWIP_MAX_RAW_PCBS=16 860 | # end of LWIP RAW API 861 | 862 | # 863 | # SNTP 864 | # 865 | CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1 866 | CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 867 | # end of SNTP 868 | 869 | CONFIG_LWIP_ESP_LWIP_ASSERT=y 870 | 871 | # 872 | # Hooks 873 | # 874 | # CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set 875 | CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y 876 | # CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set 877 | CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y 878 | # CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set 879 | # CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set 880 | CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y 881 | # CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set 882 | # CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set 883 | # end of Hooks 884 | 885 | # 886 | # Debug 887 | # 888 | # CONFIG_LWIP_NETIF_DEBUG is not set 889 | # CONFIG_LWIP_PBUF_DEBUG is not set 890 | # CONFIG_LWIP_ETHARP_DEBUG is not set 891 | # CONFIG_LWIP_API_LIB_DEBUG is not set 892 | # CONFIG_LWIP_SOCKETS_DEBUG is not set 893 | # CONFIG_LWIP_IP_DEBUG is not set 894 | # CONFIG_LWIP_ICMP_DEBUG is not set 895 | # CONFIG_LWIP_DHCP_STATE_DEBUG is not set 896 | # CONFIG_LWIP_DHCP_DEBUG is not set 897 | # CONFIG_LWIP_IP6_DEBUG is not set 898 | # CONFIG_LWIP_ICMP6_DEBUG is not set 899 | # CONFIG_LWIP_TCP_DEBUG is not set 900 | # end of Debug 901 | # end of LWIP 902 | 903 | # 904 | # mbedTLS 905 | # 906 | CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y 907 | # CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC is not set 908 | # CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set 909 | # CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set 910 | CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y 911 | CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 912 | CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 913 | # CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set 914 | # CONFIG_MBEDTLS_DEBUG is not set 915 | 916 | # 917 | # Certificate Bundle 918 | # 919 | CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y 920 | CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y 921 | # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set 922 | # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set 923 | # CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set 924 | # end of Certificate Bundle 925 | 926 | # CONFIG_MBEDTLS_ECP_RESTARTABLE is not set 927 | # CONFIG_MBEDTLS_CMAC_C is not set 928 | CONFIG_MBEDTLS_HARDWARE_AES=y 929 | CONFIG_MBEDTLS_HARDWARE_MPI=y 930 | CONFIG_MBEDTLS_HARDWARE_SHA=y 931 | # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set 932 | # CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set 933 | CONFIG_MBEDTLS_HAVE_TIME=y 934 | # CONFIG_MBEDTLS_HAVE_TIME_DATE is not set 935 | CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y 936 | CONFIG_MBEDTLS_SHA512_C=y 937 | CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y 938 | # CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set 939 | # CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set 940 | # CONFIG_MBEDTLS_TLS_DISABLED is not set 941 | CONFIG_MBEDTLS_TLS_SERVER=y 942 | CONFIG_MBEDTLS_TLS_CLIENT=y 943 | CONFIG_MBEDTLS_TLS_ENABLED=y 944 | 945 | # 946 | # TLS Key Exchange Methods 947 | # 948 | # CONFIG_MBEDTLS_PSK_MODES is not set 949 | CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y 950 | CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y 951 | CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y 952 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y 953 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y 954 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y 955 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y 956 | # end of TLS Key Exchange Methods 957 | 958 | CONFIG_MBEDTLS_SSL_RENEGOTIATION=y 959 | # CONFIG_MBEDTLS_SSL_PROTO_SSL3 is not set 960 | CONFIG_MBEDTLS_SSL_PROTO_TLS1=y 961 | CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y 962 | CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y 963 | # CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set 964 | CONFIG_MBEDTLS_SSL_ALPN=y 965 | CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y 966 | CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y 967 | 968 | # 969 | # Symmetric Ciphers 970 | # 971 | CONFIG_MBEDTLS_AES_C=y 972 | # CONFIG_MBEDTLS_CAMELLIA_C is not set 973 | # CONFIG_MBEDTLS_DES_C is not set 974 | CONFIG_MBEDTLS_RC4_DISABLED=y 975 | # CONFIG_MBEDTLS_RC4_ENABLED_NO_DEFAULT is not set 976 | # CONFIG_MBEDTLS_RC4_ENABLED is not set 977 | # CONFIG_MBEDTLS_BLOWFISH_C is not set 978 | # CONFIG_MBEDTLS_XTEA_C is not set 979 | CONFIG_MBEDTLS_CCM_C=y 980 | CONFIG_MBEDTLS_GCM_C=y 981 | # end of Symmetric Ciphers 982 | 983 | # CONFIG_MBEDTLS_RIPEMD160_C is not set 984 | 985 | # 986 | # Certificates 987 | # 988 | CONFIG_MBEDTLS_PEM_PARSE_C=y 989 | CONFIG_MBEDTLS_PEM_WRITE_C=y 990 | CONFIG_MBEDTLS_X509_CRL_PARSE_C=y 991 | CONFIG_MBEDTLS_X509_CSR_PARSE_C=y 992 | # end of Certificates 993 | 994 | CONFIG_MBEDTLS_ECP_C=y 995 | CONFIG_MBEDTLS_ECDH_C=y 996 | CONFIG_MBEDTLS_ECDSA_C=y 997 | # CONFIG_MBEDTLS_ECJPAKE_C is not set 998 | CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y 999 | CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y 1000 | CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y 1001 | CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y 1002 | CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y 1003 | CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y 1004 | CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y 1005 | CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y 1006 | CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y 1007 | CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y 1008 | CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y 1009 | CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y 1010 | CONFIG_MBEDTLS_ECP_NIST_OPTIM=y 1011 | # CONFIG_MBEDTLS_POLY1305_C is not set 1012 | # CONFIG_MBEDTLS_CHACHA20_C is not set 1013 | # CONFIG_MBEDTLS_HKDF_C is not set 1014 | # CONFIG_MBEDTLS_THREADING_C is not set 1015 | # CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set 1016 | # CONFIG_MBEDTLS_SECURITY_RISKS is not set 1017 | # end of mbedTLS 1018 | 1019 | # 1020 | # mDNS 1021 | # 1022 | CONFIG_MDNS_MAX_SERVICES=10 1023 | CONFIG_MDNS_TASK_PRIORITY=1 1024 | CONFIG_MDNS_TASK_STACK_SIZE=4096 1025 | # CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set 1026 | CONFIG_MDNS_TASK_AFFINITY_CPU0=y 1027 | # CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set 1028 | CONFIG_MDNS_TASK_AFFINITY=0x0 1029 | CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000 1030 | CONFIG_MDNS_TIMER_PERIOD_MS=100 1031 | # end of mDNS 1032 | 1033 | # 1034 | # ESP-MQTT Configurations 1035 | # 1036 | CONFIG_MQTT_PROTOCOL_311=y 1037 | CONFIG_MQTT_TRANSPORT_SSL=y 1038 | CONFIG_MQTT_TRANSPORT_WEBSOCKET=y 1039 | CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y 1040 | # CONFIG_MQTT_MSG_ID_INCREMENTAL is not set 1041 | # CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set 1042 | # CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set 1043 | # CONFIG_MQTT_USE_CUSTOM_CONFIG is not set 1044 | # CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set 1045 | # CONFIG_MQTT_CUSTOM_OUTBOX is not set 1046 | # end of ESP-MQTT Configurations 1047 | 1048 | # 1049 | # Newlib 1050 | # 1051 | CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y 1052 | # CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set 1053 | # CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set 1054 | # CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set 1055 | # CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set 1056 | CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y 1057 | # CONFIG_NEWLIB_NANO_FORMAT is not set 1058 | # end of Newlib 1059 | 1060 | # 1061 | # NVS 1062 | # 1063 | # end of NVS 1064 | 1065 | # 1066 | # OpenSSL 1067 | # 1068 | # CONFIG_OPENSSL_DEBUG is not set 1069 | CONFIG_OPENSSL_ERROR_STACK=y 1070 | # CONFIG_OPENSSL_ASSERT_DO_NOTHING is not set 1071 | CONFIG_OPENSSL_ASSERT_EXIT=y 1072 | # end of OpenSSL 1073 | 1074 | # 1075 | # PThreads 1076 | # 1077 | CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 1078 | CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 1079 | CONFIG_PTHREAD_STACK_MIN=768 1080 | CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y 1081 | # CONFIG_PTHREAD_DEFAULT_CORE_0 is not set 1082 | # CONFIG_PTHREAD_DEFAULT_CORE_1 is not set 1083 | CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 1084 | CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" 1085 | # end of PThreads 1086 | 1087 | # 1088 | # SPI Flash driver 1089 | # 1090 | # CONFIG_SPI_FLASH_VERIFY_WRITE is not set 1091 | # CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set 1092 | CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y 1093 | CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y 1094 | # CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set 1095 | # CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set 1096 | # CONFIG_SPI_FLASH_USE_LEGACY_IMPL is not set 1097 | # CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set 1098 | # CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set 1099 | CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y 1100 | CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 1101 | CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 1102 | CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 1103 | # CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set 1104 | # CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set 1105 | 1106 | # 1107 | # Auto-detect flash chips 1108 | # 1109 | CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y 1110 | CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y 1111 | CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y 1112 | CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y 1113 | # end of Auto-detect flash chips 1114 | 1115 | CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y 1116 | # end of SPI Flash driver 1117 | 1118 | # 1119 | # SPIFFS Configuration 1120 | # 1121 | CONFIG_SPIFFS_MAX_PARTITIONS=3 1122 | 1123 | # 1124 | # SPIFFS Cache Configuration 1125 | # 1126 | CONFIG_SPIFFS_CACHE=y 1127 | CONFIG_SPIFFS_CACHE_WR=y 1128 | # CONFIG_SPIFFS_CACHE_STATS is not set 1129 | # end of SPIFFS Cache Configuration 1130 | 1131 | CONFIG_SPIFFS_PAGE_CHECK=y 1132 | CONFIG_SPIFFS_GC_MAX_RUNS=10 1133 | # CONFIG_SPIFFS_GC_STATS is not set 1134 | CONFIG_SPIFFS_PAGE_SIZE=256 1135 | CONFIG_SPIFFS_OBJ_NAME_LEN=32 1136 | # CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set 1137 | CONFIG_SPIFFS_USE_MAGIC=y 1138 | CONFIG_SPIFFS_USE_MAGIC_LENGTH=y 1139 | CONFIG_SPIFFS_META_LENGTH=4 1140 | CONFIG_SPIFFS_USE_MTIME=y 1141 | 1142 | # 1143 | # Debug Configuration 1144 | # 1145 | # CONFIG_SPIFFS_DBG is not set 1146 | # CONFIG_SPIFFS_API_DBG is not set 1147 | # CONFIG_SPIFFS_GC_DBG is not set 1148 | # CONFIG_SPIFFS_CACHE_DBG is not set 1149 | # CONFIG_SPIFFS_CHECK_DBG is not set 1150 | # CONFIG_SPIFFS_TEST_VISUALISATION is not set 1151 | # end of Debug Configuration 1152 | # end of SPIFFS Configuration 1153 | 1154 | # 1155 | # TCP Transport 1156 | # 1157 | CONFIG_WS_BUFFER_SIZE=1024 1158 | # end of TCP Transport 1159 | 1160 | # 1161 | # TinyUSB 1162 | # 1163 | # end of TinyUSB 1164 | 1165 | # 1166 | # Unity unit testing library 1167 | # 1168 | CONFIG_UNITY_ENABLE_FLOAT=y 1169 | CONFIG_UNITY_ENABLE_DOUBLE=y 1170 | # CONFIG_UNITY_ENABLE_COLOR is not set 1171 | CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y 1172 | # CONFIG_UNITY_ENABLE_FIXTURE is not set 1173 | # CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set 1174 | # end of Unity unit testing library 1175 | 1176 | # 1177 | # Virtual file system 1178 | # 1179 | CONFIG_VFS_SUPPORT_IO=y 1180 | CONFIG_VFS_SUPPORT_DIR=y 1181 | CONFIG_VFS_SUPPORT_SELECT=y 1182 | CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y 1183 | CONFIG_VFS_SUPPORT_TERMIOS=y 1184 | 1185 | # 1186 | # Host File System I/O (Semihosting) 1187 | # 1188 | CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 1189 | CONFIG_VFS_SEMIHOSTFS_HOST_PATH_MAX_LEN=128 1190 | # end of Host File System I/O (Semihosting) 1191 | # end of Virtual file system 1192 | 1193 | # 1194 | # Wear Levelling 1195 | # 1196 | # CONFIG_WL_SECTOR_SIZE_512 is not set 1197 | CONFIG_WL_SECTOR_SIZE_4096=y 1198 | CONFIG_WL_SECTOR_SIZE=4096 1199 | # end of Wear Levelling 1200 | 1201 | # 1202 | # Wi-Fi Provisioning Manager 1203 | # 1204 | CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 1205 | CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 1206 | # end of Wi-Fi Provisioning Manager 1207 | 1208 | # 1209 | # Supplicant 1210 | # 1211 | CONFIG_WPA_MBEDTLS_CRYPTO=y 1212 | # CONFIG_WPA_WAPI_PSK is not set 1213 | # CONFIG_WPA_DEBUG_PRINT is not set 1214 | # CONFIG_WPA_TESTING_OPTIONS is not set 1215 | # CONFIG_WPA_WPS_WARS is not set 1216 | # CONFIG_WPA_11KV_SUPPORT is not set 1217 | # end of Supplicant 1218 | # end of Component config 1219 | 1220 | # 1221 | # Compatibility options 1222 | # 1223 | # CONFIG_LEGACY_INCLUDE_COMMON_HEADERS is not set 1224 | # end of Compatibility options 1225 | 1226 | # Deprecated options for backward compatibility 1227 | CONFIG_TOOLPREFIX="xtensa-esp32-elf-" 1228 | # CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set 1229 | # CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set 1230 | # CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set 1231 | CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y 1232 | # CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set 1233 | # CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set 1234 | CONFIG_LOG_BOOTLOADER_LEVEL=3 1235 | # CONFIG_APP_ROLLBACK_ENABLE is not set 1236 | # CONFIG_FLASH_ENCRYPTION_ENABLED is not set 1237 | # CONFIG_FLASHMODE_QIO is not set 1238 | # CONFIG_FLASHMODE_QOUT is not set 1239 | CONFIG_FLASHMODE_DIO=y 1240 | # CONFIG_FLASHMODE_DOUT is not set 1241 | # CONFIG_MONITOR_BAUD_9600B is not set 1242 | # CONFIG_MONITOR_BAUD_57600B is not set 1243 | CONFIG_MONITOR_BAUD_115200B=y 1244 | # CONFIG_MONITOR_BAUD_230400B is not set 1245 | # CONFIG_MONITOR_BAUD_921600B is not set 1246 | # CONFIG_MONITOR_BAUD_2MB is not set 1247 | # CONFIG_MONITOR_BAUD_OTHER is not set 1248 | CONFIG_MONITOR_BAUD_OTHER_VAL=115200 1249 | CONFIG_MONITOR_BAUD=115200 1250 | CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y 1251 | # CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set 1252 | CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y 1253 | # CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set 1254 | # CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set 1255 | # CONFIG_CXX_EXCEPTIONS is not set 1256 | CONFIG_STACK_CHECK_NONE=y 1257 | # CONFIG_STACK_CHECK_NORM is not set 1258 | # CONFIG_STACK_CHECK_STRONG is not set 1259 | # CONFIG_STACK_CHECK_ALL is not set 1260 | # CONFIG_WARN_WRITE_STRINGS is not set 1261 | # CONFIG_DISABLE_GCC8_WARNINGS is not set 1262 | # CONFIG_ESP32_APPTRACE_DEST_TRAX is not set 1263 | CONFIG_ESP32_APPTRACE_DEST_NONE=y 1264 | CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y 1265 | CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=0 1266 | CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0 1267 | CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0 1268 | CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0 1269 | CONFIG_ADC2_DISABLE_DAC=y 1270 | CONFIG_SPIRAM_SUPPORT=y 1271 | # CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST is not set 1272 | CONFIG_TRACEMEM_RESERVE_DRAM=0x0 1273 | # CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set 1274 | CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y 1275 | CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 1276 | # CONFIG_ULP_COPROC_ENABLED is not set 1277 | CONFIG_ULP_COPROC_RESERVE_MEM=0 1278 | CONFIG_BROWNOUT_DET=y 1279 | CONFIG_BROWNOUT_DET_LVL_SEL_0=y 1280 | # CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set 1281 | # CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set 1282 | # CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set 1283 | # CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set 1284 | # CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set 1285 | # CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set 1286 | # CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set 1287 | CONFIG_BROWNOUT_DET_LVL=0 1288 | CONFIG_REDUCE_PHY_TX_POWER=y 1289 | CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y 1290 | # CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set 1291 | # CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set 1292 | # CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set 1293 | # CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set 1294 | # CONFIG_NO_BLOBS is not set 1295 | # CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set 1296 | CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 1297 | CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 1298 | CONFIG_MAIN_TASK_STACK_SIZE=3584 1299 | CONFIG_IPC_TASK_STACK_SIZE=1024 1300 | CONFIG_CONSOLE_UART_DEFAULT=y 1301 | # CONFIG_CONSOLE_UART_CUSTOM is not set 1302 | # CONFIG_ESP_CONSOLE_UART_NONE is not set 1303 | CONFIG_CONSOLE_UART=y 1304 | CONFIG_CONSOLE_UART_NUM=0 1305 | CONFIG_CONSOLE_UART_BAUDRATE=115200 1306 | CONFIG_INT_WDT=y 1307 | CONFIG_INT_WDT_TIMEOUT_MS=300 1308 | CONFIG_INT_WDT_CHECK_CPU1=y 1309 | CONFIG_TASK_WDT=y 1310 | # CONFIG_TASK_WDT_PANIC is not set 1311 | CONFIG_TASK_WDT_TIMEOUT_S=5 1312 | CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y 1313 | CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y 1314 | # CONFIG_EVENT_LOOP_PROFILING is not set 1315 | CONFIG_POST_EVENTS_FROM_ISR=y 1316 | CONFIG_POST_EVENTS_FROM_IRAM_ISR=y 1317 | # CONFIG_ESP32S2_PANIC_PRINT_HALT is not set 1318 | CONFIG_ESP32S2_PANIC_PRINT_REBOOT=y 1319 | # CONFIG_ESP32S2_PANIC_SILENT_REBOOT is not set 1320 | # CONFIG_ESP32S2_PANIC_GDBSTUB is not set 1321 | CONFIG_TIMER_TASK_STACK_SIZE=3584 1322 | # CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set 1323 | # CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set 1324 | CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y 1325 | CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND=150 1326 | CONFIG_MB_MASTER_DELAY_MS_CONVERT=200 1327 | CONFIG_MB_QUEUE_LENGTH=20 1328 | CONFIG_MB_SERIAL_TASK_STACK_SIZE=4096 1329 | CONFIG_MB_SERIAL_BUF_SIZE=256 1330 | CONFIG_MB_SERIAL_TASK_PRIO=10 1331 | CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT=y 1332 | CONFIG_MB_CONTROLLER_SLAVE_ID=0x00112233 1333 | CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20 1334 | CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 1335 | CONFIG_MB_CONTROLLER_STACK_SIZE=4096 1336 | CONFIG_MB_EVENT_QUEUE_TIMEOUT=20 1337 | CONFIG_MB_TIMER_PORT_ENABLED=y 1338 | CONFIG_MB_TIMER_GROUP=0 1339 | CONFIG_MB_TIMER_INDEX=0 1340 | # CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set 1341 | CONFIG_TIMER_TASK_PRIORITY=1 1342 | CONFIG_TIMER_TASK_STACK_DEPTH=2048 1343 | CONFIG_TIMER_QUEUE_LENGTH=10 1344 | # CONFIG_L2_TO_L3_COPY is not set 1345 | # CONFIG_USE_ONLY_LWIP_SELECT is not set 1346 | CONFIG_ESP_GRATUITOUS_ARP=y 1347 | CONFIG_GARP_TMR_INTERVAL=60 1348 | CONFIG_TCPIP_RECVMBOX_SIZE=32 1349 | CONFIG_TCP_MAXRTX=12 1350 | CONFIG_TCP_SYNMAXRTX=12 1351 | CONFIG_TCP_MSS=1440 1352 | CONFIG_TCP_MSL=60000 1353 | CONFIG_TCP_SND_BUF_DEFAULT=5744 1354 | CONFIG_TCP_WND_DEFAULT=5744 1355 | CONFIG_TCP_RECVMBOX_SIZE=6 1356 | CONFIG_TCP_QUEUE_OOSEQ=y 1357 | # CONFIG_ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set 1358 | CONFIG_TCP_OVERSIZE_MSS=y 1359 | # CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set 1360 | # CONFIG_TCP_OVERSIZE_DISABLE is not set 1361 | CONFIG_UDP_RECVMBOX_SIZE=6 1362 | CONFIG_TCPIP_TASK_STACK_SIZE=3072 1363 | CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y 1364 | # CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set 1365 | # CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set 1366 | CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF 1367 | # CONFIG_PPP_SUPPORT is not set 1368 | CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 1369 | CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 1370 | CONFIG_ESP32_PTHREAD_STACK_MIN=768 1371 | CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y 1372 | # CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set 1373 | # CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set 1374 | CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 1375 | CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" 1376 | CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y 1377 | # CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set 1378 | # CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set 1379 | CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y 1380 | CONFIG_SUPPORT_TERMIOS=y 1381 | CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 1382 | CONFIG_SEMIHOSTFS_HOST_PATH_MAX_LEN=128 1383 | # End of deprecated options 1384 | --------------------------------------------------------------------------------