Ondřej Hruška 1 year ago
commit
97d050bdd6
Signed by: Ondřej Hruška <ondra@ondrovo.com> GPG key ID: 2C5FD5035250423D
10 changed files with 1144 additions and 0 deletions
  1. 4 0
      .gitignore
  2. 10 0
      CMakeLists.txt
  3. 9 0
      Makefile
  4. 5 0
      README.md
  5. 4 0
      main/CMakeLists.txt
  6. 5 0
      main/component.mk
  7. 40 0
      main/hello_world_main.c
  8. 504 0
      main/nokia.c
  9. 66 0
      main/nokia.h
  10. 497 0
      sdkconfig

+ 4 - 0
.gitignore View File

@@ -0,0 +1,4 @@
1
+cmake-build-debug
2
+*.o
3
+build/
4
+.idea/

+ 10 - 0
CMakeLists.txt View File

@@ -0,0 +1,10 @@
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
+set(CMAKE_C_COMPILER xtensa-esp32-elf-gcc)
6
+set(CMAKE_CXX_COMPILER xtensa-esp32-elf-g++)
7
+set(CMAKE_ASM_COMPILER xtensa-esp32-elf-as)
8
+
9
+include($ENV{IDF_PATH}/tools/cmake/project.cmake)
10
+project(hello-world)

+ 9 - 0
Makefile View File

@@ -0,0 +1,9 @@
1
+#
2
+# This is a project Makefile. It is assumed the directory this Makefile resides in is a
3
+# project subdirectory.
4
+#
5
+
6
+PROJECT_NAME := hello-world
7
+
8
+include $(IDF_PATH)/make/project.mk
9
+

+ 5 - 0
README.md View File

@@ -0,0 +1,5 @@
1
+# Hello World Example
2
+
3
+Starts a FreeRTOS task to print "Hello World"
4
+
5
+See the README.md file in the upper level 'examples' directory for more information about examples.

+ 4 - 0
main/CMakeLists.txt View File

@@ -0,0 +1,4 @@
1
+set(COMPONENT_SRCS "hello_world_main.c" "nokia.c")
2
+set(COMPONENT_ADD_INCLUDEDIRS "")
3
+
4
+register_component()

+ 5 - 0
main/component.mk View File

@@ -0,0 +1,5 @@
1
+#
2
+# "main" pseudo-component makefile.
3
+#
4
+# (Uses default behaviour of compiling all source files in directory, adding 'include' to include path.)
5
+

+ 40 - 0
main/hello_world_main.c View File

