├── .gitignore ├── CMakeLists.txt ├── README.md ├── main ├── CMakeLists.txt ├── Kconfig.projbuild ├── README.md ├── captdns.c ├── captdns.h ├── component.mk ├── index.html └── main.c └── sdkconfig /.gitignore: -------------------------------------------------------------------------------- 1 | /build/* 2 | /sdkconfig.old 3 | /component_depends.cmake -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5) 2 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 3 | 4 | #run this command to get cquery db built 5 | #cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=YES 6 | 7 | #Flashing command 8 | #execute_process(COMMAND idf.py "flash") 9 | #execute_process(COMMAND esptool.py "--port COM8 write_flash 0x10000 build\\Pneumobil.bin") 10 | 11 | #Create documentation 12 | #execute_process(COMMAND doxygen Doxyfile) 13 | 14 | 15 | project(GPS) 16 | set(CMAKE_EXPORT_COMPILE_COMMANDS 1) -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # esp32_Captdns 2 | A small example how to setup a WEB-Server with Captdns capability. 3 | 4 | ## History 5 | The original code was written by cornelis-61, based on Espressif's esp-idf-v2.0-rc1 from 2017. 6 | smnd96 corrected the file structure in 2020 for use in the context of esp-idf-v4.0. 7 | -------------------------------------------------------------------------------- /main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS main.c 2 | captdns.c 3 | EMBED_FILES index.html 4 | INCLUDE_DIRS "" 5 | #REQUIRES SPI_FLASH 6 | ) 7 | 8 | -------------------------------------------------------------------------------- /main/Kconfig.projbuild: -------------------------------------------------------------------------------- 1 | menu "MY PROJECT configuration" 2 | 3 | config MY_LED_ON_DEVBOARD_GPIO_NUM 4 | int "LED on-board GPIO# (Huzzah32 #13) (Lolin32lite #22)" 5 | default 13 6 | 7 | config MY_LED_ON_DEVBOARD_WIRING_TYPE 8 | int "LED on-board wiring type (Huzzah32 1=GND) (Lolin32lite 2=VCC)" 9 | default 1 10 | 11 | config MY_GPS_UART_NUM 12 | int "MY_GPS_UART_NUM (1,2)" 13 | default 1 14 | 15 | config MY_GPS_UART_RX_GPIO_NUM 16 | int "MY_GPS_UART_RX_GPIO_NUM ((Huzzah32 pin 23 @ bottomright))" 17 | default 23 18 | 19 | config MY_GPS_UART_TX_GPIO_NUM 20 | int "MY_GPS_UART_TX_GPIO_NUM ((Huzzah32 pin 22 @ bottomright-1))" 21 | default 22 22 | 23 | endmenu 24 | -------------------------------------------------------------------------------- /main/README.md: -------------------------------------------------------------------------------- 1 | # esp32_Captdns 2 | A small example how to setup a WEB-Server with Captdns capability. 3 | 4 | I setup this code by using existing code and modify it, so it can be easily copied 5 | into the official Toolchain of Espressif in the Version esp-idf-v2.0-rc1. 6 | (smnd96: now it is building with idf 4.0) 7 | 8 | I started this project with a post in esp32.com 9 | 10 | ESP32 as stanalone Webserver 11 | 12 | Where stanalone a writing error is it should be Standalone ;) 13 | 14 | I want to thank the guys who gave me some hints to move on as quick as possible. 15 | 16 | Kolban, WiFive and andrew_p 17 | 18 | Some of the the posts asked for a Github repository , well I never did that and this is good 19 | opportunity to start doing it. 20 | 21 | I hope someone likes it and can use it for educational purpose. 22 | 23 | _______________________________ 24 | All credits are for cornelis-61 -------------------------------------------------------------------------------- /main/captdns.c: -------------------------------------------------------------------------------- 1 | /* 2 | * ---------------------------------------------------------------------------- 3 | * "THE BEER-WARE LICENSE" (Revision 42): 4 | * Jeroen Domburg wrote this file. As long as you retain 5 | * this notice you can do whatever you want with this stuff. If we meet some day, 6 | * and you think this stuff is worth it, you can buy me a beer in return. 7 | * 8 | * modified for ESP32 by Cornelis 9 | * 10 | * ---------------------------------------------------------------------------- 11 | */ 12 | 13 | 14 | /* 15 | This is a 'captive portal' DNS server: it basically replies with a fixed IP (in this case: 16 | the one of the SoftAP interface of this ESP module) for any and all DNS queries. This can 17 | be used to send mobile phones, tablets etc which connect to the ESP in AP mode directly to 18 | the internal webserver. 19 | */ 20 | 21 | #include "freertos/FreeRTOS.h" 22 | #include "freertos/task.h" 23 | #include "freertos/queue.h" 24 | #include "lwip/sockets.h" 25 | #include "lwip/err.h" 26 | #include "tcpip_adapter.h" 27 | #include "string.h" 28 | 29 | static int sockFd; 30 | 31 | #define DNS_LEN 512 32 | 33 | typedef struct __attribute__ ((packed)) { 34 | uint16_t id; 35 | uint8_t flags; 36 | uint8_t rcode; 37 | uint16_t qdcount; 38 | uint16_t ancount; 39 | uint16_t nscount; 40 | uint16_t arcount; 41 | } DnsHeader; 42 | 43 | 44 | typedef struct __attribute__ ((packed)) { 45 | uint8_t len; 46 | uint8_t data; 47 | } DnsLabel; 48 | 49 | 50 | typedef struct __attribute__ ((packed)) { 51 | //before: label 52 | uint16_t type; 53 | uint16_t class; 54 | } DnsQuestionFooter; 55 | 56 | 57 | typedef struct __attribute__ ((packed)) { 58 | //before: label 59 | uint16_t type; 60 | uint16_t class; 61 | uint32_t ttl; 62 | uint16_t rdlength; 63 | //after: rdata 64 | } DnsResourceFooter; 65 | 66 | typedef struct __attribute__ ((packed)) { 67 | uint16_t prio; 68 | uint16_t weight; 69 | } DnsUriHdr; 70 | 71 | 72 | #define FLAG_QR (1<<7) 73 | #define FLAG_AA (1<<2) 74 | #define FLAG_TC (1<<1) 75 | #define FLAG_RD (1<<0) 76 | 77 | #define QTYPE_A 1 78 | #define QTYPE_NS 2 79 | #define QTYPE_CNAME 5 80 | #define QTYPE_SOA 6 81 | #define QTYPE_WKS 11 82 | #define QTYPE_PTR 12 83 | #define QTYPE_HINFO 13 84 | #define QTYPE_MINFO 14 85 | #define QTYPE_MX 15 86 | #define QTYPE_TXT 16 87 | #define QTYPE_URI 256 88 | 89 | #define QCLASS_IN 1 90 | #define QCLASS_ANY 255 91 | #define QCLASS_URI 256 92 | 93 | 94 | //Function to put unaligned 16-bit network values 95 | static void setn16(void *pp, int16_t n) { 96 | char *p=pp; 97 | *p++=(n>>8); 98 | *p++=(n&0xff); 99 | } 100 | 101 | //Function to put unaligned 32-bit network values 102 | static void setn32(void *pp, int32_t n) { 103 | char *p=pp; 104 | *p++=(n>>24)&0xff; 105 | *p++=(n>>16)&0xff; 106 | *p++=(n>>8)&0xff; 107 | *p++=(n&0xff); 108 | } 109 | 110 | static uint16_t my_ntohs(uint16_t *in) { 111 | char *p=(char*)in; 112 | return ((p[0]<<8)&0xff00)|(p[1]&0xff); 113 | } 114 | 115 | //Parses a label into a C-string containing a dotted 116 | //Returns pointer to start of next fields in packet 117 | static char* labelToStr(char *packet, char *labelPtr, int packetSz, char *res, int resMaxLen) { 118 | int i, j, k; 119 | char *endPtr=NULL; 120 | i=0; 121 | do { 122 | if ((*labelPtr&0xC0)==0) { 123 | j=*labelPtr++; //skip past length 124 | //Add separator period if there already is data in res 125 | if (ipacketSz) return NULL; 129 | if (ipacketSz) return NULL; 137 | labelPtr=&packet[offset]; 138 | } 139 | //check for out-of-bound-ness 140 | if ((labelPtr-packet)>packetSz) return NULL; 141 | } while (*labelPtr!=0); 142 | res[i]=0; //zero-terminate 143 | if (endPtr==NULL) endPtr=labelPtr+1; 144 | return endPtr; 145 | } 146 | 147 | //Converts a dotted hostname to the weird label form dns uses. 148 | static char *strToLabel(char *str, char *label, int maxLen) { 149 | char *len=label; //ptr to len byte 150 | char *p=label+1; //ptr to next label byte to be written 151 | while (1) { 152 | if (*str=='.' || *str==0) { 153 | *len=((p-len)-1); //write len of label bit 154 | len=p; //pos of len for next part 155 | p++; //data ptr is one past len 156 | if (*str==0) break; //done 157 | str++; 158 | } else { 159 | *p++=*str++; //copy byte 160 | //if ((p-label)>maxLen) return NULL; //check out of bounds 161 | } 162 | } 163 | *len=0; 164 | return p; //ptr to first free byte in resp 165 | } 166 | 167 | //Receive a DNS packet and maybe send a response back 168 | static void captdnsRecv(struct sockaddr_in *premote_addr, char *pusrdata, unsigned short length) { 169 | 170 | char buff[DNS_LEN]; 171 | char reply[DNS_LEN]; 172 | int i; 173 | char *rend=&reply[length]; 174 | char *p=pusrdata; 175 | DnsHeader *hdr=(DnsHeader*)p; 176 | DnsHeader *rhdr=(DnsHeader*)&reply[0]; 177 | p+=sizeof(DnsHeader); 178 | // printf("DNS packet: id 0x%X flags 0x%X rcode 0x%X qcnt %d ancnt %d nscount %d arcount %d len %d\n", 179 | // my_ntohs(&hdr->id), hdr->flags, hdr->rcode, my_ntohs(&hdr->qdcount), my_ntohs(&hdr->ancount), my_ntohs(&hdr->nscount), my_ntohs(&hdr->arcount), length); 180 | //Some sanity checks: 181 | if (length>DNS_LEN) return; //Packet is longer than DNS implementation allows 182 | if (lengthancount || hdr->nscount || hdr->arcount) return; //this is a reply, don't know what to do with it 184 | if (hdr->flags&FLAG_TC) return; //truncated, can't use this 185 | //Reply is basically the request plus the needed data 186 | memcpy(reply, pusrdata, length); 187 | rhdr->flags|=FLAG_QR; 188 | 189 | for (i=0; iqdcount); i++) 190 | { 191 | //Grab the labels in the q string 192 | p=labelToStr(pusrdata, p, length, buff, sizeof(buff)); 193 | if (p==NULL) return; 194 | DnsQuestionFooter *qf=(DnsQuestionFooter*)p; 195 | p+=sizeof(DnsQuestionFooter); 196 | 197 | printf("DNS: Q (type 0x%X class 0x%X) for %s\n", my_ntohs(&qf->type), my_ntohs(&qf->class), buff); 198 | 199 | 200 | if (my_ntohs(&qf->type)==QTYPE_A) { 201 | //They want to know the IPv4 address of something. 202 | //Build the response. 203 | 204 | rend=strToLabel(buff, rend, sizeof(reply)-(rend-reply)); //Add the label 205 | if (rend==NULL) return; 206 | DnsResourceFooter *rf=(DnsResourceFooter *)rend; 207 | rend+=sizeof(DnsResourceFooter); 208 | setn16(&rf->type, QTYPE_A); 209 | setn16(&rf->class, QCLASS_IN); 210 | setn32(&rf->ttl, 0); 211 | setn16(&rf->rdlength, 4); //IPv4 addr is 4 bytes; 212 | //Grab the current IP of the softap interface 213 | 214 | tcpip_adapter_ip_info_t info; 215 | //tcpip_adapter_get_ip_info(TCPIP_ADAPTER_IF_ETH, &info); 216 | tcpip_adapter_get_ip_info(TCPIP_ADAPTER_IF_AP, &info); 217 | //struct ip_info info; 218 | //wifi_get_ip_info(SOFTAP_IF, &info); 219 | *rend++=ip4_addr1(&info.ip); 220 | *rend++=ip4_addr2(&info.ip); 221 | *rend++=ip4_addr3(&info.ip); 222 | *rend++=ip4_addr4(&info.ip); 223 | setn16(&rhdr->ancount, my_ntohs(&rhdr->ancount)+1); 224 | //printf("IP Address: %s\n", ip4addr_ntoa(&info.ip)); 225 | //printf("Added A rec to resp. Resp len is %d\n", (rend-reply)); 226 | 227 | } else if (my_ntohs(&qf->type)==QTYPE_NS) { 228 | //Give ns server. Basically can be whatever we want because it'll get resolved to our IP later anyway. 229 | rend=strToLabel(buff, rend, sizeof(reply)-(rend-reply)); //Add the label 230 | DnsResourceFooter *rf=(DnsResourceFooter *)rend; 231 | rend+=sizeof(DnsResourceFooter); 232 | setn16(&rf->type, QTYPE_NS); 233 | setn16(&rf->class, QCLASS_IN); 234 | setn16(&rf->ttl, 0); 235 | setn16(&rf->rdlength, 4); 236 | *rend++=2; 237 | *rend++='n'; 238 | *rend++='s'; 239 | *rend++=0; 240 | setn16(&rhdr->ancount, my_ntohs(&rhdr->ancount)+1); 241 | //printf("Added NS rec to resp. Resp len is %d\n", (rend-reply)); 242 | } else if (my_ntohs(&qf->type)==QTYPE_URI) { 243 | //Give uri to us 244 | rend=strToLabel(buff, rend, sizeof(reply)-(rend-reply)); //Add the label 245 | DnsResourceFooter *rf=(DnsResourceFooter *)rend; 246 | rend+=sizeof(DnsResourceFooter); 247 | DnsUriHdr *uh=(DnsUriHdr *)rend; 248 | rend+=sizeof(DnsUriHdr); 249 | setn16(&rf->type, QTYPE_URI); 250 | setn16(&rf->class, QCLASS_URI); 251 | setn16(&rf->ttl, 0); 252 | setn16(&rf->rdlength, 4+16); 253 | setn16(&uh->prio, 10); 254 | setn16(&uh->weight, 1); 255 | memcpy(rend, "http://esp.nonet", 16); 256 | rend+=16; 257 | setn16(&rhdr->ancount, my_ntohs(&rhdr->ancount)+1); 258 | //printf("Added NS rec to resp. Resp len is %d\n", (rend-reply)); 259 | } 260 | } 261 | //Send the response 262 | //printf("Send response\n"); 263 | sendto(sockFd,(uint8_t*)reply, rend-reply, 0, (struct sockaddr *)premote_addr, sizeof(struct sockaddr_in)); 264 | 265 | } 266 | 267 | static void captdnsTask(void *pvParameters) { 268 | struct sockaddr_in server_addr; 269 | uint32_t ret; 270 | struct sockaddr_in from; 271 | socklen_t fromlen; 272 | //struct tcpip_adapter_ip_info_t ipconfig; 273 | char udp_msg[DNS_LEN]; 274 | 275 | //memset(&ipconfig, 0, sizeof(ipconfig)); 276 | memset(&server_addr, 0, sizeof(server_addr)); 277 | server_addr.sin_family = AF_INET; 278 | server_addr.sin_addr.s_addr = INADDR_ANY; 279 | server_addr.sin_port = htons(53); 280 | server_addr.sin_len = sizeof(server_addr); 281 | 282 | do { 283 | sockFd=socket(AF_INET, SOCK_DGRAM, 0); 284 | if (sockFd==-1) { 285 | printf("captdns_task failed to create sock!\n"); 286 | vTaskDelay(1000/portTICK_RATE_MS); 287 | } 288 | } while (sockFd==-1); 289 | 290 | do { 291 | ret=bind(sockFd, (struct sockaddr *)&server_addr, sizeof(server_addr)); 292 | if (ret!=0) { 293 | printf("captdns_task failed to bind sock!\n"); 294 | vTaskDelay(1000/portTICK_RATE_MS); 295 | } 296 | } while (ret!=0); 297 | 298 | printf("CaptDNS inited.\n"); 299 | 300 | while(1) { 301 | memset(&from, 0, sizeof(from)); 302 | fromlen=sizeof(struct sockaddr_in); 303 | ret=recvfrom(sockFd, (uint8_t *)udp_msg, DNS_LEN, 0,(struct sockaddr *)&from,(socklen_t *)&fromlen); 304 | if (ret>0) captdnsRecv(&from,udp_msg,ret); 305 | } 306 | 307 | close(sockFd); 308 | vTaskDelete(NULL); 309 | } 310 | 311 | void captdnsInit(void) 312 | { 313 | xTaskCreate(captdnsTask, (const char *)"captdns_task", 10000, NULL, 3, NULL); 314 | } 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | -------------------------------------------------------------------------------- /main/captdns.h: -------------------------------------------------------------------------------- 1 | #ifndef CAPTDNS_H 2 | #define CAPTDNS_H 3 | void captdnsInit(void); 4 | 5 | #endif -------------------------------------------------------------------------------- /main/component.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Main component makefile. 3 | # 4 | # This Makefile can be left empty. By default, it will take the sources in the 5 | # src/ directory, compile them and link them into lib(subdirectory_name).a 6 | # in the build directory. This behaviour is entirely configurable, 7 | # please read the ESP-IDF documents if you need to do this. 8 | # 9 | 10 | 11 | COMPONENT_EMBED_TXTFILES := index.html 12 | -------------------------------------------------------------------------------- /main/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