@@ -0,0 +1,40 @@
1
+/* Hello World 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 <stdio.h>
10
+#include "freertos/FreeRTOS.h"
11
+#include "freertos/task.h"
12
+#include "esp_system.h"
13
+#include "esp_spi_flash.h"
14
+
15
+
16
+void app_main()
17
+{
18
+    printf("Hello world!\n");
19
+
20
+    /* Print chip information */
21
+    esp_chip_info_t chip_info;
22
+    esp_chip_info(&chip_info);
23
+    printf("This is ESP32 chip with %d CPU cores, WiFi%s%s, ",
24
+            chip_info.cores,
25
+            (chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "",
26
+            (chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "");
27
+
28
+    printf("silicon revision %d, ", chip_info.revision);
29
+
30
+    printf("%dMB %s flash\n", spi_flash_get_chip_size() / (1024 * 1024),
31
+            (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external");
32
+
33
+    for (int i = 10; i >= 0; i--) {
34
+        printf("Restarting in %d seconds...\n", i);
35
+        vTaskDelay(1000 / portTICK_PERIOD_MS);
36
+    }
37
+    printf("Restarting now.\n");
38
+    fflush(stdout);
39
+    esp_restart();
40
+}

+ 504 - 0
main/nokia.c View File

@@ -0,0 +1,504 @@
1
+#include "nokia.h"
2
+
3
+/* Pin definitions:
4
+Most of these pins can be moved to any digital or analog pin.
5
+DN(MOSI)and SCLK should be left where they are (SPI pins). The
6
+LED (backlight) pin should remain on a PWM-capable pin. */
7
+static const int scePin = 7;   // SCE - Chip select, pin 3 on LCD.
8
+static const int rstPin = 6;   // RST - Reset, pin 4 on LCD.
9
+static const int dcPin = 5;    // DC - Data/Command, pin 5 on LCD.
10
+static const int sdinPin = 11;  // DN(MOSI) - Serial data, pin 6 on LCD.
11
+static const int sclkPin = 13;  // SCLK - Serial clock, pin 7 on LCD.
12
+static const int blPin = 9;    // LED - Backlight LED, pin 8 on LCD.
13
+
14
+/* PCD8544-specific defines: */
15
+#define LCD_COMMAND  0
16
+#define LCD_DATA     1
17
+
18
+/* Font table:
19
+This table contains the hex values that represent pixels for a
20
+font that is 5 pixels wide and 8 pixels high. Each byte in a row
21
+represents one, 8-pixel, vertical column of a character. 5 bytes
22
+per character. */
23
+static const uint8_t ASCII[][5] = {
24
+  // First 32 characters (0x00-0x19) are ignored. These are
25
+  // non-displayable, control characters.
26
+   {0x00, 0x00, 0x00, 0x00, 0x00} // 0x20
27
+  ,{0x00, 0x00, 0x5f, 0x00, 0x00} // 0x21 !
28
+  ,{0x00, 0x07, 0x00, 0x07, 0x00} // 0x22 "
29
+  ,{0x14, 0x7f, 0x14, 0x7f, 0x14} // 0x23 #
30
+  ,{0x24, 0x2a, 0x7f, 0x2a, 0x12} // 0x24 $
31
+  ,{0x23, 0x13, 0x08, 0x64, 0x62} // 0x25 %
32
+  ,{0x36, 0x49, 0x55, 0x22, 0x50} // 0x26 &
33
+  ,{0x00, 0x05, 0x03, 0x00, 0x00} // 0x27 '
34
+  ,{0x00, 0x1c, 0x22, 0x41, 0x00} // 0x28 (
35
+  ,{0x00, 0x41, 0x22, 0x1c, 0x00} // 0x29 )
36
+  ,{0x14, 0x08, 0x3e, 0x08, 0x14} // 0x2a *
37
+  ,{0x08, 0x08, 0x3e, 0x08, 0x08} // 0x2b +
38
+  ,{0x00, 0x50, 0x30, 0x00, 0x00} // 0x2c ,
39
+  ,{0x08, 0x08, 0x08, 0x08, 0x08} // 0x2d -
40
+  ,{0x00, 0x60, 0x60, 0x00, 0x00} // 0x2e .
41
+  ,{0x20, 0x10, 0x08, 0x04, 0x02} // 0x2f /
42
+  ,{0x3e, 0x51, 0x49, 0x45, 0x3e} // 0x30 0
43
+  ,{0x00, 0x42, 0x7f, 0x40, 0x00} // 0x31 1
44
+  ,{0x42, 0x61, 0x51, 0x49, 0x46} // 0x32 2
45
+  ,{0x21, 0x41, 0x45, 0x4b, 0x31} // 0x33 3
46
+  ,{0x18, 0x14, 0x12, 0x7f, 0x10} // 0x34 4
47
+  ,{0x27, 0x45, 0x45, 0x45, 0x39} // 0x35 5
48
+  ,{0x3c, 0x4a, 0x49, 0x49, 0x30} // 0x36 6
49
+  ,{0x01, 0x71, 0x09, 0x05, 0x03} // 0x37 7
50
+  ,{0x36, 0x49, 0x49, 0x49, 0x36} // 0x38 8
51
+  ,{0x06, 0x49, 0x49, 0x29, 0x1e} // 0x39 9
52
+  ,{0x00, 0x36, 0x36, 0x00, 0x00} // 0x3a :
53
+  ,{0x00, 0x56, 0x36, 0x00, 0x00} // 0x3b ;
54
+  ,{0x08, 0x14, 0x22, 0x41, 0x00} // 0x3c <
55
+  ,{0x14, 0x14, 0x14, 0x14, 0x14} // 0x3d =
56
+  ,{0x00, 0x41, 0x22, 0x14, 0x08} // 0x3e >
57
+  ,{0x02, 0x01, 0x51, 0x09, 0x06} // 0x3f ?
58
+  ,{0x32, 0x49, 0x79, 0x41, 0x3e} // 0x40 @
59
+  ,{0x7e, 0x11, 0x11, 0x11, 0x7e} // 0x41 A
60
+  ,{0x7f, 0x49, 0x49, 0x49, 0x36} // 0x42 B
61
+  ,{0x3e, 0x41, 0x41, 0x41, 0x22} // 0x43 C
62
+  ,{0x7f, 0x41, 0x41, 0x22, 0x1c} // 0x44 D
63
+  ,{0x7f, 0x49, 0x49, 0x49, 0x41} // 0x45 E
64
+  ,{0x7f, 0x09, 0x09, 0x09, 0x01} // 0x46 F
65
+  ,{0x3e, 0x41, 0x49, 0x49, 0x7a} // 0x47 G
66
+  ,{0x7f, 0x08, 0x08, 0x08, 0x7f} // 0x48 H
67
+  ,{0x00, 0x41, 0x7f, 0x41, 0x00} // 0x49 I
68
+  ,{0x20, 0x40, 0x41, 0x3f, 0x01} // 0x4a J
69
+  ,{0x7f, 0x08, 0x14, 0x22, 0x41} // 0x4b K
70
+  ,{0x7f, 0x40, 0x40, 0x40, 0x40} // 0x4c L
71
+  ,{0x7f, 0x02, 0x0c, 0x02, 0x7f} // 0x4d M
72
+  ,{0x7f, 0x04, 0x08, 0x10, 0x7f} // 0x4e N
73
+  ,{0x3e, 0x41, 0x41, 0x41, 0x3e} // 0x4f O
74
+  ,{0x7f, 0x09, 0x09, 0x09, 0x06} // 0x50 P
75
+  ,{0x3e, 0x41, 0x51, 0x21, 0x5e} // 0x51 Q
76
+  ,{0x7f, 0x09, 0x19, 0x29, 0x46} // 0x52 R
77
+  ,{0x46, 0x49, 0x49, 0x49, 0x31} // 0x53 S
78
+  ,{0x01, 0x01, 0x7f, 0x01, 0x01} // 0x54 T
79
+  ,{0x3f, 0x40, 0x40, 0x40, 0x3f} // 0x55 U
80
+  ,{0x1f, 0x20, 0x40, 0x20, 0x1f} // 0x56 V
81
+  ,{0x3f, 0x40, 0x38, 0x40, 0x3f} // 0x57 W
82
+  ,{0x63, 0x14, 0x08, 0x14, 0x63} // 0x58 X
83
+  ,{0x07, 0x08, 0x70, 0x08, 0x07} // 0x59 Y
84
+  ,{0x61, 0x51, 0x49, 0x45, 0x43} // 0x5a Z
85
+  ,{0x00, 0x7f, 0x41, 0x41, 0x00} // 0x5b [
86
+  ,{0x02, 0x04, 0x08, 0x10, 0x20} // 0x5c \ (keep this to escape the backslash)
87
+  ,{0x00, 0x41, 0x41, 0x7f, 0x00} // 0x5d ]
88
+  ,{0x04, 0x02, 0x01, 0x02, 0x04} // 0x5e ^
89
+  ,{0x40, 0x40, 0x40, 0x40, 0x40} // 0x5f _
90
+  ,{0x00, 0x01, 0x02, 0x04, 0x00} // 0x60 `
91
+  ,{0x20, 0x54, 0x54, 0x54, 0x78} // 0x61 a
92
+  ,{0x7f, 0x48, 0x44, 0x44, 0x38} // 0x62 b
93
+  ,{0x38, 0x44, 0x44, 0x44, 0x20} // 0x63 c
94
+  ,{0x38, 0x44, 0x44, 0x48, 0x7f} // 0x64 d
95
+  ,{0x38, 0x54, 0x54, 0x54, 0x18} // 0x65 e
96
+  ,{0x08, 0x7e, 0x09, 0x01, 0x02} // 0x66 f
97
+  ,{0x0c, 0x52, 0x52, 0x52, 0x3e} // 0x67 g
98
+  ,{0x7f, 0x08, 0x04, 0x04, 0x78} // 0x68 h
99
+  ,{0x00, 0x44, 0x7d, 0x40, 0x00} // 0x69 i
100
+  ,{0x20, 0x40, 0x44, 0x3d, 0x00} // 0x6a j
101
+  ,{0x7f, 0x10, 0x28, 0x44, 0x00} // 0x6b k
102
+  ,{0x00, 0x41, 0x7f, 0x40, 0x00} // 0x6c l
103
+  ,{0x7c, 0x04, 0x18, 0x04, 0x78} // 0x6d m
104
+  ,{0x7c, 0x08, 0x04, 0x04, 0x78} // 0x6e n
105
+  ,{0x38, 0x44, 0x44, 0x44, 0x38} // 0x6f o
106
+  ,{0x7c, 0x14, 0x14, 0x14, 0x08} // 0x70 p
107
+  ,{0x08, 0x14, 0x14, 0x18, 0x7c} // 0x71 q
108
+  ,{0x7c, 0x08, 0x04, 0x04, 0x08} // 0x72 r
109
+  ,{0x48, 0x54, 0x54, 0x54, 0x20} // 0x73 s
110
+  ,{0x04, 0x3f, 0x44, 0x40, 0x20} // 0x74 t
111
+  ,{0x3c, 0x40, 0x40, 0x20, 0x7c} // 0x75 u
112
+  ,{0x1c, 0x20, 0x40, 0x20, 0x1c} // 0x76 v
113
+  ,{0x3c, 0x40, 0x30, 0x40, 0x3c} // 0x77 w
114
+  ,{0x44, 0x28, 0x10, 0x28, 0x44} // 0x78 x
115
+  ,{0x0c, 0x50, 0x50, 0x50, 0x3c} // 0x79 y
116
+  ,{0x44, 0x64, 0x54, 0x4c, 0x44} // 0x7a z
117
+  ,{0x00, 0x08, 0x36, 0x41, 0x00} // 0x7b {
118
+  ,{0x00, 0x00, 0x7f, 0x00, 0x00} // 0x7c |
119
+  ,{0x00, 0x41, 0x36, 0x08, 0x00} // 0x7d }
120
+  ,{0x10, 0x08, 0x08, 0x10, 0x08} // 0x7e ~
121
+  ,{0x78, 0x46, 0x41, 0x46, 0x78} // 0x7f DEL
122
+};
123
+
124
+/* The displayMap variable stores a buffer representation of the
125
+pixels on our display. There are 504 total bits in this array,
126
+same as how many pixels there are on a 84 x 48 display.
127
+
128
+Each byte in this array covers a 8-pixel vertical block on the
129
+display. Each successive byte covers the next 8-pixel column over
130
+until you reach the right-edge of the display and step down 8 rows.
131
+
132
+To update the display, we first have to write to this array, then
133
+call the updateDisplay() function, which sends this whole array
134
+to the PCD8544.
135
+
136
+Because the PCD8544 won't let us write individual pixels at a
137
+time, this is how we can make targeted changes to the display. */
138
+static uint8_t displayMap[LCD_WIDTH * LCD_HEIGHT / 8] = {
139
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (0,0)->(11,7) ~ These 12 bytes cover an 8x12 block in the left corner of the display
140
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (12,0)->(23,7)
141
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, // (24,0)->(35,7)
142
+  0xF0, 0xF8, 0xFC, 0xFC, 0xFE, 0xFE, 0xFE, 0xFE, 0x1E, 0x0E, 0x02, 0x00, // (36,0)->(47,7)
143
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (48,0)->(59,7)
144
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (60,0)->(71,7)
145
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (72,0)->(83,7)
146
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (0,8)->(11,15)
147
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (12,8)->(23,15)
148
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, // (24,8)->(35,15)
149
+  0x0F, 0x1F, 0x3F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0xF8, // (36,8)->(47,15)
150
+  0xF8, 0xF0, 0xF8, 0xFE, 0xFE, 0xFC, 0xF8, 0xE0, 0x00, 0x00, 0x00, 0x00, // (48,8)->(59,15)
151
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (60,8)->(71,15)
152
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (72,8)->(83,15)
153
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (0,16)->(11,23)
154
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (12,16)->(23,23)
155
+  0x00, 0x00, 0xF8, 0xFC, 0xFE, 0xFE, 0xFF, 0xFF, 0xF3, 0xE0, 0xE0, 0xC0, // (24,16)->(35,23)
156
+  0xC0, 0xC0, 0xE0, 0xE0, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // (36,16)->(47,23)
157
+  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3E, 0x00, 0x00, 0x00, // (48,16)->(59,23)
158
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (60,16)->(71,23)
159
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (72,16)->(83,23)
160
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (0,24)->(11,31)
161
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (12,24)->(23,31)
162
+  0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // (24,24)->(35,31)
163
+  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // (36,24)->(47,31)
164
+  0xFF, 0xFF, 0xFF, 0x7F, 0x3F, 0x1F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, // (48,24)->(59,31)
165
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (60,24)->(71,31)
166
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (72,24)->(83,31)
167
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (0,32)->(11,39)
168
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (12,32)->(23,39)
169
+  0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x3F, 0x1F, // (24,32)->(35,39)
170
+  0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, // (36,32)->(47,39)
171
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (48,32)->(59,39)
172
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (60,32)->(71,39)
173
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (72,32)->(83,39)
174
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (0,40)->(11,47)
175
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (12,40)->(23,47)
176
+  0x00, 0x00, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, // (24,40)->(35,47)
177
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (36,40)->(47,47)
178
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (48,40)->(59,47)
179
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (60,40)->(71,47)
180
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // (72,40)->(83,47) !!! The bottom right pixel!
181
+};
182
+
183
+// There are two memory banks in the LCD, data/RAM and commands.
184
+// This function sets the DC pin high or low depending, and then
185
+// sends the data byte
186
+static void LCDWrite(uint8_t data_or_command, uint8_t data)
187
+{
188
+  //Tell the LCD that we are writing either to data or a command
189
+  digitalWrite(dcPin, data_or_command);
190
+
191
+  //Send the data
192
+  digitalWrite(scePin, LOW);
193
+  SPI.transfer(data); //shiftOut(sdinPin, sclkPin, MSBFIRST, data);
194
+  digitalWrite(scePin, HIGH);
195
+}
196
+
197
+
198
+// This function sets a pixel on displayMap to your preferred
199
+// color. 1=Black, 0= white.
200
+void LCD_setPixel(int x, int y, boolean bw)
201
+{
202
+  // First, double check that the coordinate is in range.
203
+  if ((x >= 0) && (x < LCD_WIDTH) && (y >= 0) && (y < LCD_HEIGHT))
204
+  {
205
+    uint8_t shift = y % 8;
206
+
207
+    if (bw) // If black, set the bit.
208
+      displayMap[x + (y/8)*LCD_WIDTH] |= 1<<shift;
209
+    else   // If white clear the bit.
210
+      displayMap[x + (y/8)*LCD_WIDTH] &= ~(1<<shift);
211
+  }
212
+}
213
+
214
+// setLine draws a line from x0,y0 to x1,y1 with the set color.
215
+// This function was grabbed from the SparkFun ColorLCDShield
216
+// library.
217
+void LCD_setLine(int x0, int y0, int x1, int y1, bool bw)
218
+{
219
+  int dy = y1 - y0; // Difference between y0 and y1
220
+  int dx = x1 - x0; // Difference between x0 and x1
221
+  int stepx, stepy;
222
+
223
+  if (dy < 0)
224
+  {
225
+    dy = -dy;
226
+    stepy = -1;
227
+  }
228
+  else
229
+    stepy = 1;
230
+
231
+  if (dx < 0)
232
+  {
233
+    dx = -dx;
234
+    stepx = -1;
235
+  }
236
+  else
237
+    stepx = 1;
238
+
239
+  dy <<= 1; // dy is now 2*dy
240
+  dx <<= 1; // dx is now 2*dx
241
+  LCD_setPixel(x0, y0, bw); // Draw the first pixel.
242
+
243
+  if (dx > dy)
244
+  {
245
+    int fraction = dy - (dx >> 1);
246
+    while (x0 != x1)
247
+    {
248
+      if (fraction >= 0)
249
+      {
250
+        y0 += stepy;
251
+        fraction -= dx;
252
+      }
253
+      x0 += stepx;
254
+      fraction += dy;
255
+      LCD_setPixel(x0, y0, bw);
256
+    }
257
+  }
258
+  else
259
+  {
260
+    int fraction = dx - (dy >> 1);
261
+    while (y0 != y1)
262
+    {
263
+      if (fraction >= 0)
264
+      {
265
+        x0 += stepx;
266
+        fraction -= dy;
267
+      }
268
+      y0 += stepy;
269
+      fraction += dx;
270
+      LCD_setPixel(x0, y0, bw);
271
+    }
272
+  }
273
+}
274
+
275
+// setRect will draw a rectangle from x0,y0 top-left corner to
276
+// a x1,y1 bottom-right corner. Can be filled with the fill
277
+// parameter, and colored with bw.
278
+// This function was grabbed from the SparkFun ColorLCDShield
279
+// library.
280
+void LCD_setRect(int x0, int y0, int x1, int y1, bool fill, bool bw)
281
+{
282
+  // check if the rectangle is to be filled
283
+  if (fill == 1)
284
+  {
285
+    int xDiff;
286
+
287
+    if(x0 > x1)
288
+      xDiff = x0 - x1; //Find the difference between the x vars
289
+    else
290
+      xDiff = x1 - x0;
291
+
292
+    while(xDiff > 0)
293
+    {
294
+      LCD_setLine(x0, y0, x0, y1, bw);
295
+
296
+      if(x0 > x1)
297
+        x0--;
298
+      else
299
+        x0++;
300
+
301
+      xDiff--;
302
+    }
303
+  }
304
+  else
305
+  {
306
+    // best way to draw an unfilled rectangle is to draw four lines
307
+    LCD_setLine(x0, y0, x1, y0, bw);
308
+    LCD_setLine(x0, y1, x1, y1, bw);
309
+    LCD_setLine(x0, y0, x0, y1, bw);
310
+    LCD_setLine(x1, y0, x1, y1, bw);
311
+  }
312
+}
313
+
314
+// setCircle draws a circle centered around x0,y0 with a defined
315
+// radius. The circle can be black or white. And have a line
316
+// thickness ranging from 1 to the radius of the circle.
317
+// This function was grabbed from the SparkFun ColorLCDShield
318
+// library.
319
+void LCD_setCircle (int x0, int y0, int radius, bool bw, int lineThickness)
320
+{
321
+  for(int r = 0; r < lineThickness; r++)
322
+  {
323
+    int f = 1 - radius;
324
+    int ddF_x = 0;
325
+    int ddF_y = -2 * radius;
326
+    int x = 0;
327
+    int y = radius;
328
+
329
+    LCD_setPixel(x0, y0 + radius, bw);
330
+    LCD_setPixel(x0, y0 - radius, bw);
331
+    LCD_setPixel(x0 + radius, y0, bw);
332
+    LCD_setPixel(x0 - radius, y0, bw);
333
+
334
+    while(x < y)
335
+    {
336
+      if(f >= 0)
337
+      {
338
+        y--;
339
+        ddF_y += 2;
340
+        f += ddF_y;
341
+      }
342
+      x++;
343
+      ddF_x += 2;
344
+      f += ddF_x + 1;
345
+
346
+      LCD_setPixel(x0 + x, y0 + y, bw);
347
+      LCD_setPixel(x0 - x, y0 + y, bw);
348
+      LCD_setPixel(x0 + x, y0 - y, bw);
349
+      LCD_setPixel(x0 - x, y0 - y, bw);
350
+      LCD_setPixel(x0 + y, y0 + x, bw);
351
+      LCD_setPixel(x0 - y, y0 + x, bw);
352
+      LCD_setPixel(x0 + y, y0 - x, bw);
353
+      LCD_setPixel(x0 - y, y0 - x, bw);
354
+    }
355
+    radius--;
356
+  }
357
+}
358
+
359
+// This function will draw a char (defined in the ASCII table
360
+// near the beginning of this sketch) at a defined x and y).
361
+// The color can be either black (1) or white (0).
362
+void LCD_setChar(char character, int x, int y, bool bw)
363
+{
364
+  byte column; // temp byte to store character's column bitmap
365
+  for (int i=0; i<5; i++) // 5 columns (x) per character
366
+  {
367
+    column = ASCII[character - 0x20][i];
368
+    for (int j=0; j<8; j++) // 8 rows (y) per character
369
+    {
370
+      if (column & (0x01 << j)) // test bits to set pixels
371
+        LCD_setPixel(x+i, y+j, bw);
372
+      else
373
+        LCD_setPixel(x+i, y+j, !bw);
374
+    }
375
+  }
376
+}
377
+
378
+// setStr draws a string of characters, calling setChar with
379
+// progressive coordinates until it's done.
380
+// This function was grabbed from the SparkFun ColorLCDShield
381
+// library.
382
+void LCD_setStr(char * dString, int x, int y, bool bw)
383
+{
384
+  while (*dString != 0x00) // loop until null terminator
385
+  {
386
+    LCD_setChar(*dString++, x, y, bw);
387
+    x+=5;
388
+    for (int i=y; i<y+8; i++)
389
+    {
390
+      LCD_setPixel(x, i, !bw);
391
+    }
392
+    x++;
393
+    if (x > (LCD_WIDTH - 5)) // Enables wrap around
394
+    {
395
+      x = 0;
396
+      y += 8;
397
+    }
398
+  }
399
+}
400
+
401
+// This function will draw an array over the screen. (For now) the
402
+// array must be the same size as the screen, covering the entirety
403
+// of the display.
404
+// Also, the array must reside in FLASH and declared with PROGMEM.
405
+void LCD_setBitmap(const char * bitArray)
406
+{
407
+  for (int i=0; i<(LCD_WIDTH * LCD_HEIGHT / 8); i++)
408
+  {
409
+    char c = bitArray[i];
410
+    displayMap[i] = c;
411
+  }
412
+}
413
+
414
+// This function clears the entire display either white (0) or
415
+// black (1).
416
+// The screen won't actually clear until you call updateDisplay()!
417
+void LCD_clearDisplay(bool bw)
418
+{
419
+  for (int i=0; i<(LCD_WIDTH * LCD_HEIGHT / 8); i++)
420
+  {
421
+    if (bw)
422
+      displayMap[i] = 0xFF;
423
+    else
424
+      displayMap[i] = 0;
425
+  }
426
+}
427
+
428
+// Helpful function to directly command the LCD to go to a
429
+// specific x,y coordinate.
430
+static void gotoXY(int x, int y)
431
+{
432
+  LCDWrite(0, 0x80 | x);  // Column.
433
+  LCDWrite(0, 0x40 | y);  // Row.  ?
434
+}
435
+
436
+// This will actually draw on the display, whatever is currently
437
+// in the displayMap array.
438
+void LCD_updateDisplay()
439
+{
440
+  gotoXY(0, 0);
441
+  for (int i=0; i < (LCD_WIDTH * LCD_HEIGHT / 8); i++)
442
+  {
443
+    LCDWrite(LCD_DATA, displayMap[i]);
444
+  }
445
+}
446
+
447
+// Set contrast can set the LCD Vop to a value between 0 and 127.
448
+// 40-60 is usually a pretty good range.
449
+void LCD_setContrast(uint8_t contrast)
450
+{
451
+  LCDWrite(LCD_COMMAND, 0x21); //Tell LCD that extended commands follow
452
+  LCDWrite(LCD_COMMAND, 0x80 | contrast); //Set LCD Vop (Contrast): Try 0xB1(good @ 3.3V) or 0xBF if your display is too dark
453
+  LCDWrite(LCD_COMMAND, 0x20); //Set display mode
454
+}
455
+
456
+/* There are two ways to do this. Either through direct commands
457
+to the display, or by swapping each bit in the displayMap array.
458
+We'll leave both methods here, comment one or the other out if
459
+you please. */
460
+void LCD_invertDisplay()
461
+{
462
+  /* Direct LCD Command option
463
+  LCDWrite(LCD_COMMAND, 0x20); //Tell LCD that extended commands follow
464
+  LCDWrite(LCD_COMMAND, 0x08 | 0x05); //Set LCD Vop (Contrast): Try 0xB1(good @ 3.3V) or 0xBF if your display is too dark
465
+  LCDWrite(LCD_COMMAND, 0x20); //Set display mode  */
466
+
467
+  /* Indirect, swap bits in displayMap option: */
468
+  for (int i=0; i < (LCD_WIDTH * LCD_HEIGHT / 8); i++)
469
+  {
470
+    displayMap[i] = ~displayMap[i] & 0xFF;
471
+  }
472
+  LCD_updateDisplay();
473
+}
474
+
475
+//This sends the magical commands to the PCD8544
476
+void LCD_setup(void)
477
+{
478
+  //Configure control pins
479
+  pinMode(scePin, OUTPUT);
480
+  pinMode(rstPin, OUTPUT);
481
+  pinMode(dcPin, OUTPUT);
482
+  pinMode(sdinPin, OUTPUT);
483
+  pinMode(sclkPin, OUTPUT);
484
+  pinMode(blPin, OUTPUT);
485
+  analogWrite(blPin, 255);
486
+
487
+  SPI.begin();
488
+  SPI.setDataMode(SPI_MODE0);
489
+  SPI.setBitOrder(MSBFIRST);
490
+
491
+  //Reset the LCD to a known state
492
+  digitalWrite(rstPin, LOW);
493
+  digitalWrite(rstPin, HIGH);
494
+
495
+  LCDWrite(LCD_COMMAND, 0x21); //Tell LCD extended commands follow
496
+  LCDWrite(LCD_COMMAND, 0xB0); //Set LCD Vop (Contrast)
497
+  LCDWrite(LCD_COMMAND, 0x04); //Set Temp coefficent
498
+  LCDWrite(LCD_COMMAND, 0x14); //LCD bias mode 1:48 (try 0x13)
499
+  //We must send 0x20 before modifying the display control mode
500
+  LCDWrite(LCD_COMMAND, 0x20);
501
+  LCDWrite(LCD_COMMAND, 0x0C); //Set display control, normal mode.
502
+}
503
+
504
+

+ 66 - 0
main/nokia.h View File

@@ -0,0 +1,66 @@
1
+/* Pin definitions:
2
+Most of these pins can be moved to any digital or analog pin.
3
+DN(MOSI)and SCLK should be left where they are (SPI pins). The
4
+LED (backlight) pin should remain on a PWM-capable pin. */
5
+// SCE - Chip select, pin 3 on LCD.
6
+// RST - Reset, pin 4 on LCD.
7
+// DC - Data/Command, pin 5 on LCD.
8
+// DN(MOSI) - Serial data, pin 6 on LCD.
9
+// SCLK - Serial clock, pin 7 on LCD.
10
+// LED - Backlight LED, pin 8 on LCD.
11
+
12
+/* 84x48 LCD Defines: */
13
+#define LCD_WIDTH   84 // Note: x-coordinates go wide
14
+#define LCD_HEIGHT  48 // Note: y-coordinates go high
15
+#define WHITE       0  // For drawing pixels. A 0 draws white.
16
+#define BLACK       1  // A 1 draws black.
17
+
18
+// This function sets a pixel on displayMap to your preferred
19
+// color. 1=Black, 0= white.
20
+void LCD_setPixel(int x, int y, bool bw);
21
+
22
+// setLine draws a line from x0,y0 to x1,y1 with the set color
23
+void LCD_setLine(int x0, int y0, int x1, int y1, bool bw);
24
+
25
+// setRect will draw a rectangle from x0,y0 top-left corner to
26
+// a x1,y1 bottom-right corner. Can be filled with the fill
27
+// parameter, and colored with bw.
28
+void LCD_setRect(int x0, int y0, int x1, int y1, bool fill, bool bw);
29
+
30
+// setCircle draws a circle centered around x0,y0 with a defined
31
+// radius. The circle can be black or white. And have a line
32
+// thickness ranging from 1 to the radius of the circle.
33
+void LCD_setCircle (int x0, int y0, int radius, bool bw, int lineThickness);
34
+
35
+// This function will draw a char (defined in the ASCII table
36
+// near the beginning of this sketch) at a defined x and y).
37
+// The color can be either black (1) or white (0).
38
+void LCD_setChar(char character, int x, int y, bool bw);
39
+
40
+// setStr draws a string of characters, calling setChar with
41
+// progressive coordinates until it's done.
42
+// This function was grabbed from the SparkFun ColorLCDShield
43
+// library.
44
+void LCD_setStr(char * dString, int x, int y, bool bw);
45
+
46
+// This function clears the entire display either white (0) or
47
+// black (1).
48
+// The screen won't actually clear until you call updateDisplay()!
49
+void LCD_clearDisplay(bool bw);
50
+
51
+// This will actually draw on the display, whatever is currently
52
+// in the displayMap array.
53
+void LCD_updateDisplay();
54
+
55
+// Set contrast can set the LCD Vop to a value between 0 and 127.
56
+// 40-60 is usually a pretty good range.
57
+void LCD_setContrast(uint8_t contrast);
58
+
59
+/* There are two ways to do this. Either through direct commands
60
+to the display, or by swapping each bit in the displayMap array.
61
+We'll leave both methods here, comment one or the other out if
62
+you please. */
63
+void LCD_invertDisplay();
64
+
65
+//This sends the magical commands to the PCD8544
66
+void LCD_setup(void);

+ 497 - 0
sdkconfig View File

@@ -0,0 +1,497 @@
1
+#
2
+# Automatically generated file. DO NOT EDIT.
3
+# Espressif IoT Development Framework (ESP-IDF) Project Configuration
4
+#
5
+CONFIG_IDF_TARGET="esp32"
6
+CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000
7
+
8
+#
9
+# SDK tool configuration
10
+#
11
+CONFIG_TOOLPREFIX="xtensa-esp32-elf-"
12
+CONFIG_MAKE_WARN_UNDEFINED_VARIABLES=y
13
+CONFIG_APP_COMPILE_TIME_DATE=y
14
+# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set
15
+# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set
16
+# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set
17
+# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set
18
+# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set
19
+CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y
20
+# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set
21
+# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set
22
+CONFIG_LOG_BOOTLOADER_LEVEL=3
23
+# CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V is not set
24
+CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
25
+# CONFIG_BOOTLOADER_FACTORY_RESET is not set
26
+# CONFIG_BOOTLOADER_APP_TEST is not set
27
+CONFIG_BOOTLOADER_WDT_ENABLE=y
28
+# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set
29
+CONFIG_BOOTLOADER_WDT_TIME_MS=9000
30
+# CONFIG_APP_ROLLBACK_ENABLE is not set
31
+# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set
32
+# CONFIG_SECURE_BOOT_ENABLED is not set
33
+# CONFIG_FLASH_ENCRYPTION_ENABLED is not set
34
+CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200
35
+# CONFIG_FLASHMODE_QIO is not set
36
+# CONFIG_FLASHMODE_QOUT is not set
37
+CONFIG_FLASHMODE_DIO=y
38
+# CONFIG_FLASHMODE_DOUT is not set
39
+CONFIG_ESPTOOLPY_FLASHMODE="dio"
40
+# CONFIG_ESPTOOLPY_FLASHFREQ_80M is not set
41
+CONFIG_ESPTOOLPY_FLASHFREQ_40M=y
42
+# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set
43
+# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set
44
+CONFIG_ESPTOOLPY_FLASHFREQ="40m"
45
+# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set
46
+CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y
47
+# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set
48
+# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set
49
+# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set
50
+CONFIG_ESPTOOLPY_FLASHSIZE="2MB"
51
+CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y
52
+CONFIG_ESPTOOLPY_BEFORE_RESET=y
53
+# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set
54
+CONFIG_ESPTOOLPY_BEFORE="default_reset"
55
+CONFIG_ESPTOOLPY_AFTER_RESET=y
56
+# CONFIG_ESPTOOLPY_AFTER_NORESET is not set
57
+CONFIG_ESPTOOLPY_AFTER="hard_reset"
58
+# CONFIG_MONITOR_BAUD_9600B is not set
59
+# CONFIG_MONITOR_BAUD_57600B is not set
60
+CONFIG_MONITOR_BAUD_115200B=y
61
+# CONFIG_MONITOR_BAUD_230400B is not set
62
+# CONFIG_MONITOR_BAUD_921600B is not set
63
+# CONFIG_MONITOR_BAUD_2MB is not set
64
+# CONFIG_MONITOR_BAUD_OTHER is not set
65
+CONFIG_MONITOR_BAUD_OTHER_VAL=115200
66
+CONFIG_MONITOR_BAUD=115200
67
+CONFIG_PARTITION_TABLE_SINGLE_APP=y
68
+# CONFIG_PARTITION_TABLE_TWO_OTA is not set
69
+# CONFIG_PARTITION_TABLE_CUSTOM is not set
70
+CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
71
+CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv"
72
+CONFIG_PARTITION_TABLE_OFFSET=0x8000
73
+CONFIG_PARTITION_TABLE_MD5=y
74
+CONFIG_OPTIMIZATION_LEVEL_DEBUG=y
75
+# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set
76
+CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y
77
+# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set
78
+# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set
79
+# CONFIG_CXX_EXCEPTIONS is not set
80
+CONFIG_STACK_CHECK_NONE=y
81
+# CONFIG_STACK_CHECK_NORM is not set
82
+# CONFIG_STACK_CHECK_STRONG is not set
83
+# CONFIG_STACK_CHECK_ALL is not set
84
+# CONFIG_STACK_CHECK is not set
85
+# CONFIG_WARN_WRITE_STRINGS is not set
86
+# CONFIG_DISABLE_GCC8_WARNINGS is not set
87
+# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set
88
+CONFIG_ESP32_APPTRACE_DEST_NONE=y
89
+# CONFIG_ESP32_APPTRACE_ENABLE is not set
90
+CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y
91
+# CONFIG_AWS_IOT_SDK is not set
92
+# CONFIG_BT_ENABLED is not set
93
+CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=0
94
+CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=0
95
+CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0
96
+CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0
97
+CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0
98
+CONFIG_BT_RESERVE_DRAM=0
99
+# CONFIG_ADC_FORCE_XPD_FSM is not set
100
+CONFIG_ADC2_DISABLE_DAC=y
101
+# CONFIG_SPI_MASTER_IN_IRAM is not set
102
+CONFIG_SPI_MASTER_ISR_IN_IRAM=y
103
+# CONFIG_SPI_SLAVE_IN_IRAM is not set
104
+CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
105
+# CONFIG_EFUSE_CUSTOM_TABLE is not set
106
+# CONFIG_EFUSE_VIRTUAL is not set
107
+# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set
108
+CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y
109
+# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set
110
+CONFIG_EFUSE_MAX_BLK_LEN=192
111
+CONFIG_IDF_TARGET_ESP32=y
112
+CONFIG_ESP32_REV_MIN_0=y
113
+# CONFIG_ESP32_REV_MIN_1 is not set
114
+# CONFIG_ESP32_REV_MIN_2 is not set
115
+# CONFIG_ESP32_REV_MIN_3 is not set
116
+CONFIG_ESP32_REV_MIN=0
117
+CONFIG_ESP32_DPORT_WORKAROUND=y
118
+# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set
119
+CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y
120
+# CONFIG_ESP32_DEFAULT_CPU_FREQ_240 is not set
121
+CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=160
122
+# CONFIG_SPIRAM_SUPPORT is not set
123
+# CONFIG_MEMMAP_TRACEMEM is not set
124
+# CONFIG_MEMMAP_TRACEMEM_TWOBANKS is not set
125
+# CONFIG_ESP32_TRAX is not set
126
+CONFIG_TRACEMEM_RESERVE_DRAM=0x0
127
+# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set
128
+CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y
129
+CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4
130
+CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32
131
+CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304
132
+CONFIG_MAIN_TASK_STACK_SIZE=3584
133
+CONFIG_IPC_TASK_STACK_SIZE=1024
134
+CONFIG_TIMER_TASK_STACK_SIZE=3584
135
+CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y
136
+# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set
137
+# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set
138
+# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set
139
+# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set
140
+CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y
141
+# CONFIG_NEWLIB_NANO_FORMAT is not set
142
+CONFIG_CONSOLE_UART_DEFAULT=y
143
+# CONFIG_CONSOLE_UART_CUSTOM is not set
144
+# CONFIG_CONSOLE_UART_NONE is not set
145
+CONFIG_CONSOLE_UART_NUM=0
146
+CONFIG_CONSOLE_UART_BAUDRATE=115200
147
+# CONFIG_ULP_COPROC_ENABLED is not set
148
+CONFIG_ULP_COPROC_RESERVE_MEM=0
149
+# CONFIG_ESP32_PANIC_PRINT_HALT is not set
150
+CONFIG_ESP32_PANIC_PRINT_REBOOT=y
151
+# CONFIG_ESP32_PANIC_SILENT_REBOOT is not set
152
+# CONFIG_ESP32_PANIC_GDBSTUB is not set
153
+CONFIG_ESP32_DEBUG_OCDAWARE=y
154
+CONFIG_ESP32_DEBUG_STUBS_ENABLE=y
155
+CONFIG_INT_WDT=y
156
+CONFIG_INT_WDT_TIMEOUT_MS=300
157
+CONFIG_INT_WDT_CHECK_CPU1=y
158
+CONFIG_TASK_WDT=y
159
+# CONFIG_TASK_WDT_PANIC is not set
160
+CONFIG_TASK_WDT_TIMEOUT_S=5
161
+CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
162
+CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y
163
+CONFIG_BROWNOUT_DET=y
164
+CONFIG_BROWNOUT_DET_LVL_SEL_0=y
165
+# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set
166
+# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set
167
+# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set
168
+# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set
169
+# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set
170
+# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set
171
+# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set
172
+CONFIG_BROWNOUT_DET_LVL=0
173
+CONFIG_REDUCE_PHY_TX_POWER=y
174
+CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y
175
+# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set
176
+# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set
177
+# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set
178
+CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y
179
+# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set
180
+# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set
181
+# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set
182
+CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024
183
+CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000
184
+CONFIG_ESP32_XTAL_FREQ_40=y
185
+# CONFIG_ESP32_XTAL_FREQ_26 is not set
186
+# CONFIG_ESP32_XTAL_FREQ_AUTO is not set
187
+CONFIG_ESP32_XTAL_FREQ=40
188
+# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set
189
+# CONFIG_NO_BLOBS is not set
190
+# CONFIG_ESP_TIMER_PROFILING is not set
191
+# CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set
192
+CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
193
+CONFIG_ESP32_DPORT_DIS_INTERRUPT_LVL=5
194
+CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10
195
+CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32
196
+# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set
197
+CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y
198
+CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1
199
+CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32
200
+# CONFIG_ESP32_WIFI_CSI_ENABLED is not set
201
+CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y
202
+CONFIG_ESP32_WIFI_TX_BA_WIN=6
203
+CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
204
+CONFIG_ESP32_WIFI_RX_BA_WIN=6
205
+CONFIG_ESP32_WIFI_NVS_ENABLED=y
206
+CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y
207
+# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set
208
+CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752
209
+CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32
210
+# CONFIG_ESP32_WIFI_DEBUG_LOG_ENABLE is not set
211
+CONFIG_ESP32_WIFI_IRAM_OPT=y
212
+CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y
213
+# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set
214
+CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20
215
+CONFIG_ESP32_PHY_MAX_TX_POWER=20
216
+# CONFIG_PM_ENABLE is not set
217
+CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y
218
+CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y
219
+CONFIG_ADC_CAL_LUT_ENABLE=y
220
+# CONFIG_EVENT_LOOP_PROFILING is not set
221
+CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y
222
+# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set
223
+CONFIG_HTTPD_MAX_REQ_HDR_LEN=512
224
+CONFIG_HTTPD_MAX_URI_LEN=512
225
+CONFIG_HTTPD_ERR_RESP_NO_DELAY=y
226
+CONFIG_HTTPD_PURGE_BUF_LEN=32
227
+# CONFIG_HTTPD_LOG_PURGE_DATA is not set
228
+# CONFIG_OTA_ALLOW_HTTP is not set
229
+# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set
230
+# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set
231
+CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y
232
+# CONFIG_ESP32_ENABLE_COREDUMP is not set
233
+CONFIG_DMA_RX_BUF_NUM=10
234
+CONFIG_DMA_TX_BUF_NUM=10
235
+CONFIG_EMAC_L2_TO_L3_RX_BUF_MODE=y
236
+CONFIG_EMAC_CHECK_LINK_PERIOD_MS=2000
237
+CONFIG_EMAC_TASK_PRIORITY=20
238
+CONFIG_EMAC_TASK_STACK_SIZE=3072
239
+# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set
240
+CONFIG_FATFS_CODEPAGE_437=y
241
+# CONFIG_FATFS_CODEPAGE_720 is not set
242
+# CONFIG_FATFS_CODEPAGE_737 is not set
243
+# CONFIG_FATFS_CODEPAGE_771 is not set
244
+# CONFIG_FATFS_CODEPAGE_775 is not set
245
+# CONFIG_FATFS_CODEPAGE_850 is not set
246
+# CONFIG_FATFS_CODEPAGE_852 is not set
247
+# CONFIG_FATFS_CODEPAGE_855 is not set
248
+# CONFIG_FATFS_CODEPAGE_857 is not set
249
+# CONFIG_FATFS_CODEPAGE_860 is not set
250
+# CONFIG_FATFS_CODEPAGE_861 is not set
251
+# CONFIG_FATFS_CODEPAGE_862 is not set
252
+# CONFIG_FATFS_CODEPAGE_863 is not set
253
+# CONFIG_FATFS_CODEPAGE_864 is not set
254
+# CONFIG_FATFS_CODEPAGE_865 is not set
255
+# CONFIG_FATFS_CODEPAGE_866 is not set
256
+# CONFIG_FATFS_CODEPAGE_869 is not set
257
+# CONFIG_FATFS_CODEPAGE_932 is not set
258
+# CONFIG_FATFS_CODEPAGE_936 is not set
259
+# CONFIG_FATFS_CODEPAGE_949 is not set
260
+# CONFIG_FATFS_CODEPAGE_950 is not set
261
+CONFIG_FATFS_CODEPAGE=437
262
+CONFIG_FATFS_LFN_NONE=y
263
+# CONFIG_FATFS_LFN_HEAP is not set
264
+# CONFIG_FATFS_LFN_STACK is not set
265
+CONFIG_FATFS_FS_LOCK=0
266
+CONFIG_FATFS_TIMEOUT_MS=10000
267
+CONFIG_FATFS_PER_FILE_CACHE=y
268
+CONFIG_MB_QUEUE_LENGTH=20
269
+CONFIG_MB_SERIAL_TASK_STACK_SIZE=2048
270
+CONFIG_MB_SERIAL_BUF_SIZE=256
271
+CONFIG_MB_SERIAL_TASK_PRIO=10
272
+# CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT is not set
273
+CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20
274
+CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20
275
+CONFIG_MB_CONTROLLER_STACK_SIZE=4096
276
+CONFIG_MB_EVENT_QUEUE_TIMEOUT=20
277
+CONFIG_MB_TIMER_PORT_ENABLED=y
278
+CONFIG_MB_TIMER_GROUP=0
279
+CONFIG_MB_TIMER_INDEX=0
280
+# CONFIG_FREERTOS_UNICORE is not set
281
+CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF
282
+CONFIG_FREERTOS_CORETIMER_0=y
283
+# CONFIG_FREERTOS_CORETIMER_1 is not set
284
+CONFIG_FREERTOS_HZ=100
285
+CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y
286
+# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set
287
+# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set
288
+CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y
289
+# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
290
+CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y
291
+CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1
292
+CONFIG_FREERTOS_ASSERT_FAIL_ABORT=y
293
+# CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE is not set
294
+# CONFIG_FREERTOS_ASSERT_DISABLE is not set
295
+CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536
296
+CONFIG_FREERTOS_ISR_STACKSIZE=1536
297
+# CONFIG_FREERTOS_LEGACY_HOOKS is not set
298
+CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16
299
+# CONFIG_SUPPORT_STATIC_ALLOCATION is not set
300
+CONFIG_TIMER_TASK_PRIORITY=1
301
+CONFIG_TIMER_TASK_STACK_DEPTH=2048
302
+CONFIG_TIMER_QUEUE_LENGTH=10
303
+CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
304
+# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set
305
+# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set
306
+# CONFIG_FREERTOS_DEBUG_INTERNALS is not set
307
+CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y
308
+CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y
309
+# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set
310
+CONFIG_HEAP_POISONING_DISABLED=y
311
+# CONFIG_HEAP_POISONING_LIGHT is not set
312
+# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set
313
+# CONFIG_HEAP_TRACING is not set
314
+CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y
315
+# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set
316
+# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set
317
+# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set
318
+CONFIG_LOG_DEFAULT_LEVEL_INFO=y
319
+# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set
320
+# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set
321
+CONFIG_LOG_DEFAULT_LEVEL=3
322
+CONFIG_LOG_COLORS=y
323
+# CONFIG_L2_TO_L3_COPY is not set
324
+# CONFIG_LWIP_IRAM_OPTIMIZATION is not set
325
+CONFIG_LWIP_MAX_SOCKETS=10
326
+# CONFIG_USE_ONLY_LWIP_SELECT is not set
327
+CONFIG_LWIP_SO_REUSE=y
328
+CONFIG_LWIP_SO_REUSE_RXTOALL=y
329
+# CONFIG_LWIP_SO_RCVBUF is not set
330
+# CONFIG_LWIP_IP_FRAG is not set
331
+# CONFIG_LWIP_IP_REASSEMBLY is not set
332
+# CONFIG_LWIP_STATS is not set
333
+# CONFIG_LWIP_ETHARP_TRUST_IP_MAC is not set
334
+CONFIG_ESP_GRATUITOUS_ARP=y
335
+CONFIG_GARP_TMR_INTERVAL=60
336
+CONFIG_TCPIP_RECVMBOX_SIZE=32
337
+CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y
338
+# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set
339
+CONFIG_LWIP_DHCPS_LEASE_UNIT=60
340
+CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8
341
+# CONFIG_LWIP_AUTOIP is not set
342
+CONFIG_LWIP_NETIF_LOOPBACK=y
343
+CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8
344
+CONFIG_LWIP_MAX_ACTIVE_TCP=16
345
+CONFIG_LWIP_MAX_LISTENING_TCP=16
346
+CONFIG_TCP_MAXRTX=12
347
+CONFIG_TCP_SYNMAXRTX=6
348
+CONFIG_TCP_MSS=1436
349
+CONFIG_TCP_MSL=60000
350
+CONFIG_TCP_SND_BUF_DEFAULT=5744
351
+CONFIG_TCP_WND_DEFAULT=5744
352
+CONFIG_TCP_RECVMBOX_SIZE=6
353
+CONFIG_TCP_QUEUE_OOSEQ=y
354
+# CONFIG_ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set
355
+CONFIG_TCP_OVERSIZE_MSS=y
356
+# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set
357
+# CONFIG_TCP_OVERSIZE_DISABLE is not set
358
+CONFIG_LWIP_MAX_UDP_PCBS=16
359
+CONFIG_UDP_RECVMBOX_SIZE=6
360
+CONFIG_TCPIP_TASK_STACK_SIZE=3072
361
+CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y
362
+# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set
363
+# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set
364
+CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF
365
+# CONFIG_PPP_SUPPORT is not set
366
+# CONFIG_LWIP_MULTICAST_PING is not set
367
+# CONFIG_LWIP_BROADCAST_PING is not set
368
+CONFIG_LWIP_MAX_RAW_PCBS=16
369
+CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1
370
+CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000
371
+CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y
372
+# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set
373
+# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set
374
+CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=16384
375
+# CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN is not set
376
+# CONFIG_MBEDTLS_DEBUG is not set
377
+# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set
378
+# CONFIG_MBEDTLS_CMAC_C is not set
379
+CONFIG_MBEDTLS_HARDWARE_AES=y
380
+# CONFIG_MBEDTLS_HARDWARE_MPI is not set
381
+# CONFIG_MBEDTLS_HARDWARE_SHA is not set
382
+CONFIG_MBEDTLS_HAVE_TIME=y
383
+# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set
384
+CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y
385
+# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set
386
+# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set
387
+# CONFIG_MBEDTLS_TLS_DISABLED is not set
388
+CONFIG_MBEDTLS_TLS_SERVER=y
389
+CONFIG_MBEDTLS_TLS_CLIENT=y
390
+CONFIG_MBEDTLS_TLS_ENABLED=y
391
+# CONFIG_MBEDTLS_PSK_MODES is not set
392
+CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y
393
+CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y
394
+CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y
395
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y
396
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y
397
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y
398
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y
399
+CONFIG_MBEDTLS_SSL_RENEGOTIATION=y
400
+# CONFIG_MBEDTLS_SSL_PROTO_SSL3 is not set
401
+CONFIG_MBEDTLS_SSL_PROTO_TLS1=y
402
+CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y
403
+CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y
404
+# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set
405
+CONFIG_MBEDTLS_SSL_ALPN=y
406
+CONFIG_MBEDTLS_SSL_SESSION_TICKETS=y
407
+CONFIG_MBEDTLS_AES_C=y
408
+# CONFIG_MBEDTLS_CAMELLIA_C is not set
409
+# CONFIG_MBEDTLS_DES_C is not set
410
+CONFIG_MBEDTLS_RC4_DISABLED=y
411
+# CONFIG_MBEDTLS_RC4_ENABLED_NO_DEFAULT is not set
412
+# CONFIG_MBEDTLS_RC4_ENABLED is not set
413
+# CONFIG_MBEDTLS_BLOWFISH_C is not set
414
+# CONFIG_MBEDTLS_XTEA_C is not set
415
+CONFIG_MBEDTLS_CCM_C=y
416
+CONFIG_MBEDTLS_GCM_C=y
417
+# CONFIG_MBEDTLS_RIPEMD160_C is not set
418
+CONFIG_MBEDTLS_PEM_PARSE_C=y
419
+CONFIG_MBEDTLS_PEM_WRITE_C=y
420
+CONFIG_MBEDTLS_X509_CRL_PARSE_C=y
421
+CONFIG_MBEDTLS_X509_CSR_PARSE_C=y
422
+CONFIG_MBEDTLS_ECP_C=y
423
+CONFIG_MBEDTLS_ECDH_C=y
424
+CONFIG_MBEDTLS_ECDSA_C=y
425
+CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y
426
+CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y
427
+CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y
428
+CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y
429
+CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y
430
+CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y
431
+CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y
432
+CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y
433
+CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y
434
+CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y
435
+CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y
436
+CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y
437
+CONFIG_MBEDTLS_ECP_NIST_OPTIM=y
438
+CONFIG_MDNS_MAX_SERVICES=10
439
+CONFIG_MQTT_PROTOCOL_311=y
440
+CONFIG_MQTT_TRANSPORT_SSL=y
441
+CONFIG_MQTT_TRANSPORT_WEBSOCKET=y
442
+CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y
443
+# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set
444
+# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set
445
+# CONFIG_MQTT_CUSTOM_OUTBOX is not set
446
+# CONFIG_OPENSSL_DEBUG is not set
447
+CONFIG_OPENSSL_ASSERT_DO_NOTHING=y
448
+# CONFIG_OPENSSL_ASSERT_EXIT is not set
449
+CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5
450
+CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072
451
+CONFIG_PTHREAD_STACK_MIN=768
452
+CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y
453
+# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set
454
+# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set
455
+CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1
456
+CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread"
457
+# CONFIG_SPI_FLASH_VERIFY_WRITE is not set
458
+# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set
459
+CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y
460
+CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y
461
+# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set
462
+# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set
463
+CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y
464
+CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20
465
+CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1
466
+CONFIG_SPIFFS_MAX_PARTITIONS=3
467
+CONFIG_SPIFFS_CACHE=y
468
+CONFIG_SPIFFS_CACHE_WR=y
469
+# CONFIG_SPIFFS_CACHE_STATS is not set
470
+CONFIG_SPIFFS_PAGE_CHECK=y
471
+CONFIG_SPIFFS_GC_MAX_RUNS=10
472
+# CONFIG_SPIFFS_GC_STATS is not set
473
+CONFIG_SPIFFS_PAGE_SIZE=256
474
+CONFIG_SPIFFS_OBJ_NAME_LEN=32
475
+CONFIG_SPIFFS_USE_MAGIC=y
476
+CONFIG_SPIFFS_USE_MAGIC_LENGTH=y
477
+CONFIG_SPIFFS_META_LENGTH=4
478
+CONFIG_SPIFFS_USE_MTIME=y
479
+# CONFIG_SPIFFS_DBG is not set
480
+# CONFIG_SPIFFS_API_DBG is not set
481
+# CONFIG_SPIFFS_GC_DBG is not set
482
+# CONFIG_SPIFFS_CACHE_DBG is not set
483
+# CONFIG_SPIFFS_CHECK_DBG is not set
484
+# CONFIG_SPIFFS_TEST_VISUALISATION is not set
485
+CONFIG_IP_LOST_TIMER_INTERVAL=120
486
+CONFIG_TCPIP_LWIP=y
487
+CONFIG_UNITY_ENABLE_FLOAT=y
488
+CONFIG_UNITY_ENABLE_DOUBLE=y
489
+# CONFIG_UNITY_ENABLE_COLOR is not set
490
+CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
491
+# CONFIG_UNITY_ENABLE_FIXTURE is not set
492
+CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y
493
+CONFIG_SUPPORT_TERMIOS=y
494
+# CONFIG_WL_SECTOR_SIZE_512 is not set
495
+CONFIG_WL_SECTOR_SIZE_4096=y
496
+CONFIG_WL_SECTOR_SIZE=4096
497
+CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16