Hello world, this is ESP32!

5 |

Feel free to click the button.

6 | 7 | 21 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /main/main.c: -------------------------------------------------------------------------------- 1 | /* 2 | * ---------------------------------------------------------------------------- 3 | * "THE BEER-WARE LICENSE" (Revision 42): Idea of Jeroen Domburg 4 | * 5 | * Cornelis wrote this file. As long as you retain 6 | * this notice you can do whatever you want with this stuff. If we meet some day, 7 | * and you think this stuff is worth it, you can buy me a beer in return. 8 | * ---------------------------------------------------------------------------- 9 | */ 10 | 11 | 12 | #include "freertos/FreeRTOS.h" 13 | #include "esp_wifi.h" 14 | #include "esp_wifi_types.h" 15 | #include "esp_system.h" 16 | #include "esp_event.h" 17 | #include "esp_event_loop.h" 18 | #include "nvs_flash.h" 19 | #include "driver/gpio.h" 20 | #include "freertos/portmacro.h" 21 | #include "freertos/event_groups.h" 22 | #include "esp_log.h" 23 | #include "tcpip_adapter.h" 24 | #include "lwip/sys.h" 25 | #include "lwip/netdb.h" 26 | #include "lwip/api.h" 27 | #include "lwip/err.h" 28 | #include "string.h" 29 | #include "cJSON.h" 30 | #include "lwip/dns.h" 31 | #include "captdns.h" 32 | 33 | #define LED_GPIO_PIN GPIO_NUM_4 34 | 35 | #define LED_BUILTIN 16 36 | #define delay(ms) (vTaskDelay(ms/portTICK_RATE_MS)) 37 | 38 | static esp_err_t event_handler(void *ctx, system_event_t *event); 39 | static void wifi_AP_init(void); 40 | static EventGroupHandle_t wifi_event_group; 41 | 42 | const int CONNECTED_BIT = BIT0; 43 | 44 | char* json_unformatted; 45 | 46 | /* 47 | const static char http_index_hml[] = "" 48 | "\n" 49 | "\n" 50 | " \n" 51 | " \n" 55 | "HELLO ESP32\n" 56 | "\n" 57 | "\n" 58 | "

Hello World, from ESP32!

\n" 59 | "\n" 60 | "\n"; 61 | */ 62 | 63 | const static char http_html_hdr[] = "HTTP/1.1 200 OK\r\nContent-type: text/html\r\n\r\n"; 64 | const uint8_t indexHtmlStart[] asm("_binary_index_html_start"); //uint8_t 65 | const uint8_t indexHtmlEnd[] asm("_binary_index_html_end"); //uint8_t 66 | 67 | static esp_err_t event_handler(void *ctx, system_event_t *event) 68 | { 69 | printf("Event = %04X\n", event->event_id); 70 | switch(event->event_id) { 71 | case SYSTEM_EVENT_STA_START: 72 | esp_wifi_connect(); 73 | break; 74 | case SYSTEM_EVENT_STA_GOT_IP: 75 | xEventGroupSetBits(wifi_event_group, CONNECTED_BIT); 76 | printf("got ip\n"); 77 | printf("ip: " IPSTR "\n", IP2STR(&event->event_info.got_ip.ip_info.ip)); 78 | printf("netmask: " IPSTR "\n", IP2STR(&event->event_info.got_ip.ip_info.netmask)); 79 | printf("gw: " IPSTR "\n", IP2STR(&event->event_info.got_ip.ip_info.gw)); 80 | printf("\n"); 81 | fflush(stdout); 82 | break; 83 | case SYSTEM_EVENT_STA_DISCONNECTED: 84 | /* This is a workaround as ESP32 WiFi libs don't currently 85 | auto-reassociate. */ 86 | esp_wifi_connect(); 87 | xEventGroupClearBits(wifi_event_group, CONNECTED_BIT); 88 | break; 89 | default: 90 | break; 91 | } 92 | return ESP_OK; 93 | } 94 | 95 | static void http_server_netconn_serve(struct netconn *conn) 96 | { 97 | struct netbuf *inbuf; 98 | char *buf; 99 | u16_t buflen; 100 | err_t err; 101 | 102 | /* Read the data from the port, blocking if nothing yet there. 103 | We assume the request (the part we care about) is in one netbuf */ 104 | err = netconn_recv(conn, &inbuf); 105 | 106 | if (err == ERR_OK) { 107 | netbuf_data(inbuf, (void**)&buf, &buflen); 108 | 109 | // strncpy(_mBuffer, buf, buflen); 110 | 111 | /* Is this an HTTP GET command? (only check the first 5 chars, since 112 | there are other formats for GET, and we're keeping it very simple )*/ 113 | printf("buffer = %s \n", buf); 114 | if (buflen>=5 && 115 | buf[0]=='G' && 116 | buf[1]=='E' && 117 | buf[2]=='T' && 118 | buf[3]==' ' && 119 | buf[4]=='/' ) { 120 | printf("buf[5] = %c\n", buf[5]); 121 | /* Send the HTML header 122 | * subtract 1 from the size, since we dont send the \0 in the string 123 | * NETCONN_NOCOPY: our data is const static, so no need to copy it 124 | */ 125 | 126 | netconn_write(conn, http_html_hdr, sizeof(http_html_hdr)-1, NETCONN_NOCOPY); 127 | 128 | if(buf[5]=='h') { 129 | gpio_set_level(LED_BUILTIN, 0); 130 | /* Send our HTML page */ 131 | //netconn_write(conn, http_index_hml, sizeof(http_index_hml)-1, NETCONN_NOCOPY); 132 | netconn_write(conn, indexHtmlStart, indexHtmlEnd-indexHtmlStart-1, NETCONN_NOCOPY); 133 | } 134 | else if(buf[5]=='l') { 135 | gpio_set_level(LED_BUILTIN, 1); 136 | /* Send our HTML page */ 137 | //netconn_write(conn, http_index_hml, sizeof(http_index_hml)-1, NETCONN_NOCOPY); 138 | netconn_write(conn, indexHtmlStart, indexHtmlEnd-indexHtmlStart-1, NETCONN_NOCOPY); 139 | 140 | } 141 | else if(buf[5]=='j') { 142 | netconn_write(conn, json_unformatted, strlen(json_unformatted), NETCONN_NOCOPY); 143 | } 144 | else { 145 | //netconn_write(conn, http_index_hml, sizeof(http_index_hml)-1, NETCONN_NOCOPY); 146 | netconn_write(conn, indexHtmlStart, indexHtmlEnd-indexHtmlStart-1, NETCONN_NOCOPY); 147 | 148 | } 149 | } 150 | 151 | } 152 | /* Close the connection (server closes in HTTP) */ 153 | netconn_close(conn); 154 | 155 | /* Delete the buffer (netconn_recv gives us ownership, 156 | so we have to make sure to deallocate the buffer) */ 157 | netbuf_delete(inbuf); 158 | } 159 | 160 | static void http_server(void *pvParameters) 161 | { 162 | struct netconn *conn, *newconn; 163 | err_t err; 164 | conn = netconn_new(NETCONN_TCP); 165 | netconn_bind(conn, NULL, 80); 166 | netconn_listen(conn); 167 | do { 168 | err = netconn_accept(conn, &newconn); 169 | if (err == ERR_OK) { 170 | http_server_netconn_serve(newconn); 171 | netconn_delete(newconn); 172 | } 173 | } while(err == ERR_OK); 174 | netconn_close(conn); 175 | netconn_delete(conn); 176 | } 177 | 178 | 179 | int app_main(void) 180 | { 181 | wifi_AP_init(); 182 | 183 | //ip_addr_t dns_addr; 184 | //IP_ADDR4(&dns_addr, 192,168,4,100); 185 | //dns_setserver(0, &dns_addr); 186 | //dns_init(); 187 | 188 | captdnsInit(); 189 | xTaskCreate(&http_server, "http_server", 2048, NULL, 5, NULL); 190 | return 0; 191 | } 192 | 193 | void wifi_AP_init(void) 194 | { 195 | 196 | nvs_flash_init(); 197 | tcpip_adapter_init(); 198 | 199 | //tcpip_adapter_dhcpc_stop(TCPIP_ADAPTER_IF_AP); 200 | 201 | //tcpip_adapter_ip_info_t ipInfo; 202 | //IP4_ADDR(&ipInfo.ip, 192,168,4,2); 203 | //IP4_ADDR(&ipInfo.gw, 192,168,4,1); 204 | //IP4_ADDR(&ipInfo.netmask, 255,255,255,0); 205 | //tcpip_adapter_set_ip_info(TCPIP_ADAPTER_IF_AP, &ipInfo); 206 | 207 | 208 | ESP_ERROR_CHECK( esp_event_loop_init(event_handler, NULL) ); 209 | 210 | wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); 211 | 212 | ESP_ERROR_CHECK( esp_wifi_init(&cfg) ); 213 | ESP_ERROR_CHECK( esp_wifi_set_storage(WIFI_STORAGE_RAM) ); 214 | ESP_ERROR_CHECK( esp_wifi_set_mode(WIFI_MODE_AP) ); // APSTA) ); 215 | 216 | /*wifi_config_t sta_config = { 217 | .sta = { 218 | .ssid = "SSID", 219 | .password = "PASSWORD", 220 | .bssid_set = false 221 | } 222 | }; 223 | ESP_ERROR_CHECK( esp_wifi_set_config(WIFI_IF_STA, &sta_config) ); 224 | */ 225 | wifi_config_t apConfig = { 226 | .ap = { 227 | .ssid="ESP32", 228 | .password="test", 229 | .ssid_len = 0, 230 | .channel = 6, 231 | .authmode = WIFI_AUTH_OPEN, 232 | .ssid_hidden = 0, 233 | .max_connection=4, 234 | .beacon_interval = 100 235 | } 236 | }; 237 | 238 | ESP_ERROR_CHECK( esp_wifi_set_config(WIFI_IF_AP, &apConfig) ); 239 | ESP_ERROR_CHECK( esp_wifi_start() ); 240 | 241 | 242 | 243 | } 244 | -------------------------------------------------------------------------------- /sdkconfig: -------------------------------------------------------------------------------- 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="esp32" 7 | CONFIG_IDF_TARGET_ESP32=y 8 | CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 9 | 10 | # 11 | # SDK tool configuration 12 | # 13 | CONFIG_SDK_TOOLPREFIX="xtensa-esp32-elf-" 14 | # CONFIG_SDK_TOOLCHAIN_SUPPORTS_TIME_WIDE_64_BITS is not set 15 | # end of SDK tool configuration 16 | 17 | # 18 | # Build type 19 | # 20 | CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y 21 | # CONFIG_APP_BUILD_TYPE_ELF_RAM is not set 22 | CONFIG_APP_BUILD_GENERATE_BINARIES=y 23 | CONFIG_APP_BUILD_BOOTLOADER=y 24 | CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y 25 | # end of Build type 26 | 27 | # 28 | # Application manager 29 | # 30 | CONFIG_APP_COMPILE_TIME_DATE=y 31 | # CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set 32 | # CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set 33 | # CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set 34 | CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16 35 | # end of Application manager 36 | 37 | # 38 | # Bootloader config 39 | # 40 | CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y 41 | # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set 42 | # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set 43 | # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set 44 | # CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set 45 | # CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set 46 | # CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set 47 | CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y 48 | # CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set 49 | # CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set 50 | CONFIG_BOOTLOADER_LOG_LEVEL=3 51 | # CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V is not set 52 | CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y 53 | # CONFIG_BOOTLOADER_FACTORY_RESET is not set 54 | # CONFIG_BOOTLOADER_APP_TEST is not set 55 | CONFIG_BOOTLOADER_WDT_ENABLE=y 56 | # CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set 57 | CONFIG_BOOTLOADER_WDT_TIME_MS=9000 58 | # CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set 59 | # CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set 60 | CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 61 | # CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set 62 | # end of Bootloader config 63 | 64 | # 65 | # Security features 66 | # 67 | # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set 68 | # CONFIG_SECURE_BOOT is not set 69 | # CONFIG_SECURE_FLASH_ENC_ENABLED is not set 70 | # end of Security features 71 | 72 | # 73 | # Serial flasher config 74 | # 75 | CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200 76 | CONFIG_ESPTOOLPY_WITH_STUB=y 77 | # CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set 78 | # CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set 79 | CONFIG_ESPTOOLPY_FLASHMODE_DIO=y 80 | # CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set 81 | CONFIG_ESPTOOLPY_FLASHMODE="dio" 82 | # CONFIG_ESPTOOLPY_FLASHFREQ_80M is not set 83 | CONFIG_ESPTOOLPY_FLASHFREQ_40M=y 84 | # CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set 85 | # CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set 86 | CONFIG_ESPTOOLPY_FLASHFREQ="40m" 87 | # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set 88 | CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y 89 | # CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set 90 | # CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set 91 | # CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set 92 | CONFIG_ESPTOOLPY_FLASHSIZE="2MB" 93 | CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y 94 | CONFIG_ESPTOOLPY_BEFORE_RESET=y 95 | # CONFIG_ESPTOOLPY_BEFORE_NORESET is not set 96 | CONFIG_ESPTOOLPY_BEFORE="default_reset" 97 | CONFIG_ESPTOOLPY_AFTER_RESET=y 98 | # CONFIG_ESPTOOLPY_AFTER_NORESET is not set 99 | CONFIG_ESPTOOLPY_AFTER="hard_reset" 100 | # CONFIG_ESPTOOLPY_MONITOR_BAUD_9600B is not set 101 | # CONFIG_ESPTOOLPY_MONITOR_BAUD_57600B is not set 102 | CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y 103 | # CONFIG_ESPTOOLPY_MONITOR_BAUD_230400B is not set 104 | # CONFIG_ESPTOOLPY_MONITOR_BAUD_921600B is not set 105 | # CONFIG_ESPTOOLPY_MONITOR_BAUD_2MB is not set 106 | # CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER is not set 107 | CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER_VAL=115200 108 | CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 109 | # end of Serial flasher config 110 | 111 | # 112 | # Partition Table 113 | # 114 | CONFIG_PARTITION_TABLE_SINGLE_APP=y 115 | # CONFIG_PARTITION_TABLE_TWO_OTA is not set 116 | # CONFIG_PARTITION_TABLE_CUSTOM is not set 117 | CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" 118 | CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv" 119 | CONFIG_PARTITION_TABLE_OFFSET=0x8000 120 | CONFIG_PARTITION_TABLE_MD5=y 121 | # end of Partition Table 122 | 123 | # 124 | # MY PROJECT configuration 125 | # 126 | CONFIG_MY_LED_ON_DEVBOARD_GPIO_NUM=13 127 | CONFIG_MY_LED_ON_DEVBOARD_WIRING_TYPE=1 128 | CONFIG_MY_GPS_UART_NUM=1 129 | CONFIG_MY_GPS_UART_RX_GPIO_NUM=23 130 | CONFIG_MY_GPS_UART_TX_GPIO_NUM=22 131 | # end of MY PROJECT configuration 132 | 133 | # 134 | # Compiler options 135 | # 136 | CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y 137 | # CONFIG_COMPILER_OPTIMIZATION_SIZE is not set 138 | # CONFIG_COMPILER_OPTIMIZATION_PERF is not set 139 | # CONFIG_COMPILER_OPTIMIZATION_NONE is not set 140 | CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y 141 | # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set 142 | # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set 143 | # CONFIG_COMPILER_CXX_EXCEPTIONS is not set 144 | # CONFIG_COMPILER_CXX_RTTI is not set 145 | CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y 146 | # CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set 147 | # CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set 148 | # CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set 149 | # CONFIG_COMPILER_WARN_WRITE_STRINGS is not set 150 | # CONFIG_COMPILER_DISABLE_GCC8_WARNINGS is not set 151 | # end of Compiler options 152 | 153 | # 154 | # Component config 155 | # 156 | 157 | # 158 | # Application Level Tracing 159 | # 160 | # CONFIG_APPTRACE_DEST_TRAX is not set 161 | CONFIG_APPTRACE_DEST_NONE=y 162 | CONFIG_APPTRACE_LOCK_ENABLE=y 163 | # end of Application Level Tracing 164 | 165 | # 166 | # Bluetooth 167 | # 168 | # CONFIG_BT_ENABLED is not set 169 | CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=0 170 | CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=0 171 | CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=0 172 | CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0 173 | CONFIG_BTDM_CTRL_PINNED_TO_CORE=0 174 | CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1 175 | CONFIG_BT_RESERVE_DRAM=0 176 | # end of Bluetooth 177 | 178 | # 179 | # CoAP Configuration 180 | # 181 | CONFIG_COAP_MBEDTLS_PSK=y 182 | # CONFIG_COAP_MBEDTLS_PKI is not set 183 | # CONFIG_COAP_MBEDTLS_DEBUG is not set 184 | CONFIG_COAP_LOG_DEFAULT_LEVEL=0 185 | # end of CoAP Configuration 186 | 187 | # 188 | # Driver configurations 189 | # 190 | 191 | # 192 | # ADC configuration 193 | # 194 | # CONFIG_ADC_FORCE_XPD_FSM is not set 195 | CONFIG_ADC_DISABLE_DAC=y 196 | # end of ADC configuration 197 | 198 | # 199 | # SPI configuration 200 | # 201 | # CONFIG_SPI_MASTER_IN_IRAM is not set 202 | CONFIG_SPI_MASTER_ISR_IN_IRAM=y 203 | # CONFIG_SPI_SLAVE_IN_IRAM is not set 204 | CONFIG_SPI_SLAVE_ISR_IN_IRAM=y 205 | # end of SPI configuration 206 | 207 | # 208 | # UART configuration 209 | # 210 | # CONFIG_UART_ISR_IN_IRAM is not set 211 | # end of UART configuration 212 | 213 | # 214 | # RTCIO configuration 215 | # 216 | # CONFIG_RTCIO_SUPPORT_RTC_GPIO_DESC is not set 217 | # end of RTCIO configuration 218 | # end of Driver configurations 219 | 220 | # 221 | # eFuse Bit Manager 222 | # 223 | # CONFIG_EFUSE_CUSTOM_TABLE is not set 224 | # CONFIG_EFUSE_VIRTUAL is not set 225 | # CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set 226 | CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y 227 | # CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set 228 | CONFIG_EFUSE_MAX_BLK_LEN=192 229 | # end of eFuse Bit Manager 230 | 231 | # 232 | # ESP-TLS 233 | # 234 | CONFIG_ESP_TLS_USING_MBEDTLS=y 235 | # CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set 236 | # CONFIG_ESP_TLS_SERVER is not set 237 | # CONFIG_ESP_TLS_PSK_VERIFICATION is not set 238 | # end of ESP-TLS 239 | 240 | # 241 | # ESP32-specific 242 | # 243 | CONFIG_ESP32_REV_MIN_0=y 244 | # CONFIG_ESP32_REV_MIN_1 is not set 245 | # CONFIG_ESP32_REV_MIN_2 is not set 246 | # CONFIG_ESP32_REV_MIN_3 is not set 247 | CONFIG_ESP32_REV_MIN=0 248 | CONFIG_ESP32_DPORT_WORKAROUND=y 249 | # CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set 250 | CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y 251 | # CONFIG_ESP32_DEFAULT_CPU_FREQ_240 is not set 252 | CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=160 253 | # CONFIG_ESP32_SPIRAM_SUPPORT is not set 254 | # CONFIG_ESP32_TRAX is not set 255 | CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 256 | # CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set 257 | CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y 258 | CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 259 | # CONFIG_ESP32_ULP_COPROC_ENABLED is not set 260 | CONFIG_ESP32_ULP_COPROC_RESERVE_MEM=0 261 | CONFIG_ESP32_DEBUG_OCDAWARE=y 262 | CONFIG_ESP32_BROWNOUT_DET=y 263 | CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0=y 264 | # CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set 265 | # CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set 266 | # CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set 267 | # CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4 is not set 268 | # CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set 269 | # CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set 270 | # CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set 271 | CONFIG_ESP32_BROWNOUT_DET_LVL=0 272 | CONFIG_ESP32_REDUCE_PHY_TX_POWER=y 273 | CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y 274 | # CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set 275 | # CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set 276 | # CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set 277 | CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y 278 | # CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set 279 | # CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set 280 | # CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set 281 | CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 282 | CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 283 | CONFIG_ESP32_XTAL_FREQ_40=y 284 | # CONFIG_ESP32_XTAL_FREQ_26 is not set 285 | # CONFIG_ESP32_XTAL_FREQ_AUTO is not set 286 | CONFIG_ESP32_XTAL_FREQ=40 287 | # CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set 288 | # CONFIG_ESP32_NO_BLOBS is not set 289 | # CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set 290 | # CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set 291 | CONFIG_ESP32_DPORT_DIS_INTERRUPT_LVL=5 292 | # end of ESP32-specific 293 | 294 | # 295 | # Power Management 296 | # 297 | # CONFIG_PM_ENABLE is not set 298 | # end of Power Management 299 | 300 | # 301 | # ADC-Calibration 302 | # 303 | CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y 304 | CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y 305 | CONFIG_ADC_CAL_LUT_ENABLE=y 306 | # end of ADC-Calibration 307 | 308 | # 309 | # Common ESP-related 310 | # 311 | CONFIG_ESP_ERR_TO_NAME_LOOKUP=y 312 | CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 313 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 314 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 315 | CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 316 | CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y 317 | CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 318 | CONFIG_ESP_CONSOLE_UART_DEFAULT=y 319 | # CONFIG_ESP_CONSOLE_UART_CUSTOM is not set 320 | # CONFIG_ESP_CONSOLE_UART_NONE is not set 321 | CONFIG_ESP_CONSOLE_UART_NUM=0 322 | CONFIG_ESP_CONSOLE_UART_TX_GPIO=1 323 | CONFIG_ESP_CONSOLE_UART_RX_GPIO=3 324 | CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 325 | CONFIG_ESP_INT_WDT=y 326 | CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 327 | CONFIG_ESP_INT_WDT_CHECK_CPU1=y 328 | CONFIG_ESP_TASK_WDT=y 329 | # CONFIG_ESP_TASK_WDT_PANIC is not set 330 | CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 331 | CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y 332 | CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y 333 | # CONFIG_ESP_PANIC_HANDLER_IRAM is not set 334 | CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y 335 | CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y 336 | CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y 337 | CONFIG_ESP_MAC_ADDR_UNIVERSE_BT_OFFSET=2 338 | CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y 339 | # end of Common ESP-related 340 | 341 | # 342 | # Ethernet 343 | # 344 | CONFIG_ETH_ENABLED=y 345 | CONFIG_ETH_USE_ESP32_EMAC=y 346 | CONFIG_ETH_PHY_INTERFACE_RMII=y 347 | # CONFIG_ETH_PHY_INTERFACE_MII is not set 348 | CONFIG_ETH_RMII_CLK_INPUT=y 349 | # CONFIG_ETH_RMII_CLK_OUTPUT is not set 350 | CONFIG_ETH_RMII_CLK_IN_GPIO=0 351 | CONFIG_ETH_DMA_BUFFER_SIZE=512 352 | CONFIG_ETH_DMA_RX_BUFFER_NUM=10 353 | CONFIG_ETH_DMA_TX_BUFFER_NUM=10 354 | CONFIG_ETH_USE_SPI_ETHERNET=y 355 | # CONFIG_ETH_SPI_ETHERNET_DM9051 is not set 356 | # CONFIG_ETH_USE_OPENETH is not set 357 | # end of Ethernet 358 | 359 | # 360 | # Event Loop Library 361 | # 362 | # CONFIG_ESP_EVENT_LOOP_PROFILING is not set 363 | CONFIG_ESP_EVENT_POST_FROM_ISR=y 364 | CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y 365 | # end of Event Loop Library 366 | 367 | # 368 | # GDB Stub 369 | # 370 | # end of GDB Stub 371 | 372 | # 373 | # ESP HTTP client 374 | # 375 | CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y 376 | # CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set 377 | # end of ESP HTTP client 378 | 379 | # 380 | # HTTP Server 381 | # 382 | CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 383 | CONFIG_HTTPD_MAX_URI_LEN=512 384 | CONFIG_HTTPD_ERR_RESP_NO_DELAY=y 385 | CONFIG_HTTPD_PURGE_BUF_LEN=32 386 | # CONFIG_HTTPD_LOG_PURGE_DATA is not set 387 | # CONFIG_HTTPD_WS_SUPPORT is not set 388 | # end of HTTP Server 389 | 390 | # 391 | # ESP HTTPS OTA 392 | # 393 | # CONFIG_OTA_ALLOW_HTTP is not set 394 | # end of ESP HTTPS OTA 395 | 396 | # 397 | # ESP HTTPS server 398 | # 399 | # CONFIG_ESP_HTTPS_SERVER_ENABLE is not set 400 | # end of ESP HTTPS server 401 | 402 | # 403 | # ESP NETIF Adapter 404 | # 405 | CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 406 | CONFIG_ESP_NETIF_TCPIP_LWIP=y 407 | # CONFIG_ESP_NETIF_LOOPBACK is not set 408 | CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y 409 | # end of ESP NETIF Adapter 410 | 411 | # 412 | # ESP System Settings 413 | # 414 | # CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set 415 | CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y 416 | # CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set 417 | # CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set 418 | # end of ESP System Settings 419 | 420 | # 421 | # High resolution timer (esp_timer) 422 | # 423 | # CONFIG_ESP_TIMER_PROFILING is not set 424 | CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 425 | # CONFIG_ESP_TIMER_IMPL_FRC2 is not set 426 | CONFIG_ESP_TIMER_IMPL_TG0_LAC=y 427 | # end of High resolution timer (esp_timer) 428 | 429 | # 430 | # Wi-Fi 431 | # 432 | CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 433 | CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 434 | # CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set 435 | CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y 436 | CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 437 | CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 438 | # CONFIG_ESP32_WIFI_CSI_ENABLED is not set 439 | CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y 440 | CONFIG_ESP32_WIFI_TX_BA_WIN=6 441 | CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y 442 | CONFIG_ESP32_WIFI_RX_BA_WIN=6 443 | CONFIG_ESP32_WIFI_NVS_ENABLED=y 444 | CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y 445 | # CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set 446 | CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 447 | CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 448 | # CONFIG_ESP32_WIFI_DEBUG_LOG_ENABLE is not set 449 | CONFIG_ESP32_WIFI_IRAM_OPT=y 450 | CONFIG_ESP32_WIFI_RX_IRAM_OPT=y 451 | CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y 452 | # end of Wi-Fi 453 | 454 | # 455 | # PHY 456 | # 457 | CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y 458 | # CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set 459 | CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 460 | CONFIG_ESP32_PHY_MAX_TX_POWER=20 461 | # end of PHY 462 | 463 | # 464 | # Core dump 465 | # 466 | # CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set 467 | # CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set 468 | CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y 469 | # end of Core dump 470 | 471 | # 472 | # FAT Filesystem support 473 | # 474 | # CONFIG_FATFS_CODEPAGE_DYNAMIC is not set 475 | CONFIG_FATFS_CODEPAGE_437=y 476 | # CONFIG_FATFS_CODEPAGE_720 is not set 477 | # CONFIG_FATFS_CODEPAGE_737 is not set 478 | # CONFIG_FATFS_CODEPAGE_771 is not set 479 | # CONFIG_FATFS_CODEPAGE_775 is not set 480 | # CONFIG_FATFS_CODEPAGE_850 is not set 481 | # CONFIG_FATFS_CODEPAGE_852 is not set 482 | # CONFIG_FATFS_CODEPAGE_855 is not set 483 | # CONFIG_FATFS_CODEPAGE_857 is not set 484 | # CONFIG_FATFS_CODEPAGE_860 is not set 485 | # CONFIG_FATFS_CODEPAGE_861 is not set 486 | # CONFIG_FATFS_CODEPAGE_862 is not set 487 | # CONFIG_FATFS_CODEPAGE_863 is not set 488 | # CONFIG_FATFS_CODEPAGE_864 is not set 489 | # CONFIG_FATFS_CODEPAGE_865 is not set 490 | # CONFIG_FATFS_CODEPAGE_866 is not set 491 | # CONFIG_FATFS_CODEPAGE_869 is not set 492 | # CONFIG_FATFS_CODEPAGE_932 is not set 493 | # CONFIG_FATFS_CODEPAGE_936 is not set 494 | # CONFIG_FATFS_CODEPAGE_949 is not set 495 | # CONFIG_FATFS_CODEPAGE_950 is not set 496 | CONFIG_FATFS_CODEPAGE=437 497 | CONFIG_FATFS_LFN_NONE=y 498 | # CONFIG_FATFS_LFN_HEAP is not set 499 | # CONFIG_FATFS_LFN_STACK is not set 500 | CONFIG_FATFS_FS_LOCK=0 501 | CONFIG_FATFS_TIMEOUT_MS=10000 502 | CONFIG_FATFS_PER_FILE_CACHE=y 503 | # end of FAT Filesystem support 504 | 505 | # 506 | # Modbus configuration 507 | # 508 | CONFIG_FMB_COMM_MODE_RTU_EN=y 509 | CONFIG_FMB_COMM_MODE_ASCII_EN=y 510 | CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=150 511 | CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200 512 | CONFIG_FMB_QUEUE_LENGTH=20 513 | CONFIG_FMB_SERIAL_TASK_STACK_SIZE=2048 514 | CONFIG_FMB_SERIAL_BUF_SIZE=256 515 | CONFIG_FMB_SERIAL_ASCII_BITS_PER_SYMB=8 516 | CONFIG_FMB_SERIAL_ASCII_TIMEOUT_RESPOND_MS=1000 517 | CONFIG_FMB_SERIAL_TASK_PRIO=10 518 | # CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT is not set 519 | CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20 520 | CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 521 | CONFIG_FMB_CONTROLLER_STACK_SIZE=4096 522 | CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20 523 | CONFIG_FMB_TIMER_PORT_ENABLED=y 524 | CONFIG_FMB_TIMER_GROUP=0 525 | CONFIG_FMB_TIMER_INDEX=0 526 | # CONFIG_FMB_TIMER_ISR_IN_IRAM is not set 527 | # end of Modbus configuration 528 | 529 | # 530 | # FreeRTOS 531 | # 532 | # CONFIG_FREERTOS_UNICORE is not set 533 | CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF 534 | CONFIG_FREERTOS_CORETIMER_0=y 535 | # CONFIG_FREERTOS_CORETIMER_1 is not set 536 | CONFIG_FREERTOS_HZ=100 537 | CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y 538 | # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set 539 | # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set 540 | CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y 541 | # CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set 542 | CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y 543 | CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 544 | CONFIG_FREERTOS_ASSERT_FAIL_ABORT=y 545 | # CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE is not set 546 | # CONFIG_FREERTOS_ASSERT_DISABLE is not set 547 | CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 548 | CONFIG_FREERTOS_ISR_STACKSIZE=1536 549 | # CONFIG_FREERTOS_LEGACY_HOOKS is not set 550 | CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 551 | # CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION is not set 552 | CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 553 | CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 554 | CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 555 | CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 556 | # CONFIG_FREERTOS_USE_TRACE_FACILITY is not set 557 | # CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set 558 | CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y 559 | CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y 560 | # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set 561 | CONFIG_FREERTOS_DEBUG_OCDAWARE=y 562 | # CONFIG_FREERTOS_FPU_IN_ISR is not set 563 | # end of FreeRTOS 564 | 565 | # 566 | # Heap memory debugging 567 | # 568 | CONFIG_HEAP_POISONING_DISABLED=y 569 | # CONFIG_HEAP_POISONING_LIGHT is not set 570 | # CONFIG_HEAP_POISONING_COMPREHENSIVE is not set 571 | CONFIG_HEAP_TRACING_OFF=y 572 | # CONFIG_HEAP_TRACING_STANDALONE is not set 573 | # CONFIG_HEAP_TRACING_TOHOST is not set 574 | # CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set 575 | # end of Heap memory debugging 576 | 577 | # 578 | # jsmn 579 | # 580 | # CONFIG_JSMN_PARENT_LINKS is not set 581 | # CONFIG_JSMN_STRICT is not set 582 | # end of jsmn 583 | 584 | # 585 | # libsodium 586 | # 587 | # end of libsodium 588 | 589 | # 590 | # Log output 591 | # 592 | # CONFIG_LOG_DEFAULT_LEVEL_NONE is not set 593 | # CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set 594 | # CONFIG_LOG_DEFAULT_LEVEL_WARN is not set 595 | CONFIG_LOG_DEFAULT_LEVEL_INFO=y 596 | # CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set 597 | # CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set 598 | CONFIG_LOG_DEFAULT_LEVEL=3 599 | CONFIG_LOG_COLORS=y 600 | CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y 601 | # CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set 602 | # end of Log output 603 | 604 | # 605 | # LWIP 606 | # 607 | CONFIG_LWIP_LOCAL_HOSTNAME="espressif" 608 | CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y 609 | # CONFIG_LWIP_L2_TO_L3_COPY is not set 610 | # CONFIG_LWIP_IRAM_OPTIMIZATION is not set 611 | CONFIG_LWIP_TIMERS_ONDEMAND=y 612 | CONFIG_LWIP_MAX_SOCKETS=10 613 | # CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set 614 | # CONFIG_LWIP_SO_LINGER is not set 615 | CONFIG_LWIP_SO_REUSE=y 616 | CONFIG_LWIP_SO_REUSE_RXTOALL=y 617 | # CONFIG_LWIP_SO_RCVBUF is not set 618 | # CONFIG_LWIP_NETBUF_RECVINFO is not set 619 | CONFIG_LWIP_IP_FRAG=y 620 | # CONFIG_LWIP_IP_REASSEMBLY is not set 621 | # CONFIG_LWIP_IP_FORWARD is not set 622 | # CONFIG_LWIP_STATS is not set 623 | # CONFIG_LWIP_ETHARP_TRUST_IP_MAC is not set 624 | CONFIG_LWIP_ESP_GRATUITOUS_ARP=y 625 | CONFIG_LWIP_GARP_TMR_INTERVAL=60 626 | CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 627 | CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y 628 | # CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set 629 | 630 | # 631 | # DHCP server 632 | # 633 | CONFIG_LWIP_DHCPS_LEASE_UNIT=60 634 | CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 635 | # end of DHCP server 636 | 637 | # CONFIG_LWIP_AUTOIP is not set 638 | # CONFIG_LWIP_IPV6_AUTOCONFIG is not set 639 | CONFIG_LWIP_NETIF_LOOPBACK=y 640 | CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 641 | 642 | # 643 | # TCP 644 | # 645 | CONFIG_LWIP_MAX_ACTIVE_TCP=16 646 | CONFIG_LWIP_MAX_LISTENING_TCP=16 647 | CONFIG_LWIP_TCP_MAXRTX=12 648 | CONFIG_LWIP_TCP_SYNMAXRTX=6 649 | CONFIG_LWIP_TCP_MSS=1440 650 | CONFIG_LWIP_TCP_TMR_INTERVAL=250 651 | CONFIG_LWIP_TCP_MSL=60000 652 | CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5744 653 | CONFIG_LWIP_TCP_WND_DEFAULT=5744 654 | CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 655 | CONFIG_LWIP_TCP_QUEUE_OOSEQ=y 656 | # CONFIG_LWIP_TCP_SACK_OUT is not set 657 | # CONFIG_LWIP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set 658 | CONFIG_LWIP_TCP_OVERSIZE_MSS=y 659 | # CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set 660 | # CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set 661 | # end of TCP 662 | 663 | # 664 | # UDP 665 | # 666 | CONFIG_LWIP_MAX_UDP_PCBS=16 667 | CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 668 | # end of UDP 669 | 670 | CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 671 | CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y 672 | # CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set 673 | # CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set 674 | CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF 675 | # CONFIG_LWIP_PPP_SUPPORT is not set 676 | 677 | # 678 | # ICMP 679 | # 680 | # CONFIG_LWIP_MULTICAST_PING is not set 681 | # CONFIG_LWIP_BROADCAST_PING is not set 682 | # end of ICMP 683 | 684 | # 685 | # LWIP RAW API 686 | # 687 | CONFIG_LWIP_MAX_RAW_PCBS=16 688 | # end of LWIP RAW API 689 | 690 | # 691 | # SNTP 692 | # 693 | CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1 694 | CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 695 | # end of SNTP 696 | 697 | CONFIG_LWIP_ESP_LWIP_ASSERT=y 698 | # end of LWIP 699 | 700 | # 701 | # mbedTLS 702 | # 703 | CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y 704 | # CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set 705 | # CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set 706 | CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y 707 | CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 708 | CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 709 | # CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set 710 | # CONFIG_MBEDTLS_DEBUG is not set 711 | 712 | # 713 | # Certificate Bundle 714 | # 715 | CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y 716 | CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y 717 | # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set 718 | # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set 719 | # CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set 720 | # end of Certificate Bundle 721 | 722 | # CONFIG_MBEDTLS_ECP_RESTARTABLE is not set 723 | # CONFIG_MBEDTLS_CMAC_C is not set 724 | CONFIG_MBEDTLS_HARDWARE_AES=y 725 | CONFIG_MBEDTLS_HARDWARE_MPI=y 726 | CONFIG_MBEDTLS_HARDWARE_SHA=y 727 | # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set 728 | # CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set 729 | CONFIG_MBEDTLS_HAVE_TIME=y 730 | # CONFIG_MBEDTLS_HAVE_TIME_DATE is not set 731 | CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y 732 | CONFIG_MBEDTLS_SHA512_C=y 733 | CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y 734 | # CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set 735 | # CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set 736 | # CONFIG_MBEDTLS_TLS_DISABLED is not set 737 | CONFIG_MBEDTLS_TLS_SERVER=y 738 | CONFIG_MBEDTLS_TLS_CLIENT=y 739 | CONFIG_MBEDTLS_TLS_ENABLED=y 740 | 741 | # 742 | # TLS Key Exchange Methods 743 | # 744 | # CONFIG_MBEDTLS_PSK_MODES is not set 745 | CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y 746 | CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y 747 | CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y 748 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y 749 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y 750 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y 751 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y 752 | # end of TLS Key Exchange Methods 753 | 754 | CONFIG_MBEDTLS_SSL_RENEGOTIATION=y 755 | # CONFIG_MBEDTLS_SSL_PROTO_SSL3 is not set 756 | CONFIG_MBEDTLS_SSL_PROTO_TLS1=y 757 | CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y 758 | CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y 759 | # CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set 760 | CONFIG_MBEDTLS_SSL_ALPN=y 761 | CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y 762 | CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y 763 | 764 | # 765 | # Symmetric Ciphers 766 | # 767 | CONFIG_MBEDTLS_AES_C=y 768 | # CONFIG_MBEDTLS_CAMELLIA_C is not set 769 | # CONFIG_MBEDTLS_DES_C is not set 770 | CONFIG_MBEDTLS_RC4_DISABLED=y 771 | # CONFIG_MBEDTLS_RC4_ENABLED_NO_DEFAULT is not set 772 | # CONFIG_MBEDTLS_RC4_ENABLED is not set 773 | # CONFIG_MBEDTLS_BLOWFISH_C is not set 774 | # CONFIG_MBEDTLS_XTEA_C is not set 775 | CONFIG_MBEDTLS_CCM_C=y 776 | CONFIG_MBEDTLS_GCM_C=y 777 | # end of Symmetric Ciphers 778 | 779 | # CONFIG_MBEDTLS_RIPEMD160_C is not set 780 | 781 | # 782 | # Certificates 783 | # 784 | CONFIG_MBEDTLS_PEM_PARSE_C=y 785 | CONFIG_MBEDTLS_PEM_WRITE_C=y 786 | CONFIG_MBEDTLS_X509_CRL_PARSE_C=y 787 | CONFIG_MBEDTLS_X509_CSR_PARSE_C=y 788 | # end of Certificates 789 | 790 | CONFIG_MBEDTLS_ECP_C=y 791 | CONFIG_MBEDTLS_ECDH_C=y 792 | CONFIG_MBEDTLS_ECDSA_C=y 793 | # CONFIG_MBEDTLS_ECJPAKE_C is not set 794 | CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y 795 | CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y 796 | CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y 797 | CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y 798 | CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y 799 | CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y 800 | CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y 801 | CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y 802 | CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y 803 | CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y 804 | CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y 805 | CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y 806 | CONFIG_MBEDTLS_ECP_NIST_OPTIM=y 807 | # CONFIG_MBEDTLS_POLY1305_C is not set 808 | # CONFIG_MBEDTLS_CHACHA20_C is not set 809 | # CONFIG_MBEDTLS_HKDF_C is not set 810 | # CONFIG_MBEDTLS_THREADING_C is not set 811 | # CONFIG_MBEDTLS_SECURITY_RISKS is not set 812 | # end of mbedTLS 813 | 814 | # 815 | # mDNS 816 | # 817 | CONFIG_MDNS_MAX_SERVICES=10 818 | CONFIG_MDNS_TASK_PRIORITY=1 819 | CONFIG_MDNS_TASK_STACK_SIZE=4096 820 | # CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set 821 | CONFIG_MDNS_TASK_AFFINITY_CPU0=y 822 | # CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set 823 | CONFIG_MDNS_TASK_AFFINITY=0x0 824 | CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000 825 | CONFIG_MDNS_TIMER_PERIOD_MS=100 826 | # end of mDNS 827 | 828 | # 829 | # ESP-MQTT Configurations 830 | # 831 | CONFIG_MQTT_PROTOCOL_311=y 832 | CONFIG_MQTT_TRANSPORT_SSL=y 833 | CONFIG_MQTT_TRANSPORT_WEBSOCKET=y 834 | CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y 835 | # CONFIG_MQTT_USE_CUSTOM_CONFIG is not set 836 | # CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set 837 | # CONFIG_MQTT_CUSTOM_OUTBOX is not set 838 | # end of ESP-MQTT Configurations 839 | 840 | # 841 | # Newlib 842 | # 843 | CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y 844 | # CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set 845 | # CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set 846 | # CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set 847 | # CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set 848 | CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y 849 | # CONFIG_NEWLIB_NANO_FORMAT is not set 850 | # end of Newlib 851 | 852 | # 853 | # NVS 854 | # 855 | # end of NVS 856 | 857 | # 858 | # OpenSSL 859 | # 860 | # CONFIG_OPENSSL_DEBUG is not set 861 | # CONFIG_OPENSSL_ASSERT_DO_NOTHING is not set 862 | CONFIG_OPENSSL_ASSERT_EXIT=y 863 | # end of OpenSSL 864 | 865 | # 866 | # PThreads 867 | # 868 | CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 869 | CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 870 | CONFIG_PTHREAD_STACK_MIN=768 871 | CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y 872 | # CONFIG_PTHREAD_DEFAULT_CORE_0 is not set 873 | # CONFIG_PTHREAD_DEFAULT_CORE_1 is not set 874 | CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 875 | CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" 876 | # end of PThreads 877 | 878 | # 879 | # SPI Flash driver 880 | # 881 | # CONFIG_SPI_FLASH_VERIFY_WRITE is not set 882 | # CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set 883 | CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y 884 | CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y 885 | # CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set 886 | # CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set 887 | # CONFIG_SPI_FLASH_USE_LEGACY_IMPL is not set 888 | # CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set 889 | # CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set 890 | CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y 891 | CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 892 | CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 893 | 894 | # 895 | # Auto-detect flash chips 896 | # 897 | CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y 898 | CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y 899 | CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y 900 | # end of Auto-detect flash chips 901 | # end of SPI Flash driver 902 | 903 | # 904 | # SPIFFS Configuration 905 | # 906 | CONFIG_SPIFFS_MAX_PARTITIONS=3 907 | 908 | # 909 | # SPIFFS Cache Configuration 910 | # 911 | CONFIG_SPIFFS_CACHE=y 912 | CONFIG_SPIFFS_CACHE_WR=y 913 | # CONFIG_SPIFFS_CACHE_STATS is not set 914 | # end of SPIFFS Cache Configuration 915 | 916 | CONFIG_SPIFFS_PAGE_CHECK=y 917 | CONFIG_SPIFFS_GC_MAX_RUNS=10 918 | # CONFIG_SPIFFS_GC_STATS is not set 919 | CONFIG_SPIFFS_PAGE_SIZE=256 920 | CONFIG_SPIFFS_OBJ_NAME_LEN=32 921 | # CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set 922 | CONFIG_SPIFFS_USE_MAGIC=y 923 | CONFIG_SPIFFS_USE_MAGIC_LENGTH=y 924 | CONFIG_SPIFFS_META_LENGTH=4 925 | CONFIG_SPIFFS_USE_MTIME=y 926 | 927 | # 928 | # Debug Configuration 929 | # 930 | # CONFIG_SPIFFS_DBG is not set 931 | # CONFIG_SPIFFS_API_DBG is not set 932 | # CONFIG_SPIFFS_GC_DBG is not set 933 | # CONFIG_SPIFFS_CACHE_DBG is not set 934 | # CONFIG_SPIFFS_CHECK_DBG is not set 935 | # CONFIG_SPIFFS_TEST_VISUALISATION is not set 936 | # end of Debug Configuration 937 | # end of SPIFFS Configuration 938 | 939 | # 940 | # TinyUSB 941 | # 942 | 943 | # 944 | # Descriptor configuration 945 | # 946 | CONFIG_USB_DESC_CUSTOM_VID=0x1234 947 | CONFIG_USB_DESC_CUSTOM_PID=0x5678 948 | # end of Descriptor configuration 949 | # end of TinyUSB 950 | 951 | # 952 | # Unity unit testing library 953 | # 954 | CONFIG_UNITY_ENABLE_FLOAT=y 955 | CONFIG_UNITY_ENABLE_DOUBLE=y 956 | # CONFIG_UNITY_ENABLE_COLOR is not set 957 | CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y 958 | # CONFIG_UNITY_ENABLE_FIXTURE is not set 959 | # CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set 960 | # end of Unity unit testing library 961 | 962 | # 963 | # Virtual file system 964 | # 965 | CONFIG_VFS_SUPPORT_IO=y 966 | CONFIG_VFS_SUPPORT_DIR=y 967 | CONFIG_VFS_SUPPORT_SELECT=y 968 | CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y 969 | CONFIG_VFS_SUPPORT_TERMIOS=y 970 | 971 | # 972 | # Host File System I/O (Semihosting) 973 | # 974 | CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 975 | CONFIG_VFS_SEMIHOSTFS_HOST_PATH_MAX_LEN=128 976 | # end of Host File System I/O (Semihosting) 977 | # end of Virtual file system 978 | 979 | # 980 | # Wear Levelling 981 | # 982 | # CONFIG_WL_SECTOR_SIZE_512 is not set 983 | CONFIG_WL_SECTOR_SIZE_4096=y 984 | CONFIG_WL_SECTOR_SIZE=4096 985 | # end of Wear Levelling 986 | 987 | # 988 | # Wi-Fi Provisioning Manager 989 | # 990 | CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 991 | CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 992 | # end of Wi-Fi Provisioning Manager 993 | 994 | # 995 | # Supplicant 996 | # 997 | CONFIG_WPA_MBEDTLS_CRYPTO=y 998 | # CONFIG_WPA_DEBUG_PRINT is not set 999 | # CONFIG_WPA_TESTING_OPTIONS is not set 1000 | # CONFIG_WPA_TLS_V12 is not set 1001 | # CONFIG_WPA_WPS_WARS is not set 1002 | # end of Supplicant 1003 | # end of Component config 1004 | 1005 | # 1006 | # Compatibility options 1007 | # 1008 | # CONFIG_LEGACY_INCLUDE_COMMON_HEADERS is not set 1009 | # end of Compatibility options 1010 | 1011 | # Deprecated options for backward compatibility 1012 | CONFIG_TOOLPREFIX="xtensa-esp32-elf-" 1013 | # CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set 1014 | # CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set 1015 | # CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set 1016 | CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y 1017 | # CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set 1018 | # CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set 1019 | CONFIG_LOG_BOOTLOADER_LEVEL=3 1020 | # CONFIG_APP_ROLLBACK_ENABLE is not set 1021 | # CONFIG_FLASH_ENCRYPTION_ENABLED is not set 1022 | # CONFIG_FLASHMODE_QIO is not set 1023 | # CONFIG_FLASHMODE_QOUT is not set 1024 | CONFIG_FLASHMODE_DIO=y 1025 | # CONFIG_FLASHMODE_DOUT is not set 1026 | # CONFIG_MONITOR_BAUD_9600B is not set 1027 | # CONFIG_MONITOR_BAUD_57600B is not set 1028 | CONFIG_MONITOR_BAUD_115200B=y 1029 | # CONFIG_MONITOR_BAUD_230400B is not set 1030 | # CONFIG_MONITOR_BAUD_921600B is not set 1031 | # CONFIG_MONITOR_BAUD_2MB is not set 1032 | # CONFIG_MONITOR_BAUD_OTHER is not set 1033 | CONFIG_MONITOR_BAUD_OTHER_VAL=115200 1034 | CONFIG_MONITOR_BAUD=115200 1035 | CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y 1036 | # CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set 1037 | CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y 1038 | # CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set 1039 | # CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set 1040 | # CONFIG_CXX_EXCEPTIONS is not set 1041 | CONFIG_STACK_CHECK_NONE=y 1042 | # CONFIG_STACK_CHECK_NORM is not set 1043 | # CONFIG_STACK_CHECK_STRONG is not set 1044 | # CONFIG_STACK_CHECK_ALL is not set 1045 | # CONFIG_WARN_WRITE_STRINGS is not set 1046 | # CONFIG_DISABLE_GCC8_WARNINGS is not set 1047 | # CONFIG_ESP32_APPTRACE_DEST_TRAX is not set 1048 | CONFIG_ESP32_APPTRACE_DEST_NONE=y 1049 | CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y 1050 | CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=0 1051 | CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0 1052 | CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0 1053 | CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0 1054 | CONFIG_ADC2_DISABLE_DAC=y 1055 | # CONFIG_SPIRAM_SUPPORT is not set 1056 | CONFIG_TRACEMEM_RESERVE_DRAM=0x0 1057 | # CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set 1058 | CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y 1059 | CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 1060 | # CONFIG_ULP_COPROC_ENABLED is not set 1061 | CONFIG_ULP_COPROC_RESERVE_MEM=0 1062 | CONFIG_BROWNOUT_DET=y 1063 | CONFIG_BROWNOUT_DET_LVL_SEL_0=y 1064 | # CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set 1065 | # CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set 1066 | # CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set 1067 | # CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set 1068 | # CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set 1069 | # CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set 1070 | # CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set 1071 | CONFIG_BROWNOUT_DET_LVL=0 1072 | CONFIG_REDUCE_PHY_TX_POWER=y 1073 | CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y 1074 | # CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set 1075 | # CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set 1076 | # CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set 1077 | # CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set 1078 | # CONFIG_NO_BLOBS is not set 1079 | # CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set 1080 | CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 1081 | CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 1082 | CONFIG_MAIN_TASK_STACK_SIZE=3584 1083 | CONFIG_IPC_TASK_STACK_SIZE=1024 1084 | CONFIG_CONSOLE_UART_DEFAULT=y 1085 | # CONFIG_CONSOLE_UART_CUSTOM is not set 1086 | # CONFIG_CONSOLE_UART_NONE is not set 1087 | CONFIG_CONSOLE_UART_NUM=0 1088 | CONFIG_CONSOLE_UART_TX_GPIO=1 1089 | CONFIG_CONSOLE_UART_RX_GPIO=3 1090 | CONFIG_CONSOLE_UART_BAUDRATE=115200 1091 | CONFIG_INT_WDT=y 1092 | CONFIG_INT_WDT_TIMEOUT_MS=300 1093 | CONFIG_INT_WDT_CHECK_CPU1=y 1094 | CONFIG_TASK_WDT=y 1095 | # CONFIG_TASK_WDT_PANIC is not set 1096 | CONFIG_TASK_WDT_TIMEOUT_S=5 1097 | CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y 1098 | CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y 1099 | # CONFIG_EVENT_LOOP_PROFILING is not set 1100 | CONFIG_POST_EVENTS_FROM_ISR=y 1101 | CONFIG_POST_EVENTS_FROM_IRAM_ISR=y 1102 | # CONFIG_ESP32S2_PANIC_PRINT_HALT is not set 1103 | CONFIG_ESP32S2_PANIC_PRINT_REBOOT=y 1104 | # CONFIG_ESP32S2_PANIC_SILENT_REBOOT is not set 1105 | # CONFIG_ESP32S2_PANIC_GDBSTUB is not set 1106 | CONFIG_TIMER_TASK_STACK_SIZE=3584 1107 | CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND=150 1108 | CONFIG_MB_MASTER_DELAY_MS_CONVERT=200 1109 | CONFIG_MB_QUEUE_LENGTH=20 1110 | CONFIG_MB_SERIAL_TASK_STACK_SIZE=2048 1111 | CONFIG_MB_SERIAL_BUF_SIZE=256 1112 | CONFIG_MB_SERIAL_TASK_PRIO=10 1113 | # CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT is not set 1114 | CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20 1115 | CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 1116 | CONFIG_MB_CONTROLLER_STACK_SIZE=4096 1117 | CONFIG_MB_EVENT_QUEUE_TIMEOUT=20 1118 | CONFIG_MB_TIMER_PORT_ENABLED=y 1119 | CONFIG_MB_TIMER_GROUP=0 1120 | CONFIG_MB_TIMER_INDEX=0 1121 | # CONFIG_SUPPORT_STATIC_ALLOCATION is not set 1122 | CONFIG_TIMER_TASK_PRIORITY=1 1123 | CONFIG_TIMER_TASK_STACK_DEPTH=2048 1124 | CONFIG_TIMER_QUEUE_LENGTH=10 1125 | # CONFIG_L2_TO_L3_COPY is not set 1126 | # CONFIG_USE_ONLY_LWIP_SELECT is not set 1127 | CONFIG_ESP_GRATUITOUS_ARP=y 1128 | CONFIG_GARP_TMR_INTERVAL=60 1129 | CONFIG_TCPIP_RECVMBOX_SIZE=32 1130 | CONFIG_TCP_MAXRTX=12 1131 | CONFIG_TCP_SYNMAXRTX=6 1132 | CONFIG_TCP_MSS=1440 1133 | CONFIG_TCP_MSL=60000 1134 | CONFIG_TCP_SND_BUF_DEFAULT=5744 1135 | CONFIG_TCP_WND_DEFAULT=5744 1136 | CONFIG_TCP_RECVMBOX_SIZE=6 1137 | CONFIG_TCP_QUEUE_OOSEQ=y 1138 | # CONFIG_ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set 1139 | CONFIG_TCP_OVERSIZE_MSS=y 1140 | # CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set 1141 | # CONFIG_TCP_OVERSIZE_DISABLE is not set 1142 | CONFIG_UDP_RECVMBOX_SIZE=6 1143 | CONFIG_TCPIP_TASK_STACK_SIZE=3072 1144 | CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y 1145 | # CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set 1146 | # CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set 1147 | CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF 1148 | # CONFIG_PPP_SUPPORT is not set 1149 | CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 1150 | CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 1151 | CONFIG_ESP32_PTHREAD_STACK_MIN=768 1152 | CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y 1153 | # CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set 1154 | # CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set 1155 | CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 1156 | CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" 1157 | CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y 1158 | # CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set 1159 | # CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set 1160 | CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y 1161 | CONFIG_SUPPORT_TERMIOS=y 1162 | CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 1163 | CONFIG_SEMIHOSTFS_HOST_PATH_MAX_LEN=128 1164 | # End of deprecated options 1165 | --------------------------------------------------------------------------------