├── .gitignore
├── CODEOWNERS
├── LICENSE
├── README.md
├── examples
├── CMakeLists.txt
├── README.md
├── api
│ ├── go.sum
│ └── main.go
├── examples
│ └── .devcontainer
│ │ ├── Dockerfile
│ │ └── devcontainer.json
├── main
│ ├── CMakeLists.txt
│ ├── Kconfig.projbuild
│ ├── iridium_example_main.c
│ ├── led_strip_encoder.c
│ └── led_strip_encoder.h
├── pytest_example.py
├── sdkconfig
├── sdkconfig.ci
└── sdkconfig.old
├── flipper-zero-app
├── .github
│ └── workflows
│ │ └── build.yml
├── application.fam
├── dist
│ └── iridium_satcom.fap
├── images
│ └── .gitkeep
├── iridium_satcom.c
└── iridium_satcom.png
├── img
└── pinout.png
├── iridium.c
├── iridium.h
├── stack.c
└── stack.h
/.gitignore:
--------------------------------------------------------------------------------
1 | # Prerequisites
2 | *.d
3 |
4 | # Object files
5 | *.o
6 | *.ko
7 | *.obj
8 | *.elf
9 |
10 | # Linker output
11 | *.ilk
12 | *.map
13 | *.exp
14 |
15 | # Precompiled Headers
16 | *.gch
17 | *.pch
18 |
19 | # Libraries
20 | *.lib
21 | *.a
22 | *.la
23 | *.lo
24 |
25 | # Shared objects (inc. Windows DLLs)
26 | *.dll
27 | *.so
28 | *.so.*
29 | *.dylib
30 |
31 | # Executables
32 | *.exe
33 | *.out
34 | *.app
35 | *.i*86
36 | *.x86_64
37 | *.hex
38 |
39 | # Debug files
40 | *.dSYM/
41 | *.su
42 | *.idb
43 | *.pdb
44 |
45 | # Kernel Module Compile Results
46 | *.mod*
47 | *.cmd
48 | .tmp_versions/
49 | modules.order
50 | Module.symvers
51 | Mkfile.old
52 | dkms.conf
53 |
54 | build/
55 |
56 | # VS Code
57 | .vscode
58 |
59 | # IDF
60 | .pytest_cache
61 | managed_components
62 |
63 | # IDEs
64 | .idea
65 | .DS_Store
--------------------------------------------------------------------------------
/CODEOWNERS:
--------------------------------------------------------------------------------
1 | @johnosullivan
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 John O'Sullivan
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ESP32-SX/CX Iridium Modem
2 |
3 | ## Overview
4 |
5 | The purpose of this library is to provide a drop-in solution for interactions on the Iridium Satellite network using AT commands. The library uses the ESP32 UART bus with different queues/pthread to manage messages in an asynchronous or synchronous way.
6 |
7 | ## Dependencies
8 |
9 | - ESP IDF
10 | - FreeRTOS
11 |
12 | ---
13 |
14 | ## Hardware
15 |
16 | 
17 |
18 | **NOTE**: The default serial baud rate is 19200 with most of the RockBlock pinouts operating on 3.3v logic.
19 |
20 | 1) RXD -> Serial output from device
21 | 2) CTS -> Clear to Send
22 | 3) RTS -> Ready To Send
23 | 4) NET -> Network Available
24 | 5) RI -> Ring Indicator
25 | 6) TXD -> Serial input to device
26 | 7) SLP -> Sleep control
27 | 8) 5V -> 5V in power supply
28 | 9) BAT -> 3.7V power supply
29 | 10) GND -> Ground
30 |
31 |
32 |
33 | ---
34 |
35 | ## Documentation
36 |
37 | Construct an iridium satellite communication struct with callbacks.
38 |
39 | ```c
40 | iridium_t *satcom = iridium_default_configuration();
41 | satcom->callback = &cb_satcom;
42 | satcom->message_callback = &cb_message;
43 | ```
44 |
45 | Configure UART bus ports.
46 |
47 | ```c
48 | /* UART Port Configuration */
49 | satcom->uart_number = UART_NUM_1;
50 | satcom->uart_txn_number = GPIO_NUM_17;
51 | satcom->uart_rxd_number = GPIO_NUM_18;
52 | satcom->uart_rts_number = UART_PIN_NO_CHANGE;
53 | satcom->uart_cts_number = UART_PIN_NO_CHANGE;
54 | ```
55 |
56 | Setup satellite modem.
57 |
58 | ```c
59 | iridium_config(satcom) // return SAT_OK or SAT_ERROR
60 | ```
61 |
62 | Once a `SAT_OK` status is received from the satellite configuration, the following methods are available.
63 |
64 | ---
65 |
66 | Enabled or disable the ring notification on the modem.
67 | ```c
68 | /**
69 | * @param satcom the iridium_t struct pointer.
70 | * @param enabled the ring notification.
71 | * @return a iridium_result_t with metadata.
72 | */
73 | iridium_result_t iridium_config_ring(iridium_t *satcom, bool enabled);
74 | ```
75 |
76 | ---
77 | Transmit a message to the iridium network.
78 | ```c
79 | /**
80 | * @param satcom the iridium_t struct pointer.
81 | * @param message to be sent.
82 | * @return a iridium_result_t with metadata.
83 | */
84 | iridium_result_t iridium_tx_message(iridium_t *satcom, char *message);
85 | ```
86 |
87 | ---
88 | Send AT command with data.
89 | ```c
90 | /**
91 | * @param satcom the iridium_t struct pointer.
92 | * @param command the iridium modem AT command.
93 | * @param rdata the raw data.
94 | * @param wait_response wait for a responce from the modem.
95 | * @param wait_interval the amount of time in ms for wait interval check.
96 | * @return a iridium_result_t with metadata.
97 | */
98 | iridium_result_t iridium_send(iridium_t* satcom, iridium_command_t command, char *rdata, bool wait_response, int wait_interval);
99 | ```
100 |
101 | ## Example
102 |
103 | ```c
104 | #include "iridium.h"
105 |
106 | static const char *TAG_CORE = "iridium_example";
107 |
108 | /* Callbacks */
109 | void cb_satcom(iridium_t* satcom, iridium_command_t command, iridium_status_t status) {
110 | if (status == SAT_OK) {
111 | switch (command) {
112 | case AT_CSQ:
113 | ESP_LOGI(TAG_CORE, "Signal Strength [0-5]: %d", satcom->signal_strength);
114 | break;
115 | case AT_CGMM:
116 | ESP_LOGI(TAG_CORE, "Model Identification: %s", satcom->model_identification);
117 | break;
118 | case AT_CGMI:
119 | ESP_LOGI(TAG_CORE, "Manufacturer Identification: %s", satcom->manufacturer_identification);
120 | break;
121 | default:
122 | break;
123 | }
124 | }
125 | }
126 |
127 | void cb_message(iridium_t* satcom, char* data) {
128 | ESP_LOGI(TAG_CORE, "MESSAGE[INCOMING] %s", data);
129 | }
130 |
131 | /* Configuration Iridium SatCom */
132 | iridium_t *satcom = iridium_default_configuration();
133 | satcom->callback = &cb_satcom;
134 | satcom->message_callback = &cb_message;
135 | /* UART Port Configuration */
136 | satcom->uart_number = UART_NUM_1;
137 | satcom->uart_txn_number = GPIO_NUM_17;
138 | satcom->uart_rxd_number = GPIO_NUM_18;
139 | satcom->uart_rts_number = UART_PIN_NO_CHANGE;
140 | satcom->uart_cts_number = UART_PIN_NO_CHANGE;
141 |
142 | /* Initialized */
143 | if (iridium_config(satcom) == SAT_OK) {
144 | ESP_LOGI(TAG_CORE, "Iridium Modem [Initialized]");
145 | }
146 |
147 | /* Allow Ring Triggers */
148 | iridium_result_t ring = iridium_config_ring(satcom, true);
149 | if (ring.status == SAT_OK) {
150 | ESP_LOGI(TAG_CORE, "Iridium Modem [Ring Enabled]");
151 | }
152 | ```
153 |
154 | # Contributing
155 |
156 | When contributing to this repository, please first discuss the change you wish to make via issue,
157 | email, or any other method with the owners of this repository before making a change.
158 |
159 | Please note we have a code of conduct, please follow it in all your interactions with the project.
160 |
161 | ## Pull Request Process
162 |
163 | 1. Ensure any install or build dependencies are removed before the end of the layer when doing a
164 | build.
165 | 2. Update the README.md with details of changes to the interface, this includes new environment
166 | variables, exposed ports, useful file locations and container parameters.
167 | 3. You may merge the Pull Request in once you have the sign-off of two other developers, or if you
168 | do not have permission to do that, you may request the second reviewer to merge it for you.
169 |
170 | ## Code of Conduct
171 |
172 | ### Our Pledge
173 |
174 | In the interest of fostering an open and welcoming environment, we as
175 | contributors and maintainers pledge to making participation in our project and
176 | our community a harassment-free experience for everyone, regardless of age, body
177 | size, disability, ethnicity, gender identity and expression, level of experience,
178 | nationality, personal appearance, race, religion, or sexual identity and
179 | orientation.
180 |
181 | ### Our Standards
182 |
183 | Examples of behavior that contributes to creating a positive environment
184 | include:
185 |
186 | * Using welcoming and inclusive language
187 | * Being respectful of differing viewpoints and experiences
188 | * Gracefully accepting constructive criticism
189 | * Focusing on what is best for the community
190 | * Showing empathy towards other community members
191 |
192 | Examples of unacceptable behavior by participants include:
193 |
194 | * The use of sexualized language or imagery and unwelcome sexual attention or
195 | advances
196 | * Trolling, insulting/derogatory comments, and personal or political attacks
197 | * Public or private harassment
198 | * Publishing others' private information, such as a physical or electronic
199 | address, without explicit permission
200 | * Other conduct which could reasonably be considered inappropriate in a
201 | professional setting
202 |
203 | ### Our Responsibilities
204 |
205 | Project maintainers are responsible for clarifying the standards of acceptable
206 | behavior and are expected to take appropriate and fair corrective action in
207 | response to any instances of unacceptable behavior.
208 |
209 | Project maintainers have the right and responsibility to remove, edit, or
210 | reject comments, commits, code, wiki edits, issues, and other contributions
211 | that are not aligned to this Code of Conduct, or to ban temporarily or
212 | permanently any contributor for other behaviors that they deem inappropriate,
213 | threatening, offensive, or harmful.
214 |
215 | ### Scope
216 |
217 | This Code of Conduct applies both within project spaces and in public spaces
218 | when an individual is representing the project or its community. Examples of
219 | representing a project or community include using an official project e-mail
220 | address, posting via an official social media account, or acting as an appointed
221 | representative at an online or offline event. Representation of a project may be
222 | further defined and clarified by project maintainers.
223 |
224 | ### Enforcement
225 |
226 | Instances of abusive, harassing, or otherwise unacceptable behavior may be
227 | reported by contacting the project team at [INSERT EMAIL ADDRESS]. All
228 | complaints will be reviewed and investigated and will result in a response that
229 | is deemed necessary and appropriate to the circumstances. The project team is
230 | obligated to maintain confidentiality with regard to the reporter of an incident.
231 | Further details of specific enforcement policies may be posted separately.
232 |
233 | Project maintainers who do not follow or enforce the Code of Conduct in good
234 | faith may face temporary or permanent repercussions as determined by other
235 | members of the project's leadership.
236 |
237 | ### Attribution
238 |
239 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
240 | available at [http://contributor-covenant.org/version/1/4][version]
241 |
242 | [homepage]: http://contributor-covenant.org
243 | [version]: http://contributor-covenant.org/version/1/4/
244 |
--------------------------------------------------------------------------------
/examples/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # The following lines of boilerplate have to be in your project's
2 | # CMakeLists in this exact order for cmake to work correctly
3 | cmake_minimum_required(VERSION 3.16)
4 |
5 | include($ENV{IDF_PATH}/tools/cmake/project.cmake)
6 | project(iridium_example)
7 |
--------------------------------------------------------------------------------
/examples/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johnosullivan/esp32-iridium-modem/c20245df6b4ad9e1c84f3fe348181eaa629013e9/examples/README.md
--------------------------------------------------------------------------------
/examples/api/go.sum:
--------------------------------------------------------------------------------
1 | github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
2 | github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
3 | github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
4 | github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
5 | github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
6 | github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
7 | github.com/gin-gonic/gin v1.8.2 h1:UzKToD9/PoFj/V4rvlKqTRKnQYyz8Sc1MJlv4JHPtvY=
8 | github.com/gin-gonic/gin v1.8.2/go.mod h1:qw5AYuDrzRTnhvusDsrov+fDIxp9Dleuu12h8nfB398=
9 | github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A=
10 | github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
11 | github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU=
12 | github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs=
13 | github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho=
14 | github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA=
15 | github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ=
16 | github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU=
17 | github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk=
18 | github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
19 | github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
20 | github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
21 | github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
22 | github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
23 | github.com/joncalhoun/qson v0.0.0-20200422171543-84433dcd3da0 h1:ct2XA1aDw8A07Dr8gtrrZgIgLKcZNAl2o9nn0WRMK4Y=
24 | github.com/joncalhoun/qson v0.0.0-20200422171543-84433dcd3da0/go.mod h1:DFXrEwSRX0p/aSvxE21319menCBFeQO0jXpRj7LEZUA=
25 | github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
26 | github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
27 | github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
28 | github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
29 | github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
30 | github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
31 | github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
32 | github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
33 | github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
34 | github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
35 | github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w=
36 | github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY=
37 | github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ=
38 | github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
39 | github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc=
40 | github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
41 | github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
42 | github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
43 | github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU=
44 | github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek=
45 | github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
46 | github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
47 | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
48 | github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
49 | github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8=
50 | github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE=
51 | github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
52 | github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
53 | github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
54 | github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
55 | github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
56 | github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
57 | github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
58 | github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
59 | github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
60 | github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
61 | github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M=
62 | github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0=
63 | github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY=
64 | golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3 h1:0es+/5331RGQPcXlMfP+WrnIIS6dNnNRe0WB02W0F4M=
65 | golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
66 | golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
67 | golang.org/x/net v0.4.0 h1:Q5QPcMlvfxFTAPV0+07Xz/MpK9NTXu2VDUuy0FeMfaU=
68 | golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
69 | golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
70 | golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
71 | golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
72 | golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
73 | golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
74 | golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ=
75 | golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
76 | golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
77 | golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
78 | golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
79 | golang.org/x/text v0.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM=
80 | golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
81 | golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
82 | golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
83 | golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
84 | google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
85 | google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w=
86 | google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
87 | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
88 | gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
89 | gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
90 | gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
91 | gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
92 | gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
93 | gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
94 | gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
95 | gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
96 | gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
97 | gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
98 |
--------------------------------------------------------------------------------
/examples/api/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "log"
5 | "encoding/json"
6 |
7 | "github.com/gin-gonic/gin"
8 | "github.com/joncalhoun/qson"
9 | )
10 |
11 | // rockblock message structure
12 | type RockBlockMessage struct {
13 | Imei int64 `json:"imei"` // The unique IMEI of your RockBLOCK
14 | Serial int32 `json:"serial"` // The serial number of your RockBLOCK
15 | Momsn int32 `json:"momsn"` // The Message Sequence Number set by RockBLOCK when the message was sent from the device to the Iridium Gateway.
16 | TransmitTime string `json:"transmit_time"` // The date & time (always UTC) that the message was transmitted.
17 | IridiumLatitude float64 `json:"iridium_latitude"` // The approximate latitude of the RockBLOCK at the time it transmitted.
18 | IridiumLongitude float64 `json:"iridium_longitude"` // The approximate longitude of the RockBLOCK at the time it transmitted.
19 | IridiumCep int `json:"iridium_cep"` // An estimate of the accuracy (in km) of the position information in the previous two fields.
20 | Data string `json:"data"` // Message hex-encoded.
21 | }
22 |
23 | func main() {
24 | r := gin.Default()
25 |
26 | r.POST("/", func(c *gin.Context) {
27 | // retrieve the raw data from the HTTP request
28 | rawData, err := c.GetRawData()
29 | if err != nil {
30 | log.Println(err)
31 | c.JSON(400, gin.H{"message": err}) // return parsing error message
32 | return
33 | }
34 | // convert the URL params to JSON form using "qson"
35 | b, err := qson.ToJSON(string(rawData))
36 | if err != nil {
37 | log.Println(err)
38 | c.JSON(400, gin.H{"message": err}) // return parsing error message
39 | return
40 | }
41 | log.Println("qson:", string(b))
42 |
43 | message := RockBlockMessage{}
44 | err = json.Unmarshal(b, &message)
45 | if err != nil {
46 | log.Println(err)
47 | c.JSON(400, gin.H{"message": err}) // return parsing error message
48 | return
49 | }
50 |
51 | log.Println("IRIDIUM_IMEI:", message.Imei)
52 | log.Println("IRIDIUM_SERIAL:", message.Serial)
53 | log.Println("IRIDIUM_MOMSN:", message.Momsn)
54 | log.Println("IRIDIUM_TRANSMIT_TIME:", message.TransmitTime)
55 | log.Println("IRIDIUM_LATITUDE:", message.IridiumLatitude)
56 | log.Println("IRIDIUM_LONGITUDE:", message.IridiumLongitude)
57 | log.Println("IRIDIUM_CEP:", message.IridiumCep)
58 | log.Println("IRIDIUM_DATA:", message.Data)
59 |
60 | // return a general 200 OK status to iridium service provider ex. RockBlock
61 | c.JSON(200, nil)
62 | })
63 |
64 | r.Run()
65 | }
--------------------------------------------------------------------------------
/examples/examples/.devcontainer/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM espressif/idf
2 |
3 | ARG DEBIAN_FRONTEND=nointeractive
4 | ARG CONTAINER_USER=esp
5 | ARG USER_UID=1050
6 | ARG USER_GID=$USER_UID
7 |
8 | RUN apt-get update \
9 | && apt install -y -q \
10 | cmake \
11 | git \
12 | libglib2.0-0 \
13 | libnuma1 \
14 | libpixman-1-0 \
15 | && rm -rf /var/lib/apt/lists/*
16 |
17 | # QEMU
18 | ENV QEMU_REL=esp_develop_8.2.0_20240122
19 | ENV QEMU_SHA256=e7c72ef5705ad1444d391711088c8717fc89f42e9bf6d1487f9c2a326b8cfa83
20 | ENV QEMU_DIST=qemu-xtensa-softmmu-${QEMU_REL}-x86_64-linux-gnu.tar.xz
21 | ENV QEMU_URL=https://github.com/espressif/qemu/releases/download/esp-develop-8.2.0-20240122/${QEMU_DIST}
22 |
23 | ENV LC_ALL=C.UTF-8
24 | ENV LANG=C.UTF-8
25 |
26 | RUN wget --no-verbose ${QEMU_URL} \
27 | && echo "${QEMU_SHA256} *${QEMU_DIST}" | sha256sum --check --strict - \
28 | && tar -xf $QEMU_DIST -C /opt \
29 | && rm ${QEMU_DIST}
30 |
31 | ENV PATH=/opt/qemu/bin:${PATH}
32 |
33 | RUN groupadd --gid $USER_GID $CONTAINER_USER \
34 | && adduser --uid $USER_UID --gid $USER_GID --disabled-password --gecos "" ${CONTAINER_USER} \
35 | && usermod -a -G root $CONTAINER_USER && usermod -a -G dialout $CONTAINER_USER
36 |
37 | RUN chmod -R 775 /opt/esp/python_env/
38 |
39 | USER ${CONTAINER_USER}
40 | ENV USER=${CONTAINER_USER}
41 | WORKDIR /home/${CONTAINER_USER}
42 |
43 | RUN echo "source /opt/esp/idf/export.sh > /dev/null 2>&1" >> ~/.bashrc
44 |
45 | ENTRYPOINT [ "/opt/esp/entrypoint.sh" ]
46 |
47 | CMD ["/bin/bash", "-c"]
--------------------------------------------------------------------------------
/examples/examples/.devcontainer/devcontainer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ESP-IDF QEMU",
3 | "build": {
4 | "dockerfile": "Dockerfile"
5 | },
6 | "customizations": {
7 | "vscode": {
8 | "settings": {
9 | "terminal.integrated.defaultProfile.linux": "bash",
10 | "idf.espIdfPath": "/opt/esp/idf",
11 | "idf.customExtraPaths": "",
12 | "idf.pythonBinPath": "/opt/esp/python_env/idf5.4_py3.12_env/bin/python",
13 | "idf.toolsPath": "/opt/esp",
14 | "idf.gitPath": "/usr/bin/git"
15 | },
16 | "extensions": [
17 | "espressif.esp-idf-extension"
18 | ]
19 | },
20 | "codespaces": {
21 | "settings": {
22 | "terminal.integrated.defaultProfile.linux": "bash",
23 | "idf.espIdfPath": "/opt/esp/idf",
24 | "idf.customExtraPaths": "",
25 | "idf.pythonBinPath": "/opt/esp/python_env/idf5.4_py3.12_env/bin/python",
26 | "idf.toolsPath": "/opt/esp",
27 | "idf.gitPath": "/usr/bin/git"
28 | },
29 | "extensions": [
30 | "espressif.esp-idf-extension",
31 | "espressif.esp-idf-web"
32 | ]
33 | }
34 | },
35 | "runArgs": ["--privileged"]
36 | }
--------------------------------------------------------------------------------
/examples/main/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | idf_component_register(SRCS "iridium_example_main.c" "led_strip_encoder.c" "../../stack.c" "../../iridium.c"
2 | INCLUDE_DIRS "")
3 |
--------------------------------------------------------------------------------
/examples/main/Kconfig.projbuild:
--------------------------------------------------------------------------------
1 | menu "Iridium Configuration"
2 |
3 | config RMT_LED_STRIP_RESOLUTION_HZ
4 | int "RMT LED_STRIP RESOLUTION HZ"
5 | range 0 100000000
6 | default 10000000
7 | help
8 | RMT LED_STRIP RESOLUTION HZ: 0-100000000
9 |
10 | config RMT_LED_STRIP_GPIO_NUM
11 | int "RMT LED_STRIP GPIO_NUM"
12 | range 0 255
13 | default 0
14 | help
15 | RMT LED_STRIP GPIO_NUM: 0-255
16 |
17 | config RMT_LED_STRIP_COUNT
18 | int "RMT LED_STRIP COUNT"
19 | range 0 255
20 | default 1
21 | help
22 | RMT LED_STRIP COUNT: 0-255
23 |
24 | config UART_NUMBER
25 | int "UART_NUMBER"
26 | range 0 255
27 | default 0
28 | help
29 | UART_NUMBER: 0-255
30 |
31 | config UART_TX_GPIO_NUM
32 | int "UART_TX_GPIO_NUM"
33 | range 0 255
34 | default 0
35 | help
36 | UART_TX_GPIO_NUM: 0-255
37 |
38 | config UART_RX_GPIO_NUM
39 | int "UART_RX_GPIO_NUM"
40 | range 0 255
41 | default 0
42 | help
43 | UART_RX_GPIO_NUM: 0-255
44 |
45 | config UART_SLEEP_GPIO_NUM
46 | int "UART_SLEEP_GPIO_NUM"
47 | range 0 255
48 | default 0
49 | help
50 | UART_SLEEP_GPIO_NUM: 0-255
51 |
52 | config UART_NET_GPIO_NUM
53 | int "UART_NET_GPIO_NUM"
54 | range 0 255
55 | default 0
56 | help
57 | UART_NET_GPIO_NUM: 0-255
58 |
59 | endmenu
60 |
--------------------------------------------------------------------------------
/examples/main/iridium_example_main.c:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2010-2023 Espressif Systems (Shanghai) CO LTD AUTO-GEN
3 | *
4 | * SPDX-License-Identifier: MIT
5 | *
6 | * 2022-2023 John O'Sullivan
7 | *
8 | */
9 |
10 | #include
11 | #include
12 | #include
13 |
14 | #include "sdkconfig.h"
15 | #include "nvs.h"
16 |
17 | #include "freertos/FreeRTOS.h"
18 | #include "freertos/task.h"
19 | #include "freertos/queue.h"
20 |
21 | #include "esp_chip_info.h"
22 | #include "esp_flash.h"
23 | #include "esp_log.h"
24 | #include "esp_event.h"
25 | #include "nvs_flash.h"
26 | #include "esp_system.h"
27 |
28 | #include "spi_flash_mmap.h" // or #include "esp_spi_flash.h"
29 |
30 | #include "driver/uart.h"
31 | #include "driver/gpio.h"
32 | #include "driver/rmt_tx.h"
33 |
34 | #include "led_strip_encoder.h"
35 |
36 | #include "../../../iridium.h"
37 |
38 | static const char *TAG = "iridium_examples";
39 |
40 | /* RMT configs, default 10MHz resolution, 1 tick = 0.1us (led needs a high resolution) */
41 | #define RMT_LED_STRIP_RESOLUTION_HZ CONFIG_RMT_LED_STRIP_RESOLUTION_HZ
42 | #define RMT_LED_STRIP_GPIO_NUM CONFIG_RMT_LED_STRIP_GPIO_NUM
43 | #define RMT_LED_STRIP_COUNT CONFIG_RMT_LED_STRIP_COUNT
44 |
45 | /* UART configs, defaults all zero, requires "idf.py menuconfig" > "Iridium Configuration" update */
46 | #define UART_NUMBER CONFIG_UART_NUMBER
47 | #define UART_TX_GPIO_NUM CONFIG_UART_TX_GPIO_NUM
48 | #define UART_RX_GPIO_NUM CONFIG_UART_RX_GPIO_NUM
49 | #define UART_SLEEP_GPIO_NUM CONFIG_UART_SLEEP_GPIO_NUM
50 | #define UART_NET_GPIO_NUM CONFIG_UART_NET_GPIO_NUM
51 |
52 | /* LED pixels representation as count * (green, red, blue) */
53 | static uint8_t led_pixels[RMT_LED_STRIP_COUNT * 3];
54 |
55 | /* LED pixels rmt channel/encoder handles */
56 | rmt_channel_handle_t led_channel = NULL;
57 | rmt_encoder_handle_t led_encoder = NULL;
58 | rmt_transmit_config_t tx_config = {
59 | .loop_count = 0,
60 | };
61 |
62 | iridium_t *satcom;
63 |
64 | /*
65 | * Configure the built-in addressable LED.
66 | */
67 | static void configure_led(void) {
68 | // config the rmt tx channel for built in LED
69 | rmt_tx_channel_config_t tx_chan_config = {
70 | .clk_src = RMT_CLK_SRC_DEFAULT,
71 | .gpio_num = RMT_LED_STRIP_GPIO_NUM,
72 | .mem_block_symbols = 64,
73 | .resolution_hz = RMT_LED_STRIP_RESOLUTION_HZ,
74 | .trans_queue_depth = 4,
75 | };
76 | ESP_ERROR_CHECK(rmt_new_tx_channel(&tx_chan_config, &led_channel));
77 | // config the LED encoder
78 | led_strip_encoder_config_t encoder_config = {
79 | .resolution = RMT_LED_STRIP_RESOLUTION_HZ,
80 | };
81 | ESP_ERROR_CHECK(rmt_new_led_strip_encoder(&encoder_config, &led_encoder));
82 | ESP_ERROR_CHECK(rmt_enable(led_channel));
83 | }
84 |
85 | /*
86 | * Set the LED pixels (green,red,blue) 0-255.
87 | */
88 | void update_led_pixels(uint8_t green, uint8_t red, uint8_t blue) {
89 | led_pixels[0] = green; // green
90 | led_pixels[1] = red; // red
91 | led_pixels[2] = blue; // blue
92 | }
93 |
94 | /*
95 | * The iridium satellite callback function for TX AT commands.
96 | */
97 | void cb_satcom(iridium_t* satcom, iridium_command_t command, iridium_status_t status) {
98 | if (status == SAT_OK) {
99 | switch (command) {
100 | case AT_CSQ:
101 | ESP_LOGI(TAG, "Signal Strength [0-5]: %d", satcom->signal_strength);
102 | switch (satcom->signal_strength) {
103 | case 1:
104 | update_led_pixels(128, 255, 0); // status orange
105 | break;
106 | case 2:
107 | update_led_pixels(255, 255, 0); // status yellow
108 | break;
109 | case 3:
110 | update_led_pixels(255, 128, 0); // status light/green/blue
111 | break;
112 | case 4:
113 | update_led_pixels(255, 0, 255); // status green/blue
114 | break;
115 | case 5:
116 | update_led_pixels(255, 0, 0); // status green
117 | break;
118 | default:
119 | memset(led_pixels, 0, sizeof(led_pixels)); // reset the led_pixels - status no color
120 | break;
121 | }
122 | ESP_ERROR_CHECK(rmt_transmit(led_channel, led_encoder, led_pixels, sizeof(led_pixels), &tx_config));
123 | break;
124 | case AT_CGMM:
125 | ESP_LOGI(TAG, "Model Identification: %s", satcom->model_identification);
126 | break;
127 | case AT_CGMI:
128 | ESP_LOGI(TAG, "Manufacturer Identification: %s", satcom->manufacturer_identification);
129 | break;
130 | default:
131 | break;
132 | }
133 | }
134 | }
135 |
136 | /*
137 | * The iridium satellite callback function for inbound messages.
138 | */
139 | void cb_message(iridium_t* satcom, char* data) {
140 | ESP_LOGI(TAG, "CALLBACK[INCOMING] %s", data);
141 | }
142 |
143 | void system_monitoring_task(void *pvParameters) {
144 | ESP_LOGI(TAG, "System [system_monitoring_task]");
145 |
146 | iridium_t* satcom = (iridium_t *)pvParameters;
147 | for(;;) {
148 | if (gpio_get_level(GPIO_NUM_4) == 1) {
149 | ESP_LOGI(TAG, "SENDING");
150 | /* example payload */
151 | char *data = "39.2818624911";
152 | iridium_tx_message(satcom, data);
153 | ESP_LOGI(TAG, "SENT");
154 | }
155 | vTaskDelay(1000);
156 | }
157 |
158 | vTaskDelete(NULL);
159 | }
160 |
161 | /*
162 | * Main app entry point for the ESP32 runtime.
163 | */
164 | void app_main(void)
165 | {
166 | /* Print chip information */
167 | esp_chip_info_t chip_info;
168 | uint32_t flash_size;
169 | esp_chip_info(&chip_info);
170 | printf("[%s] - %d CPU core(s), WiFi%s%s%s, ",
171 | CONFIG_IDF_TARGET,
172 | chip_info.cores,
173 | (chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "",
174 | (chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "",
175 | (chip_info.features & CHIP_FEATURE_IEEE802154) ? ", 802.15.4 (Zigbee/Thread)" : "");
176 |
177 | /* Initialize NVS */
178 | esp_err_t err = nvs_flash_init();
179 | if (err == ESP_ERR_NVS_NO_FREE_PAGES || err == ESP_ERR_NVS_NEW_VERSION_FOUND) {
180 | ESP_ERROR_CHECK(nvs_flash_erase());
181 | err = nvs_flash_init();
182 | }
183 | ESP_ERROR_CHECK(err);
184 |
185 | unsigned major_rev = chip_info.revision / 100;
186 | unsigned minor_rev = chip_info.revision % 100;
187 | printf("Silicon Revision v%d.%d, ", major_rev, minor_rev);
188 | if(esp_flash_get_size(NULL, &flash_size) != ESP_OK) {
189 | return;
190 | }
191 |
192 | printf("%" PRIu32 "MB %s \n", flash_size / (uint32_t)(1024 * 1024),
193 | (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "Embedded" : "External");
194 |
195 |
196 | /* Setup the button input send on press */
197 | gpio_set_direction(GPIO_NUM_4, GPIO_MODE_INPUT);
198 |
199 | /* Configuration Iridium SatCom */
200 | satcom = iridium_default_configuration();
201 | satcom->callback = &cb_satcom;
202 | satcom->message_callback = &cb_message;
203 | /* UART Port Configuration */
204 | satcom->uart_number = UART_NUMBER;
205 | satcom->uart_txn_number = UART_TX_GPIO_NUM;
206 | satcom->uart_rxd_number = UART_RX_GPIO_NUM;
207 | satcom->uart_rts_number = UART_PIN_NO_CHANGE;
208 | satcom->uart_cts_number = UART_PIN_NO_CHANGE;
209 | satcom->gpio_sleep_pin_number = UART_SLEEP_GPIO_NUM;
210 | satcom->gpio_net_pin_number = UART_NET_GPIO_NUM;
211 |
212 | /* Create FreeRTOS Monitoring Task */
213 | xTaskCreate(&system_monitoring_task, "system_monitoring_task", 4048, satcom, 12, NULL);
214 |
215 | /* Initialized */
216 | if (iridium_config(satcom) == SAT_OK) {
217 | ESP_LOGI(TAG, "Iridium Modem [Initialized]");
218 | }
219 |
220 | /* Allow Ring Triggers */
221 | iridium_result_t ring = iridium_config_ring(satcom, true);
222 | if (ring.status == SAT_OK) {
223 | ESP_LOGI(TAG, "Iridium Modem [Ring Enabled]");
224 | }
225 |
226 | /* Setup Built-In Addressable RGB LED, driven by GPIO38. */
227 | configure_led();
228 |
229 | /* Loop */
230 | for(;;) {
231 | iridium_result_t r1 = iridium_send(satcom, AT_CSQ, "", true, 500);
232 | if (r1.status == SAT_OK) {
233 | ESP_LOGI(TAG, "R[%d] = %s", r1.status, r1.result);
234 | }
235 | vTaskDelay(pdMS_TO_TICKS(60000));
236 | }
237 | }
238 |
--------------------------------------------------------------------------------
/examples/main/led_strip_encoder.c:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
3 | *
4 | * SPDX-License-Identifier: Apache-2.0
5 | */
6 |
7 | #include "esp_check.h"
8 | #include "led_strip_encoder.h"
9 |
10 | static const char *TAG = "led_encoder";
11 |
12 | typedef struct {
13 | rmt_encoder_t base;
14 | rmt_encoder_t *bytes_encoder;
15 | rmt_encoder_t *copy_encoder;
16 | int state;
17 | rmt_symbol_word_t reset_code;
18 | } rmt_led_strip_encoder_t;
19 |
20 | static size_t rmt_encode_led_strip(rmt_encoder_t *encoder, rmt_channel_handle_t channel, const void *primary_data, size_t data_size, rmt_encode_state_t *ret_state)
21 | {
22 | rmt_led_strip_encoder_t *led_encoder = __containerof(encoder, rmt_led_strip_encoder_t, base);
23 | rmt_encoder_handle_t bytes_encoder = led_encoder->bytes_encoder;
24 | rmt_encoder_handle_t copy_encoder = led_encoder->copy_encoder;
25 | rmt_encode_state_t session_state = 0;
26 | rmt_encode_state_t state = 0;
27 | size_t encoded_symbols = 0;
28 | switch (led_encoder->state) {
29 | case 0: // send RGB data
30 | encoded_symbols += bytes_encoder->encode(bytes_encoder, channel, primary_data, data_size, &session_state);
31 | if (session_state & RMT_ENCODING_COMPLETE) {
32 | led_encoder->state = 1; // switch to next state when current encoding session finished
33 | }
34 | if (session_state & RMT_ENCODING_MEM_FULL) {
35 | state |= RMT_ENCODING_MEM_FULL;
36 | goto out; // yield if there's no free space for encoding artifacts
37 | }
38 | // fall-through
39 | case 1: // send reset code
40 | encoded_symbols += copy_encoder->encode(copy_encoder, channel, &led_encoder->reset_code,
41 | sizeof(led_encoder->reset_code), &session_state);
42 | if (session_state & RMT_ENCODING_COMPLETE) {
43 | led_encoder->state = 0; // back to the initial encoding session
44 | state |= RMT_ENCODING_COMPLETE;
45 | }
46 | if (session_state & RMT_ENCODING_MEM_FULL) {
47 | state |= RMT_ENCODING_MEM_FULL;
48 | goto out; // yield if there's no free space for encoding artifacts
49 | }
50 | }
51 | out:
52 | *ret_state = state;
53 | return encoded_symbols;
54 | }
55 |
56 | static esp_err_t rmt_del_led_strip_encoder(rmt_encoder_t *encoder)
57 | {
58 | rmt_led_strip_encoder_t *led_encoder = __containerof(encoder, rmt_led_strip_encoder_t, base);
59 | rmt_del_encoder(led_encoder->bytes_encoder);
60 | rmt_del_encoder(led_encoder->copy_encoder);
61 | free(led_encoder);
62 | return ESP_OK;
63 | }
64 |
65 | static esp_err_t rmt_led_strip_encoder_reset(rmt_encoder_t *encoder)
66 | {
67 | rmt_led_strip_encoder_t *led_encoder = __containerof(encoder, rmt_led_strip_encoder_t, base);
68 | rmt_encoder_reset(led_encoder->bytes_encoder);
69 | rmt_encoder_reset(led_encoder->copy_encoder);
70 | led_encoder->state = 0;
71 | return ESP_OK;
72 | }
73 |
74 | esp_err_t rmt_new_led_strip_encoder(const led_strip_encoder_config_t *config, rmt_encoder_handle_t *ret_encoder)
75 | {
76 | esp_err_t ret = ESP_OK;
77 | rmt_led_strip_encoder_t *led_encoder = NULL;
78 | ESP_GOTO_ON_FALSE(config && ret_encoder, ESP_ERR_INVALID_ARG, err, TAG, "invalid argument");
79 | led_encoder = calloc(1, sizeof(rmt_led_strip_encoder_t));
80 | ESP_GOTO_ON_FALSE(led_encoder, ESP_ERR_NO_MEM, err, TAG, "no mem for led strip encoder");
81 | led_encoder->base.encode = rmt_encode_led_strip;
82 | led_encoder->base.del = rmt_del_led_strip_encoder;
83 | led_encoder->base.reset = rmt_led_strip_encoder_reset;
84 | // different led strip might have its own timing requirements, following parameter is for WS2812
85 | rmt_bytes_encoder_config_t bytes_encoder_config = {
86 | .bit0 = {
87 | .level0 = 1,
88 | .duration0 = 0.3 * config->resolution / 1000000, // T0H=0.3us
89 | .level1 = 0,
90 | .duration1 = 0.9 * config->resolution / 1000000, // T0L=0.9us
91 | },
92 | .bit1 = {
93 | .level0 = 1,
94 | .duration0 = 0.9 * config->resolution / 1000000, // T1H=0.9us
95 | .level1 = 0,
96 | .duration1 = 0.3 * config->resolution / 1000000, // T1L=0.3us
97 | },
98 | .flags.msb_first = 1 // WS2812 transfer bit order: G7...G0R7...R0B7...B0
99 | };
100 | ESP_GOTO_ON_ERROR(rmt_new_bytes_encoder(&bytes_encoder_config, &led_encoder->bytes_encoder), err, TAG, "create bytes encoder failed");
101 | rmt_copy_encoder_config_t copy_encoder_config = {};
102 | ESP_GOTO_ON_ERROR(rmt_new_copy_encoder(©_encoder_config, &led_encoder->copy_encoder), err, TAG, "create copy encoder failed");
103 |
104 | uint32_t reset_ticks = config->resolution / 1000000 * 50 / 2; // reset code duration defaults to 50us
105 | led_encoder->reset_code = (rmt_symbol_word_t) {
106 | .level0 = 0,
107 | .duration0 = reset_ticks,
108 | .level1 = 0,
109 | .duration1 = reset_ticks,
110 | };
111 | *ret_encoder = &led_encoder->base;
112 | return ESP_OK;
113 | err:
114 | if (led_encoder) {
115 | if (led_encoder->bytes_encoder) {
116 | rmt_del_encoder(led_encoder->bytes_encoder);
117 | }
118 | if (led_encoder->copy_encoder) {
119 | rmt_del_encoder(led_encoder->copy_encoder);
120 | }
121 | free(led_encoder);
122 | }
123 | return ret;
124 | }
125 |
--------------------------------------------------------------------------------
/examples/main/led_strip_encoder.h:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
3 | *
4 | * SPDX-License-Identifier: Apache-2.0
5 | */
6 | #pragma once
7 |
8 | #include
9 | #include "driver/rmt_encoder.h"
10 |
11 | #ifdef __cplusplus
12 | extern "C" {
13 | #endif
14 |
15 | /**
16 | * @brief Type of led strip encoder configuration
17 | */
18 | typedef struct {
19 | uint32_t resolution; /*!< Encoder resolution, in Hz */
20 | } led_strip_encoder_config_t;
21 |
22 | /**
23 | * @brief Create RMT encoder for encoding LED strip pixels into RMT symbols
24 | *
25 | * @param[in] config Encoder configuration
26 | * @param[out] ret_encoder Returned encoder handle
27 | * @return
28 | * - ESP_ERR_INVALID_ARG for any invalid arguments
29 | * - ESP_ERR_NO_MEM out of memory when creating led strip encoder
30 | * - ESP_OK if creating encoder successfully
31 | */
32 | esp_err_t rmt_new_led_strip_encoder(const led_strip_encoder_config_t *config, rmt_encoder_handle_t *ret_encoder);
33 |
34 | #ifdef __cplusplus
35 | }
36 | #endif
37 |
--------------------------------------------------------------------------------
/examples/pytest_example.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
2 | # SPDX-License-Identifier: CC0-1.0
3 |
4 | import hashlib
5 | import logging
6 | from typing import Callable
7 |
8 | import pytest
9 | from pytest_embedded_idf.dut import IdfDut
10 | from pytest_embedded_qemu.app import QemuApp
11 | from pytest_embedded_qemu.dut import QemuDut
12 |
13 |
14 | @pytest.mark.supported_targets
15 | @pytest.mark.preview_targets
16 | @pytest.mark.generic
17 |
--------------------------------------------------------------------------------
/examples/sdkconfig:
--------------------------------------------------------------------------------
1 | #
2 | # Automatically generated file. DO NOT EDIT.
3 | # Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Configuration
4 | #
5 | CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000
6 | CONFIG_SOC_MPU_REGIONS_MAX_NUM=8
7 | CONFIG_SOC_ADC_SUPPORTED=y
8 | CONFIG_SOC_UART_SUPPORTED=y
9 | CONFIG_SOC_PCNT_SUPPORTED=y
10 | CONFIG_SOC_PHY_SUPPORTED=y
11 | CONFIG_SOC_WIFI_SUPPORTED=y
12 | CONFIG_SOC_TWAI_SUPPORTED=y
13 | CONFIG_SOC_GDMA_SUPPORTED=y
14 | CONFIG_SOC_AHB_GDMA_SUPPORTED=y
15 | CONFIG_SOC_GPTIMER_SUPPORTED=y
16 | CONFIG_SOC_LCDCAM_SUPPORTED=y
17 | CONFIG_SOC_MCPWM_SUPPORTED=y
18 | CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y
19 | CONFIG_SOC_CACHE_SUPPORT_WRAP=y
20 | CONFIG_SOC_ULP_SUPPORTED=y
21 | CONFIG_SOC_ULP_FSM_SUPPORTED=y
22 | CONFIG_SOC_RISCV_COPROC_SUPPORTED=y
23 | CONFIG_SOC_BT_SUPPORTED=y
24 | CONFIG_SOC_USB_OTG_SUPPORTED=y
25 | CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y
26 | CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y
27 | CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y
28 | CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y
29 | CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y
30 | CONFIG_SOC_EFUSE_SUPPORTED=y
31 | CONFIG_SOC_SDMMC_HOST_SUPPORTED=y
32 | CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y
33 | CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y
34 | CONFIG_SOC_RTC_MEM_SUPPORTED=y
35 | CONFIG_SOC_PSRAM_DMA_CAPABLE=y
36 | CONFIG_SOC_XT_WDT_SUPPORTED=y
37 | CONFIG_SOC_I2S_SUPPORTED=y
38 | CONFIG_SOC_RMT_SUPPORTED=y
39 | CONFIG_SOC_SDM_SUPPORTED=y
40 | CONFIG_SOC_GPSPI_SUPPORTED=y
41 | CONFIG_SOC_LEDC_SUPPORTED=y
42 | CONFIG_SOC_I2C_SUPPORTED=y
43 | CONFIG_SOC_SYSTIMER_SUPPORTED=y
44 | CONFIG_SOC_SUPPORT_COEXISTENCE=y
45 | CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y
46 | CONFIG_SOC_AES_SUPPORTED=y
47 | CONFIG_SOC_MPI_SUPPORTED=y
48 | CONFIG_SOC_SHA_SUPPORTED=y
49 | CONFIG_SOC_HMAC_SUPPORTED=y
50 | CONFIG_SOC_DIG_SIGN_SUPPORTED=y
51 | CONFIG_SOC_FLASH_ENC_SUPPORTED=y
52 | CONFIG_SOC_SECURE_BOOT_SUPPORTED=y
53 | CONFIG_SOC_MEMPROT_SUPPORTED=y
54 | CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y
55 | CONFIG_SOC_BOD_SUPPORTED=y
56 | CONFIG_SOC_CLK_TREE_SUPPORTED=y
57 | CONFIG_SOC_MPU_SUPPORTED=y
58 | CONFIG_SOC_WDT_SUPPORTED=y
59 | CONFIG_SOC_SPI_FLASH_SUPPORTED=y
60 | CONFIG_SOC_RNG_SUPPORTED=y
61 | CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y
62 | CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y
63 | CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y
64 | CONFIG_SOC_PM_SUPPORTED=y
65 | CONFIG_SOC_XTAL_SUPPORT_40M=y
66 | CONFIG_SOC_APPCPU_HAS_CLOCK_GATING_BUG=y
67 | CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y
68 | CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y
69 | CONFIG_SOC_ADC_ARBITER_SUPPORTED=y
70 | CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y
71 | CONFIG_SOC_ADC_MONITOR_SUPPORTED=y
72 | CONFIG_SOC_ADC_DMA_SUPPORTED=y
73 | CONFIG_SOC_ADC_PERIPH_NUM=2
74 | CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10
75 | CONFIG_SOC_ADC_ATTEN_NUM=4
76 | CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2
77 | CONFIG_SOC_ADC_PATT_LEN_MAX=24
78 | CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12
79 | CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12
80 | CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4
81 | CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4
82 | CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2
83 | CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2
84 | CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333
85 | CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611
86 | CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12
87 | CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12
88 | CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y
89 | CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y
90 | CONFIG_SOC_ADC_SHARED_POWER=y
91 | CONFIG_SOC_APB_BACKUP_DMA=y
92 | CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y
93 | CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y
94 | CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y
95 | CONFIG_SOC_CPU_CORES_NUM=2
96 | CONFIG_SOC_CPU_INTR_NUM=32
97 | CONFIG_SOC_CPU_HAS_FPU=y
98 | CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y
99 | CONFIG_SOC_CPU_BREAKPOINTS_NUM=2
100 | CONFIG_SOC_CPU_WATCHPOINTS_NUM=2
101 | CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64
102 | CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096
103 | CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16
104 | CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100
105 | CONFIG_SOC_AHB_GDMA_VERSION=1
106 | CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1
107 | CONFIG_SOC_GDMA_PAIRS_PER_GROUP=5
108 | CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=5
109 | CONFIG_SOC_AHB_GDMA_SUPPORT_PSRAM=y
110 | CONFIG_SOC_GPIO_PORT=1
111 | CONFIG_SOC_GPIO_PIN_COUNT=49
112 | CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y
113 | CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y
114 | CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y
115 | CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y
116 | CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x1FFFFFFFFFFFF
117 | CONFIG_SOC_GPIO_IN_RANGE_MAX=48
118 | CONFIG_SOC_GPIO_OUT_RANGE_MAX=48
119 | CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000
120 | CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y
121 | CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3
122 | CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8
123 | CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8
124 | CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y
125 | CONFIG_SOC_I2C_NUM=2
126 | CONFIG_SOC_HP_I2C_NUM=2
127 | CONFIG_SOC_I2C_FIFO_LEN=32
128 | CONFIG_SOC_I2C_CMD_REG_NUM=8
129 | CONFIG_SOC_I2C_SUPPORT_SLAVE=y
130 | CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y
131 | CONFIG_SOC_I2C_SUPPORT_XTAL=y
132 | CONFIG_SOC_I2C_SUPPORT_RTC=y
133 | CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y
134 | CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y
135 | CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y
136 | CONFIG_SOC_I2S_NUM=2
137 | CONFIG_SOC_I2S_HW_VERSION_2=y
138 | CONFIG_SOC_I2S_SUPPORTS_XTAL=y
139 | CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y
140 | CONFIG_SOC_I2S_SUPPORTS_PCM=y
141 | CONFIG_SOC_I2S_SUPPORTS_PDM=y
142 | CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y
143 | CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2
144 | CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y
145 | CONFIG_SOC_I2S_PDM_MAX_RX_LINES=4
146 | CONFIG_SOC_I2S_SUPPORTS_TDM=y
147 | CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y
148 | CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y
149 | CONFIG_SOC_LEDC_CHANNEL_NUM=8
150 | CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14
151 | CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y
152 | CONFIG_SOC_MCPWM_GROUPS=2
153 | CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3
154 | CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3
155 | CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2
156 | CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2
157 | CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2
158 | CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3
159 | CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y
160 | CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3
161 | CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3
162 | CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y
163 | CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1
164 | CONFIG_SOC_MMU_PERIPH_NUM=1
165 | CONFIG_SOC_PCNT_GROUPS=1
166 | CONFIG_SOC_PCNT_UNITS_PER_GROUP=4
167 | CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2
168 | CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2
169 | CONFIG_SOC_RMT_GROUPS=1
170 | CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4
171 | CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4
172 | CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8
173 | CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48
174 | CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y
175 | CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y
176 | CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y
177 | CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y
178 | CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y
179 | CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y
180 | CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y
181 | CONFIG_SOC_RMT_SUPPORT_XTAL=y
182 | CONFIG_SOC_RMT_SUPPORT_RC_FAST=y
183 | CONFIG_SOC_RMT_SUPPORT_APB=y
184 | CONFIG_SOC_RMT_SUPPORT_DMA=y
185 | CONFIG_SOC_LCD_I80_SUPPORTED=y
186 | CONFIG_SOC_LCD_RGB_SUPPORTED=y
187 | CONFIG_SOC_LCD_I80_BUSES=1
188 | CONFIG_SOC_LCD_RGB_PANELS=1
189 | CONFIG_SOC_LCD_I80_BUS_WIDTH=16
190 | CONFIG_SOC_LCD_RGB_DATA_WIDTH=16
191 | CONFIG_SOC_LCD_SUPPORT_RGB_YUV_CONV=y
192 | CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128
193 | CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549
194 | CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128
195 | CONFIG_SOC_RTCIO_PIN_COUNT=22
196 | CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y
197 | CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y
198 | CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y
199 | CONFIG_SOC_SDM_GROUPS=y
200 | CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8
201 | CONFIG_SOC_SDM_CLK_SUPPORT_APB=y
202 | CONFIG_SOC_SPI_PERIPH_NUM=3
203 | CONFIG_SOC_SPI_MAX_CS_NUM=6
204 | CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64
205 | CONFIG_SOC_SPI_SUPPORT_DDRCLK=y
206 | CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y
207 | CONFIG_SOC_SPI_SUPPORT_CD_SIG=y
208 | CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y
209 | CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y
210 | CONFIG_SOC_SPI_SUPPORT_CLK_APB=y
211 | CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y
212 | CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y
213 | CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y
214 | CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16
215 | CONFIG_SOC_SPI_SUPPORT_OCT=y
216 | CONFIG_SOC_SPI_SCT_SUPPORTED=y
217 | CONFIG_SOC_SPI_SCT_REG_NUM=14
218 | CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y
219 | CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA
220 | CONFIG_SOC_MEMSPI_SRC_FREQ_120M=y
221 | CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y
222 | CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y
223 | CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y
224 | CONFIG_SOC_SPIRAM_SUPPORTED=y
225 | CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y
226 | CONFIG_SOC_SYSTIMER_COUNTER_NUM=2
227 | CONFIG_SOC_SYSTIMER_ALARM_NUM=3
228 | CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32
229 | CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20
230 | CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y
231 | CONFIG_SOC_SYSTIMER_INT_LEVEL=y
232 | CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y
233 | CONFIG_SOC_TIMER_GROUPS=2
234 | CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2
235 | CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54
236 | CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y
237 | CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y
238 | CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4
239 | CONFIG_SOC_TOUCH_SENSOR_VERSION=2
240 | CONFIG_SOC_TOUCH_SENSOR_NUM=15
241 | CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y
242 | CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y
243 | CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y
244 | CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3
245 | CONFIG_SOC_TOUCH_PROXIMITY_MEAS_DONE_SUPPORTED=y
246 | CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1
247 | CONFIG_SOC_TWAI_CONTROLLER_NUM=1
248 | CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y
249 | CONFIG_SOC_TWAI_BRP_MIN=2
250 | CONFIG_SOC_TWAI_BRP_MAX=16384
251 | CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y
252 | CONFIG_SOC_UART_NUM=3
253 | CONFIG_SOC_UART_HP_NUM=3
254 | CONFIG_SOC_UART_FIFO_LEN=128
255 | CONFIG_SOC_UART_BITRATE_MAX=5000000
256 | CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y
257 | CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y
258 | CONFIG_SOC_UART_SUPPORT_APB_CLK=y
259 | CONFIG_SOC_UART_SUPPORT_RTC_CLK=y
260 | CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y
261 | CONFIG_SOC_USB_OTG_PERIPH_NUM=1
262 | CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968
263 | CONFIG_SOC_SHA_SUPPORT_DMA=y
264 | CONFIG_SOC_SHA_SUPPORT_RESUME=y
265 | CONFIG_SOC_SHA_GDMA=y
266 | CONFIG_SOC_SHA_SUPPORT_SHA1=y
267 | CONFIG_SOC_SHA_SUPPORT_SHA224=y
268 | CONFIG_SOC_SHA_SUPPORT_SHA256=y
269 | CONFIG_SOC_SHA_SUPPORT_SHA384=y
270 | CONFIG_SOC_SHA_SUPPORT_SHA512=y
271 | CONFIG_SOC_SHA_SUPPORT_SHA512_224=y
272 | CONFIG_SOC_SHA_SUPPORT_SHA512_256=y
273 | CONFIG_SOC_SHA_SUPPORT_SHA512_T=y
274 | CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4
275 | CONFIG_SOC_MPI_OPERATIONS_NUM=3
276 | CONFIG_SOC_RSA_MAX_BIT_LEN=4096
277 | CONFIG_SOC_AES_SUPPORT_DMA=y
278 | CONFIG_SOC_AES_GDMA=y
279 | CONFIG_SOC_AES_SUPPORT_AES_128=y
280 | CONFIG_SOC_AES_SUPPORT_AES_256=y
281 | CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y
282 | CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y
283 | CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y
284 | CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y
285 | CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y
286 | CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y
287 | CONFIG_SOC_PM_SUPPORT_CPU_PD=y
288 | CONFIG_SOC_PM_SUPPORT_TAGMEM_PD=y
289 | CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y
290 | CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y
291 | CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y
292 | CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y
293 | CONFIG_SOC_PM_SUPPORT_MODEM_PD=y
294 | CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y
295 | CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y
296 | CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y
297 | CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y
298 | CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y
299 | CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y
300 | CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y
301 | CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y
302 | CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y
303 | CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y
304 | CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y
305 | CONFIG_SOC_EFUSE_DIS_USB_JTAG=y
306 | CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y
307 | CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y
308 | CONFIG_SOC_EFUSE_DIS_ICACHE=y
309 | CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y
310 | CONFIG_SOC_SECURE_BOOT_V2_RSA=y
311 | CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3
312 | CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y
313 | CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y
314 | CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64
315 | CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y
316 | CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y
317 | CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y
318 | CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y
319 | CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16
320 | CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=256
321 | CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
322 | CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192
323 | CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12
324 | CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y
325 | CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y
326 | CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y
327 | CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y
328 | CONFIG_SOC_SPI_MEM_SUPPORT_OPI_MODE=y
329 | CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y
330 | CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y
331 | CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y
332 | CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y
333 | CONFIG_SOC_MEMSPI_CORE_CLK_SHARED_WITH_PSRAM=y
334 | CONFIG_SOC_COEX_HW_PTI=y
335 | CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y
336 | CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y
337 | CONFIG_SOC_SDMMC_NUM_SLOTS=2
338 | CONFIG_SOC_SDMMC_SUPPORT_XTAL_CLOCK=y
339 | CONFIG_SOC_SDMMC_DELAY_PHASE_NUM=4
340 | CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y
341 | CONFIG_SOC_WIFI_HW_TSF=y
342 | CONFIG_SOC_WIFI_FTM_SUPPORT=y
343 | CONFIG_SOC_WIFI_GCMP_SUPPORT=y
344 | CONFIG_SOC_WIFI_WAPI_SUPPORT=y
345 | CONFIG_SOC_WIFI_CSI_SUPPORT=y
346 | CONFIG_SOC_WIFI_MESH_SUPPORT=y
347 | CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y
348 | CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y
349 | CONFIG_SOC_BLE_SUPPORTED=y
350 | CONFIG_SOC_BLE_MESH_SUPPORTED=y
351 | CONFIG_SOC_BLE_50_SUPPORTED=y
352 | CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y
353 | CONFIG_SOC_BLUFI_SUPPORTED=y
354 | CONFIG_SOC_ULP_HAS_ADC=y
355 | CONFIG_SOC_PHY_COMBO_MODULE=y
356 | CONFIG_IDF_CMAKE=y
357 | CONFIG_IDF_TOOLCHAIN="gcc"
358 | CONFIG_IDF_TARGET_ARCH_XTENSA=y
359 | CONFIG_IDF_TARGET_ARCH="xtensa"
360 | CONFIG_IDF_TARGET="esp32s3"
361 | CONFIG_IDF_INIT_VERSION="5.2.0"
362 | CONFIG_IDF_TARGET_ESP32S3=y
363 | CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009
364 |
365 | #
366 | # Build type
367 | #
368 | CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y
369 | # CONFIG_APP_BUILD_TYPE_RAM is not set
370 | CONFIG_APP_BUILD_GENERATE_BINARIES=y
371 | CONFIG_APP_BUILD_BOOTLOADER=y
372 | CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y
373 | # CONFIG_APP_REPRODUCIBLE_BUILD is not set
374 | # CONFIG_APP_NO_BLOBS is not set
375 | # end of Build type
376 |
377 | #
378 | # Bootloader config
379 | #
380 |
381 | #
382 | # Bootloader manager
383 | #
384 | CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y
385 | CONFIG_BOOTLOADER_PROJECT_VER=1
386 | # end of Bootloader manager
387 |
388 | CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0
389 | CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
390 | # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set
391 | # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set
392 | # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set
393 | # CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set
394 | # CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set
395 | # CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set
396 | CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y
397 | # CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set
398 | # CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set
399 | CONFIG_BOOTLOADER_LOG_LEVEL=3
400 |
401 | #
402 | # Serial Flash Configurations
403 | #
404 | # CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set
405 | CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
406 | # end of Serial Flash Configurations
407 |
408 | CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
409 | # CONFIG_BOOTLOADER_FACTORY_RESET is not set
410 | # CONFIG_BOOTLOADER_APP_TEST is not set
411 | CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y
412 | CONFIG_BOOTLOADER_WDT_ENABLE=y
413 | # CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set
414 | CONFIG_BOOTLOADER_WDT_TIME_MS=9000
415 | # CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set
416 | # CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set
417 | # CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set
418 | # CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set
419 | CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0
420 | # CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set
421 | # end of Bootloader config
422 |
423 | #
424 | # Security features
425 | #
426 | CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y
427 | CONFIG_SECURE_BOOT_V2_PREFERRED=y
428 | # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set
429 | # CONFIG_SECURE_BOOT is not set
430 | # CONFIG_SECURE_FLASH_ENC_ENABLED is not set
431 | CONFIG_SECURE_ROM_DL_MODE_ENABLED=y
432 | # end of Security features
433 |
434 | #
435 | # Application manager
436 | #
437 | CONFIG_APP_COMPILE_TIME_DATE=y
438 | # CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set
439 | # CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set
440 | # CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set
441 | CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16
442 | # end of Application manager
443 |
444 | CONFIG_ESP_ROM_HAS_CRC_LE=y
445 | CONFIG_ESP_ROM_HAS_CRC_BE=y
446 | CONFIG_ESP_ROM_HAS_MZ_CRC32=y
447 | CONFIG_ESP_ROM_HAS_JPEG_DECODE=y
448 | CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y
449 | CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y
450 | CONFIG_ESP_ROM_USB_OTG_NUM=3
451 | CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4
452 | CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y
453 | CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y
454 | CONFIG_ESP_ROM_GET_CLK_FREQ=y
455 | CONFIG_ESP_ROM_HAS_HAL_WDT=y
456 | CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y
457 | CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y
458 | CONFIG_ESP_ROM_HAS_SPI_FLASH=y
459 | CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y
460 | CONFIG_ESP_ROM_HAS_NEWLIB=y
461 | CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y
462 | CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y
463 | CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y
464 | CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y
465 | CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y
466 | CONFIG_ESP_ROM_HAS_CACHE_SUSPEND_WAITI_BUG=y
467 | CONFIG_ESP_ROM_HAS_CACHE_WRITEBACK_BUG=y
468 | CONFIG_ESP_ROM_HAS_SW_FLOAT=y
469 | CONFIG_ESP_ROM_HAS_VERSION=y
470 | CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y
471 |
472 | #
473 | # Boot ROM Behavior
474 | #
475 | CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y
476 | # CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set
477 | # CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set
478 | # CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set
479 | # end of Boot ROM Behavior
480 |
481 | #
482 | # Serial flasher config
483 | #
484 | # CONFIG_ESPTOOLPY_NO_STUB is not set
485 | # CONFIG_ESPTOOLPY_OCT_FLASH is not set
486 | CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=y
487 | # CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set
488 | # CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set
489 | CONFIG_ESPTOOLPY_FLASHMODE_DIO=y
490 | # CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set
491 | CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y
492 | CONFIG_ESPTOOLPY_FLASHMODE="dio"
493 | # CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set
494 | CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
495 | # CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set
496 | # CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set
497 | CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y
498 | CONFIG_ESPTOOLPY_FLASHFREQ="80m"
499 | # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set
500 | # CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set
501 | # CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set
502 | CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y
503 | # CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set
504 | # CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set
505 | # CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set
506 | # CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set
507 | CONFIG_ESPTOOLPY_FLASHSIZE="8MB"
508 | # CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set
509 | CONFIG_ESPTOOLPY_BEFORE_RESET=y
510 | # CONFIG_ESPTOOLPY_BEFORE_NORESET is not set
511 | CONFIG_ESPTOOLPY_BEFORE="default_reset"
512 | CONFIG_ESPTOOLPY_AFTER_RESET=y
513 | # CONFIG_ESPTOOLPY_AFTER_NORESET is not set
514 | CONFIG_ESPTOOLPY_AFTER="hard_reset"
515 | CONFIG_ESPTOOLPY_MONITOR_BAUD=115200
516 | # end of Serial flasher config
517 |
518 | #
519 | # Partition Table
520 | #
521 | CONFIG_PARTITION_TABLE_SINGLE_APP=y
522 | # CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set
523 | # CONFIG_PARTITION_TABLE_TWO_OTA is not set
524 | # CONFIG_PARTITION_TABLE_CUSTOM is not set
525 | CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
526 | CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv"
527 | CONFIG_PARTITION_TABLE_OFFSET=0x8000
528 | CONFIG_PARTITION_TABLE_MD5=y
529 | # end of Partition Table
530 |
531 | #
532 | # Iridium Configuration
533 | #
534 | CONFIG_RMT_LED_STRIP_RESOLUTION_HZ=10000000
535 | CONFIG_RMT_LED_STRIP_GPIO_NUM=48
536 | CONFIG_RMT_LED_STRIP_COUNT=1
537 | CONFIG_UART_NUMBER=1
538 | CONFIG_UART_TX_GPIO_NUM=17
539 | CONFIG_UART_RX_GPIO_NUM=18
540 | CONFIG_UART_SLEEP_GPIO_NUM=46
541 | CONFIG_UART_NET_GPIO_NUM=21
542 | # end of Iridium Configuration
543 |
544 | #
545 | # Compiler options
546 | #
547 | CONFIG_COMPILER_OPTIMIZATION_DEBUG=y
548 | # CONFIG_COMPILER_OPTIMIZATION_SIZE is not set
549 | # CONFIG_COMPILER_OPTIMIZATION_PERF is not set
550 | # CONFIG_COMPILER_OPTIMIZATION_NONE is not set
551 | CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
552 | # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set
553 | # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set
554 | CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y
555 | CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2
556 | # CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set
557 | CONFIG_COMPILER_HIDE_PATHS_MACROS=y
558 | # CONFIG_COMPILER_CXX_EXCEPTIONS is not set
559 | # CONFIG_COMPILER_CXX_RTTI is not set
560 | CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
561 | # CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set
562 | # CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set
563 | # CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set
564 | # CONFIG_COMPILER_WARN_WRITE_STRINGS is not set
565 | # CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set
566 | # CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set
567 | # CONFIG_COMPILER_DUMP_RTL_FILES is not set
568 | CONFIG_COMPILER_RT_LIB_GCCLIB=y
569 | CONFIG_COMPILER_RT_LIB_NAME="gcc"
570 | # CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING is not set
571 | CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y
572 | # end of Compiler options
573 |
574 | #
575 | # Component config
576 | #
577 |
578 | #
579 | # Application Level Tracing
580 | #
581 | # CONFIG_APPTRACE_DEST_JTAG is not set
582 | CONFIG_APPTRACE_DEST_NONE=y
583 | # CONFIG_APPTRACE_DEST_UART1 is not set
584 | # CONFIG_APPTRACE_DEST_UART2 is not set
585 | # CONFIG_APPTRACE_DEST_USB_CDC is not set
586 | CONFIG_APPTRACE_DEST_UART_NONE=y
587 | CONFIG_APPTRACE_UART_TASK_PRIO=1
588 | CONFIG_APPTRACE_LOCK_ENABLE=y
589 | # end of Application Level Tracing
590 |
591 | #
592 | # Bluetooth
593 | #
594 | # CONFIG_BT_ENABLED is not set
595 | CONFIG_BT_ALARM_MAX_NUM=50
596 | # end of Bluetooth
597 |
598 | #
599 | # Console Library
600 | #
601 | # CONFIG_CONSOLE_SORTED_HELP is not set
602 | # end of Console Library
603 |
604 | #
605 | # Driver Configurations
606 | #
607 |
608 | #
609 | # TWAI Configuration
610 | #
611 | # CONFIG_TWAI_ISR_IN_IRAM is not set
612 | CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y
613 | # end of TWAI Configuration
614 |
615 | #
616 | # Legacy ADC Driver Configuration
617 | #
618 | # CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set
619 |
620 | #
621 | # Legacy ADC Calibration Configuration
622 | #
623 | # CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set
624 | # end of Legacy ADC Calibration Configuration
625 | # end of Legacy ADC Driver Configuration
626 |
627 | #
628 | # Legacy MCPWM Driver Configurations
629 | #
630 | # CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set
631 | # end of Legacy MCPWM Driver Configurations
632 |
633 | #
634 | # Legacy Timer Group Driver Configurations
635 | #
636 | # CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set
637 | # end of Legacy Timer Group Driver Configurations
638 |
639 | #
640 | # Legacy RMT Driver Configurations
641 | #
642 | # CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set
643 | # end of Legacy RMT Driver Configurations
644 |
645 | #
646 | # Legacy I2S Driver Configurations
647 | #
648 | # CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set
649 | # end of Legacy I2S Driver Configurations
650 |
651 | #
652 | # Legacy PCNT Driver Configurations
653 | #
654 | # CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set
655 | # end of Legacy PCNT Driver Configurations
656 |
657 | #
658 | # Legacy SDM Driver Configurations
659 | #
660 | # CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set
661 | # end of Legacy SDM Driver Configurations
662 |
663 | #
664 | # Legacy Temperature Sensor Driver Configurations
665 | #
666 | # CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set
667 | # end of Legacy Temperature Sensor Driver Configurations
668 | # end of Driver Configurations
669 |
670 | #
671 | # eFuse Bit Manager
672 | #
673 | # CONFIG_EFUSE_CUSTOM_TABLE is not set
674 | # CONFIG_EFUSE_VIRTUAL is not set
675 | CONFIG_EFUSE_MAX_BLK_LEN=256
676 | # end of eFuse Bit Manager
677 |
678 | #
679 | # ESP-TLS
680 | #
681 | CONFIG_ESP_TLS_USING_MBEDTLS=y
682 | CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y
683 | # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set
684 | # CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set
685 | # CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set
686 | # CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set
687 | # CONFIG_ESP_TLS_PSK_VERIFICATION is not set
688 | # CONFIG_ESP_TLS_INSECURE is not set
689 | # end of ESP-TLS
690 |
691 | #
692 | # ADC and ADC Calibration
693 | #
694 | # CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set
695 | # CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set
696 | # CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set
697 | # CONFIG_ADC_ENABLE_DEBUG_LOG is not set
698 | # end of ADC and ADC Calibration
699 |
700 | #
701 | # Wireless Coexistence
702 | #
703 | CONFIG_ESP_COEX_ENABLED=y
704 | # CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE is not set
705 | # end of Wireless Coexistence
706 |
707 | #
708 | # Common ESP-related
709 | #
710 | CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
711 | # end of Common ESP-related
712 |
713 | #
714 | # ESP-Driver:GPIO Configurations
715 | #
716 | # CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set
717 | # end of ESP-Driver:GPIO Configurations
718 |
719 | #
720 | # ESP-Driver:GPTimer Configurations
721 | #
722 | CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y
723 | # CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set
724 | # CONFIG_GPTIMER_ISR_IRAM_SAFE is not set
725 | # CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set
726 | # end of ESP-Driver:GPTimer Configurations
727 |
728 | #
729 | # ESP-Driver:I2C Configurations
730 | #
731 | # CONFIG_I2C_ISR_IRAM_SAFE is not set
732 | # CONFIG_I2C_ENABLE_DEBUG_LOG is not set
733 | # end of ESP-Driver:I2C Configurations
734 |
735 | #
736 | # ESP-Driver:I2S Configurations
737 | #
738 | # CONFIG_I2S_ISR_IRAM_SAFE is not set
739 | # CONFIG_I2S_ENABLE_DEBUG_LOG is not set
740 | # end of ESP-Driver:I2S Configurations
741 |
742 | #
743 | # ESP-Driver:LEDC Configurations
744 | #
745 | # CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set
746 | # end of ESP-Driver:LEDC Configurations
747 |
748 | #
749 | # ESP-Driver:MCPWM Configurations
750 | #
751 | # CONFIG_MCPWM_ISR_IRAM_SAFE is not set
752 | # CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set
753 | # CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set
754 | # end of ESP-Driver:MCPWM Configurations
755 |
756 | #
757 | # ESP-Driver:PCNT Configurations
758 | #
759 | # CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set
760 | # CONFIG_PCNT_ISR_IRAM_SAFE is not set
761 | # CONFIG_PCNT_ENABLE_DEBUG_LOG is not set
762 | # end of ESP-Driver:PCNT Configurations
763 |
764 | #
765 | # ESP-Driver:RMT Configurations
766 | #
767 | # CONFIG_RMT_ISR_IRAM_SAFE is not set
768 | # CONFIG_RMT_RECV_FUNC_IN_IRAM is not set
769 | # CONFIG_RMT_ENABLE_DEBUG_LOG is not set
770 | # end of ESP-Driver:RMT Configurations
771 |
772 | #
773 | # ESP-Driver:Sigma Delta Modulator Configurations
774 | #
775 | # CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set
776 | # CONFIG_SDM_ENABLE_DEBUG_LOG is not set
777 | # end of ESP-Driver:Sigma Delta Modulator Configurations
778 |
779 | #
780 | # ESP-Driver:SPI Configurations
781 | #
782 | # CONFIG_SPI_MASTER_IN_IRAM is not set
783 | CONFIG_SPI_MASTER_ISR_IN_IRAM=y
784 | # CONFIG_SPI_SLAVE_IN_IRAM is not set
785 | CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
786 | # end of ESP-Driver:SPI Configurations
787 |
788 | #
789 | # ESP-Driver:Touch Sensor Configurations
790 | #
791 | # CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set
792 | # CONFIG_TOUCH_ISR_IRAM_SAFE is not set
793 | # CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set
794 | # end of ESP-Driver:Touch Sensor Configurations
795 |
796 | #
797 | # ESP-Driver:Temperature Sensor Configurations
798 | #
799 | # CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set
800 | # end of ESP-Driver:Temperature Sensor Configurations
801 |
802 | #
803 | # ESP-Driver:UART Configurations
804 | #
805 | # CONFIG_UART_ISR_IN_IRAM is not set
806 | # end of ESP-Driver:UART Configurations
807 |
808 | #
809 | # ESP-Driver:USB Serial/JTAG Configuration
810 | #
811 | CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y
812 | # end of ESP-Driver:USB Serial/JTAG Configuration
813 |
814 | #
815 | # Ethernet
816 | #
817 | CONFIG_ETH_ENABLED=y
818 | CONFIG_ETH_USE_SPI_ETHERNET=y
819 | # CONFIG_ETH_SPI_ETHERNET_DM9051 is not set
820 | # CONFIG_ETH_SPI_ETHERNET_W5500 is not set
821 | # CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set
822 | # CONFIG_ETH_USE_OPENETH is not set
823 | # CONFIG_ETH_TRANSMIT_MUTEX is not set
824 | # end of Ethernet
825 |
826 | #
827 | # Event Loop Library
828 | #
829 | # CONFIG_ESP_EVENT_LOOP_PROFILING is not set
830 | CONFIG_ESP_EVENT_POST_FROM_ISR=y
831 | CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y
832 | # end of Event Loop Library
833 |
834 | #
835 | # GDB Stub
836 | #
837 | CONFIG_ESP_GDBSTUB_ENABLED=y
838 | # CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set
839 | CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y
840 | CONFIG_ESP_GDBSTUB_MAX_TASKS=32
841 | # end of GDB Stub
842 |
843 | #
844 | # ESP HTTP client
845 | #
846 | CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y
847 | # CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set
848 | # CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set
849 | # CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set
850 | # end of ESP HTTP client
851 |
852 | #
853 | # HTTP Server
854 | #
855 | CONFIG_HTTPD_MAX_REQ_HDR_LEN=512
856 | CONFIG_HTTPD_MAX_URI_LEN=512
857 | CONFIG_HTTPD_ERR_RESP_NO_DELAY=y
858 | CONFIG_HTTPD_PURGE_BUF_LEN=32
859 | # CONFIG_HTTPD_LOG_PURGE_DATA is not set
860 | # CONFIG_HTTPD_WS_SUPPORT is not set
861 | # CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set
862 | # end of HTTP Server
863 |
864 | #
865 | # ESP HTTPS OTA
866 | #
867 | # CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set
868 | # CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set
869 | # end of ESP HTTPS OTA
870 |
871 | #
872 | # ESP HTTPS server
873 | #
874 | # CONFIG_ESP_HTTPS_SERVER_ENABLE is not set
875 | # end of ESP HTTPS server
876 |
877 | #
878 | # Hardware Settings
879 | #
880 |
881 | #
882 | # Chip revision
883 | #
884 | CONFIG_ESP32S3_REV_MIN_0=y
885 | # CONFIG_ESP32S3_REV_MIN_1 is not set
886 | # CONFIG_ESP32S3_REV_MIN_2 is not set
887 | CONFIG_ESP32S3_REV_MIN_FULL=0
888 | CONFIG_ESP_REV_MIN_FULL=0
889 |
890 | #
891 | # Maximum Supported ESP32-S3 Revision (Rev v0.99)
892 | #
893 | CONFIG_ESP32S3_REV_MAX_FULL=99
894 | CONFIG_ESP_REV_MAX_FULL=99
895 | # end of Chip revision
896 |
897 | #
898 | # MAC Config
899 | #
900 | CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y
901 | CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y
902 | CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y
903 | CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y
904 | CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y
905 | CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4
906 | # CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set
907 | CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y
908 | CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4
909 | # CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set
910 | # end of MAC Config
911 |
912 | #
913 | # Sleep Config
914 | #
915 | # CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set
916 | CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y
917 | CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU=y
918 | CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y
919 | CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y
920 | CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=2000
921 | # CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set
922 | # CONFIG_ESP_SLEEP_DEBUG is not set
923 | CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y
924 | # end of Sleep Config
925 |
926 | #
927 | # RTC Clock Config
928 | #
929 | CONFIG_RTC_CLK_SRC_INT_RC=y
930 | # CONFIG_RTC_CLK_SRC_EXT_CRYS is not set
931 | # CONFIG_RTC_CLK_SRC_EXT_OSC is not set
932 | # CONFIG_RTC_CLK_SRC_INT_8MD256 is not set
933 | CONFIG_RTC_CLK_CAL_CYCLES=1024
934 | # end of RTC Clock Config
935 |
936 | #
937 | # Peripheral Control
938 | #
939 | CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y
940 | # end of Peripheral Control
941 |
942 | #
943 | # GDMA Configurations
944 | #
945 | CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y
946 | # CONFIG_GDMA_ISR_IRAM_SAFE is not set
947 | # CONFIG_GDMA_ENABLE_DEBUG_LOG is not set
948 | # end of GDMA Configurations
949 |
950 | #
951 | # Main XTAL Config
952 | #
953 | CONFIG_XTAL_FREQ_40=y
954 | CONFIG_XTAL_FREQ=40
955 | # end of Main XTAL Config
956 |
957 | CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y
958 | # end of Hardware Settings
959 |
960 | #
961 | # LCD and Touch Panel
962 | #
963 |
964 | #
965 | # LCD Touch Drivers are maintained in the IDF Component Registry
966 | #
967 |
968 | #
969 | # LCD Peripheral Configuration
970 | #
971 | CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32
972 | # CONFIG_LCD_ENABLE_DEBUG_LOG is not set
973 | # CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set
974 | # CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set
975 | # end of LCD Peripheral Configuration
976 | # end of LCD and Touch Panel
977 |
978 | #
979 | # ESP NETIF Adapter
980 | #
981 | CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
982 | CONFIG_ESP_NETIF_TCPIP_LWIP=y
983 | # CONFIG_ESP_NETIF_LOOPBACK is not set
984 | CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y
985 | # CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set
986 | # CONFIG_ESP_NETIF_L2_TAP is not set
987 | # CONFIG_ESP_NETIF_BRIDGE_EN is not set
988 | # end of ESP NETIF Adapter
989 |
990 | #
991 | # Partition API Configuration
992 | #
993 | # end of Partition API Configuration
994 |
995 | #
996 | # PHY
997 | #
998 | CONFIG_ESP_PHY_ENABLED=y
999 | CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y
1000 | # CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set
1001 | CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20
1002 | CONFIG_ESP_PHY_MAX_TX_POWER=20
1003 | CONFIG_ESP_PHY_REDUCE_TX_POWER=y
1004 | CONFIG_ESP_PHY_ENABLE_USB=y
1005 | # CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set
1006 | CONFIG_ESP_PHY_RF_CAL_PARTIAL=y
1007 | # CONFIG_ESP_PHY_RF_CAL_NONE is not set
1008 | # CONFIG_ESP_PHY_RF_CAL_FULL is not set
1009 | CONFIG_ESP_PHY_CALIBRATION_MODE=0
1010 | # CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set
1011 | # end of PHY
1012 |
1013 | #
1014 | # Power Management
1015 | #
1016 | # CONFIG_PM_ENABLE is not set
1017 | CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y
1018 | CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y
1019 | # end of Power Management
1020 |
1021 | #
1022 | # ESP PSRAM
1023 | #
1024 | # CONFIG_SPIRAM is not set
1025 | # end of ESP PSRAM
1026 |
1027 | #
1028 | # ESP Ringbuf
1029 | #
1030 | # CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set
1031 | # end of ESP Ringbuf
1032 |
1033 | #
1034 | # ESP System Settings
1035 | #
1036 | # CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set
1037 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y
1038 | # CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set
1039 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160
1040 |
1041 | #
1042 | # Cache config
1043 | #
1044 | CONFIG_ESP32S3_INSTRUCTION_CACHE_16KB=y
1045 | # CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB is not set
1046 | CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE=0x4000
1047 | # CONFIG_ESP32S3_INSTRUCTION_CACHE_4WAYS is not set
1048 | CONFIG_ESP32S3_INSTRUCTION_CACHE_8WAYS=y
1049 | CONFIG_ESP32S3_ICACHE_ASSOCIATED_WAYS=8
1050 | # CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_16B is not set
1051 | CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_32B=y
1052 | CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_SIZE=32
1053 | # CONFIG_ESP32S3_DATA_CACHE_16KB is not set
1054 | CONFIG_ESP32S3_DATA_CACHE_32KB=y
1055 | # CONFIG_ESP32S3_DATA_CACHE_64KB is not set
1056 | CONFIG_ESP32S3_DATA_CACHE_SIZE=0x8000
1057 | # CONFIG_ESP32S3_DATA_CACHE_4WAYS is not set
1058 | CONFIG_ESP32S3_DATA_CACHE_8WAYS=y
1059 | CONFIG_ESP32S3_DCACHE_ASSOCIATED_WAYS=8
1060 | # CONFIG_ESP32S3_DATA_CACHE_LINE_16B is not set
1061 | CONFIG_ESP32S3_DATA_CACHE_LINE_32B=y
1062 | # CONFIG_ESP32S3_DATA_CACHE_LINE_64B is not set
1063 | CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=32
1064 | # end of Cache config
1065 |
1066 | #
1067 | # Memory
1068 | #
1069 | # CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM is not set
1070 | # CONFIG_ESP32S3_USE_FIXED_STATIC_RAM_SIZE is not set
1071 | # end of Memory
1072 |
1073 | #
1074 | # Trace memory
1075 | #
1076 | # CONFIG_ESP32S3_TRAX is not set
1077 | CONFIG_ESP32S3_TRACEMEM_RESERVE_DRAM=0x0
1078 | # end of Trace memory
1079 |
1080 | # CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set
1081 | CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
1082 | # CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
1083 | # CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set
1084 | CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0
1085 | CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y
1086 | CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y
1087 |
1088 | #
1089 | # Memory protection
1090 | #
1091 | CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y
1092 | CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y
1093 | # end of Memory protection
1094 |
1095 | CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32
1096 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304
1097 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584
1098 | CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y
1099 | # CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set
1100 | # CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set
1101 | CONFIG_ESP_MAIN_TASK_AFFINITY=0x0
1102 | CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048
1103 | CONFIG_ESP_CONSOLE_UART_DEFAULT=y
1104 | # CONFIG_ESP_CONSOLE_USB_CDC is not set
1105 | # CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set
1106 | # CONFIG_ESP_CONSOLE_UART_CUSTOM is not set
1107 | # CONFIG_ESP_CONSOLE_NONE is not set
1108 | # CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set
1109 | CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y
1110 | CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y
1111 | CONFIG_ESP_CONSOLE_UART=y
1112 | CONFIG_ESP_CONSOLE_UART_NUM=0
1113 | CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0
1114 | CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
1115 | CONFIG_ESP_INT_WDT=y
1116 | CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
1117 | CONFIG_ESP_INT_WDT_CHECK_CPU1=y
1118 | CONFIG_ESP_TASK_WDT_EN=y
1119 | CONFIG_ESP_TASK_WDT_INIT=y
1120 | # CONFIG_ESP_TASK_WDT_PANIC is not set
1121 | CONFIG_ESP_TASK_WDT_TIMEOUT_S=5
1122 | CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
1123 | CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y
1124 | # CONFIG_ESP_PANIC_HANDLER_IRAM is not set
1125 | # CONFIG_ESP_DEBUG_STUBS_ENABLE is not set
1126 | CONFIG_ESP_DEBUG_OCDAWARE=y
1127 | CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y
1128 |
1129 | #
1130 | # Brownout Detector
1131 | #
1132 | CONFIG_ESP_BROWNOUT_DET=y
1133 | CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y
1134 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set
1135 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set
1136 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set
1137 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set
1138 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set
1139 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set
1140 | CONFIG_ESP_BROWNOUT_DET_LVL=7
1141 | # end of Brownout Detector
1142 |
1143 | CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y
1144 | CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y
1145 | # end of ESP System Settings
1146 |
1147 | #
1148 | # IPC (Inter-Processor Call)
1149 | #
1150 | CONFIG_ESP_IPC_TASK_STACK_SIZE=1280
1151 | CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
1152 | CONFIG_ESP_IPC_ISR_ENABLE=y
1153 | # end of IPC (Inter-Processor Call)
1154 |
1155 | #
1156 | # ESP Timer (High Resolution Timer)
1157 | #
1158 | # CONFIG_ESP_TIMER_PROFILING is not set
1159 | CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y
1160 | CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y
1161 | CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584
1162 | CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1
1163 | # CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set
1164 | CONFIG_ESP_TIMER_TASK_AFFINITY=0x0
1165 | CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y
1166 | CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y
1167 | # CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set
1168 | CONFIG_ESP_TIMER_IMPL_SYSTIMER=y
1169 | # end of ESP Timer (High Resolution Timer)
1170 |
1171 | #
1172 | # Wi-Fi
1173 | #
1174 | CONFIG_ESP_WIFI_ENABLED=y
1175 | CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10
1176 | CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32
1177 | # CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set
1178 | CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y
1179 | CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1
1180 | CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32
1181 | CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y
1182 | # CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set
1183 | CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0
1184 | CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5
1185 | # CONFIG_ESP_WIFI_CSI_ENABLED is not set
1186 | CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y
1187 | CONFIG_ESP_WIFI_TX_BA_WIN=6
1188 | CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y
1189 | CONFIG_ESP_WIFI_RX_BA_WIN=6
1190 | CONFIG_ESP_WIFI_NVS_ENABLED=y
1191 | CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y
1192 | # CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set
1193 | CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752
1194 | CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32
1195 | CONFIG_ESP_WIFI_IRAM_OPT=y
1196 | # CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set
1197 | CONFIG_ESP_WIFI_RX_IRAM_OPT=y
1198 | CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y
1199 | CONFIG_ESP_WIFI_ENABLE_SAE_PK=y
1200 | CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y
1201 | CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y
1202 | # CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set
1203 | CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50
1204 | CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10
1205 | CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15
1206 | # CONFIG_ESP_WIFI_FTM_ENABLE is not set
1207 | CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y
1208 | # CONFIG_ESP_WIFI_GCMP_SUPPORT is not set
1209 | # CONFIG_ESP_WIFI_GMAC_SUPPORT is not set
1210 | CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y
1211 | # CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set
1212 | CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7
1213 | CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y
1214 | CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y
1215 | # CONFIG_ESP_WIFI_WAPI_PSK is not set
1216 | # CONFIG_ESP_WIFI_SUITE_B_192 is not set
1217 | # CONFIG_ESP_WIFI_11KV_SUPPORT is not set
1218 | # CONFIG_ESP_WIFI_MBO_SUPPORT is not set
1219 | # CONFIG_ESP_WIFI_DPP_SUPPORT is not set
1220 | # CONFIG_ESP_WIFI_11R_SUPPORT is not set
1221 | # CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set
1222 |
1223 | #
1224 | # WPS Configuration Options
1225 | #
1226 | # CONFIG_ESP_WIFI_WPS_STRICT is not set
1227 | # CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set
1228 | # end of WPS Configuration Options
1229 |
1230 | # CONFIG_ESP_WIFI_DEBUG_PRINT is not set
1231 | # CONFIG_ESP_WIFI_TESTING_OPTIONS is not set
1232 | CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y
1233 | # CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set
1234 | # end of Wi-Fi
1235 |
1236 | #
1237 | # Core dump
1238 | #
1239 | # CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set
1240 | # CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set
1241 | CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y
1242 | # end of Core dump
1243 |
1244 | #
1245 | # FAT Filesystem support
1246 | #
1247 | CONFIG_FATFS_VOLUME_COUNT=2
1248 | CONFIG_FATFS_LFN_NONE=y
1249 | # CONFIG_FATFS_LFN_HEAP is not set
1250 | # CONFIG_FATFS_LFN_STACK is not set
1251 | # CONFIG_FATFS_SECTOR_512 is not set
1252 | CONFIG_FATFS_SECTOR_4096=y
1253 | # CONFIG_FATFS_CODEPAGE_DYNAMIC is not set
1254 | CONFIG_FATFS_CODEPAGE_437=y
1255 | # CONFIG_FATFS_CODEPAGE_720 is not set
1256 | # CONFIG_FATFS_CODEPAGE_737 is not set
1257 | # CONFIG_FATFS_CODEPAGE_771 is not set
1258 | # CONFIG_FATFS_CODEPAGE_775 is not set
1259 | # CONFIG_FATFS_CODEPAGE_850 is not set
1260 | # CONFIG_FATFS_CODEPAGE_852 is not set
1261 | # CONFIG_FATFS_CODEPAGE_855 is not set
1262 | # CONFIG_FATFS_CODEPAGE_857 is not set
1263 | # CONFIG_FATFS_CODEPAGE_860 is not set
1264 | # CONFIG_FATFS_CODEPAGE_861 is not set
1265 | # CONFIG_FATFS_CODEPAGE_862 is not set
1266 | # CONFIG_FATFS_CODEPAGE_863 is not set
1267 | # CONFIG_FATFS_CODEPAGE_864 is not set
1268 | # CONFIG_FATFS_CODEPAGE_865 is not set
1269 | # CONFIG_FATFS_CODEPAGE_866 is not set
1270 | # CONFIG_FATFS_CODEPAGE_869 is not set
1271 | # CONFIG_FATFS_CODEPAGE_932 is not set
1272 | # CONFIG_FATFS_CODEPAGE_936 is not set
1273 | # CONFIG_FATFS_CODEPAGE_949 is not set
1274 | # CONFIG_FATFS_CODEPAGE_950 is not set
1275 | CONFIG_FATFS_CODEPAGE=437
1276 | CONFIG_FATFS_FS_LOCK=0
1277 | CONFIG_FATFS_TIMEOUT_MS=10000
1278 | CONFIG_FATFS_PER_FILE_CACHE=y
1279 | # CONFIG_FATFS_USE_FASTSEEK is not set
1280 | CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0
1281 | # CONFIG_FATFS_IMMEDIATE_FSYNC is not set
1282 | # CONFIG_FATFS_USE_LABEL is not set
1283 | CONFIG_FATFS_LINK_LOCK=y
1284 | # end of FAT Filesystem support
1285 |
1286 | #
1287 | # FreeRTOS
1288 | #
1289 |
1290 | #
1291 | # Kernel
1292 | #
1293 | # CONFIG_FREERTOS_SMP is not set
1294 | # CONFIG_FREERTOS_UNICORE is not set
1295 | CONFIG_FREERTOS_HZ=100
1296 | # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set
1297 | # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set
1298 | CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y
1299 | CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1
1300 | CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536
1301 | # CONFIG_FREERTOS_USE_IDLE_HOOK is not set
1302 | # CONFIG_FREERTOS_USE_TICK_HOOK is not set
1303 | CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16
1304 | CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y
1305 | CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc"
1306 | # CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set
1307 | # CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU1 is not set
1308 | CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y
1309 | CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF
1310 | CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1
1311 | CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048
1312 | CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10
1313 | CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
1314 | CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1
1315 | # CONFIG_FREERTOS_USE_TRACE_FACILITY is not set
1316 | # CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set
1317 | # CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set
1318 | # CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set
1319 | # end of Kernel
1320 |
1321 | #
1322 | # Port
1323 | #
1324 | CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y
1325 | # CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
1326 | CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y
1327 | # CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set
1328 | # CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set
1329 | CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y
1330 | CONFIG_FREERTOS_ISR_STACKSIZE=1536
1331 | CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y
1332 | CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y
1333 | CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y
1334 | # CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set
1335 | CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y
1336 | # CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set
1337 | # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set
1338 | # end of Port
1339 |
1340 | CONFIG_FREERTOS_PORT=y
1341 | CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF
1342 | CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
1343 | CONFIG_FREERTOS_DEBUG_OCDAWARE=y
1344 | CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y
1345 | CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y
1346 | CONFIG_FREERTOS_NUMBER_OF_CORES=2
1347 | # end of FreeRTOS
1348 |
1349 | #
1350 | # Hardware Abstraction Layer (HAL) and Low Level (LL)
1351 | #
1352 | CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y
1353 | # CONFIG_HAL_ASSERTION_DISABLE is not set
1354 | # CONFIG_HAL_ASSERTION_SILENT is not set
1355 | # CONFIG_HAL_ASSERTION_ENABLE is not set
1356 | CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2
1357 | CONFIG_HAL_WDT_USE_ROM_IMPL=y
1358 | CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y
1359 | CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y
1360 | # end of Hardware Abstraction Layer (HAL) and Low Level (LL)
1361 |
1362 | #
1363 | # Heap memory debugging
1364 | #
1365 | CONFIG_HEAP_POISONING_DISABLED=y
1366 | # CONFIG_HEAP_POISONING_LIGHT is not set
1367 | # CONFIG_HEAP_POISONING_COMPREHENSIVE is not set
1368 | CONFIG_HEAP_TRACING_OFF=y
1369 | # CONFIG_HEAP_TRACING_STANDALONE is not set
1370 | # CONFIG_HEAP_TRACING_TOHOST is not set
1371 | # CONFIG_HEAP_USE_HOOKS is not set
1372 | # CONFIG_HEAP_TASK_TRACKING is not set
1373 | # CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set
1374 | # CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set
1375 | # end of Heap memory debugging
1376 |
1377 | #
1378 | # Log output
1379 | #
1380 | # CONFIG_LOG_DEFAULT_LEVEL_NONE is not set
1381 | # CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set
1382 | # CONFIG_LOG_DEFAULT_LEVEL_WARN is not set
1383 | # CONFIG_LOG_DEFAULT_LEVEL_INFO is not set
1384 | CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y
1385 | # CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set
1386 | CONFIG_LOG_DEFAULT_LEVEL=4
1387 | # CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT is not set
1388 | CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE=y
1389 | CONFIG_LOG_MAXIMUM_LEVEL=5
1390 | # CONFIG_LOG_MASTER_LEVEL is not set
1391 | CONFIG_LOG_COLORS=y
1392 | CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
1393 | # CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set
1394 | # end of Log output
1395 |
1396 | #
1397 | # LWIP
1398 | #
1399 | CONFIG_LWIP_ENABLE=y
1400 | CONFIG_LWIP_LOCAL_HOSTNAME="espressif"
1401 | # CONFIG_LWIP_NETIF_API is not set
1402 | CONFIG_LWIP_TCPIP_TASK_PRIO=18
1403 | # CONFIG_LWIP_TCPIP_CORE_LOCKING is not set
1404 | # CONFIG_LWIP_CHECK_THREAD_SAFETY is not set
1405 | CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y
1406 | # CONFIG_LWIP_L2_TO_L3_COPY is not set
1407 | # CONFIG_LWIP_IRAM_OPTIMIZATION is not set
1408 | # CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set
1409 | CONFIG_LWIP_TIMERS_ONDEMAND=y
1410 | CONFIG_LWIP_ND6=y
1411 | # CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set
1412 | CONFIG_LWIP_MAX_SOCKETS=10
1413 | # CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set
1414 | # CONFIG_LWIP_SO_LINGER is not set
1415 | CONFIG_LWIP_SO_REUSE=y
1416 | CONFIG_LWIP_SO_REUSE_RXTOALL=y
1417 | # CONFIG_LWIP_SO_RCVBUF is not set
1418 | # CONFIG_LWIP_NETBUF_RECVINFO is not set
1419 | CONFIG_LWIP_IP_DEFAULT_TTL=64
1420 | CONFIG_LWIP_IP4_FRAG=y
1421 | CONFIG_LWIP_IP6_FRAG=y
1422 | # CONFIG_LWIP_IP4_REASSEMBLY is not set
1423 | # CONFIG_LWIP_IP6_REASSEMBLY is not set
1424 | CONFIG_LWIP_IP_REASS_MAX_PBUFS=10
1425 | # CONFIG_LWIP_IP_FORWARD is not set
1426 | # CONFIG_LWIP_STATS is not set
1427 | CONFIG_LWIP_ESP_GRATUITOUS_ARP=y
1428 | CONFIG_LWIP_GARP_TMR_INTERVAL=60
1429 | CONFIG_LWIP_ESP_MLDV6_REPORT=y
1430 | CONFIG_LWIP_MLDV6_TMR_INTERVAL=40
1431 | CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32
1432 | CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y
1433 | # CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set
1434 | CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y
1435 | # CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set
1436 | CONFIG_LWIP_DHCP_OPTIONS_LEN=68
1437 | CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0
1438 | CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1
1439 |
1440 | #
1441 | # DHCP server
1442 | #
1443 | CONFIG_LWIP_DHCPS=y
1444 | CONFIG_LWIP_DHCPS_LEASE_UNIT=60
1445 | CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8
1446 | CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y
1447 | # end of DHCP server
1448 |
1449 | # CONFIG_LWIP_AUTOIP is not set
1450 | CONFIG_LWIP_IPV4=y
1451 | CONFIG_LWIP_IPV6=y
1452 | # CONFIG_LWIP_IPV6_AUTOCONFIG is not set
1453 | CONFIG_LWIP_IPV6_NUM_ADDRESSES=3
1454 | # CONFIG_LWIP_IPV6_FORWARD is not set
1455 | # CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set
1456 | CONFIG_LWIP_NETIF_LOOPBACK=y
1457 | CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8
1458 |
1459 | #
1460 | # TCP
1461 | #
1462 | CONFIG_LWIP_MAX_ACTIVE_TCP=16
1463 | CONFIG_LWIP_MAX_LISTENING_TCP=16
1464 | CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y
1465 | CONFIG_LWIP_TCP_MAXRTX=12
1466 | CONFIG_LWIP_TCP_SYNMAXRTX=12
1467 | CONFIG_LWIP_TCP_MSS=1440
1468 | CONFIG_LWIP_TCP_TMR_INTERVAL=250
1469 | CONFIG_LWIP_TCP_MSL=60000
1470 | CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000
1471 | CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5744
1472 | CONFIG_LWIP_TCP_WND_DEFAULT=5744
1473 | CONFIG_LWIP_TCP_RECVMBOX_SIZE=6
1474 | CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6
1475 | CONFIG_LWIP_TCP_QUEUE_OOSEQ=y
1476 | CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6
1477 | CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4
1478 | # CONFIG_LWIP_TCP_SACK_OUT is not set
1479 | CONFIG_LWIP_TCP_OVERSIZE_MSS=y
1480 | # CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set
1481 | # CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set
1482 | CONFIG_LWIP_TCP_RTO_TIME=1500
1483 | # end of TCP
1484 |
1485 | #
1486 | # UDP
1487 | #
1488 | CONFIG_LWIP_MAX_UDP_PCBS=16
1489 | CONFIG_LWIP_UDP_RECVMBOX_SIZE=6
1490 | # end of UDP
1491 |
1492 | #
1493 | # Checksums
1494 | #
1495 | # CONFIG_LWIP_CHECKSUM_CHECK_IP is not set
1496 | # CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set
1497 | CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y
1498 | # end of Checksums
1499 |
1500 | CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072
1501 | CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y
1502 | # CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set
1503 | # CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set
1504 | CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF
1505 | # CONFIG_LWIP_PPP_SUPPORT is not set
1506 | CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3
1507 | CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5
1508 | # CONFIG_LWIP_SLIP_SUPPORT is not set
1509 |
1510 | #
1511 | # ICMP
1512 | #
1513 | CONFIG_LWIP_ICMP=y
1514 | # CONFIG_LWIP_MULTICAST_PING is not set
1515 | # CONFIG_LWIP_BROADCAST_PING is not set
1516 | # end of ICMP
1517 |
1518 | #
1519 | # LWIP RAW API
1520 | #
1521 | CONFIG_LWIP_MAX_RAW_PCBS=16
1522 | # end of LWIP RAW API
1523 |
1524 | #
1525 | # SNTP
1526 | #
1527 | CONFIG_LWIP_SNTP_MAX_SERVERS=1
1528 | # CONFIG_LWIP_DHCP_GET_NTP_SRV is not set
1529 | CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000
1530 | CONFIG_LWIP_SNTP_STARTUP_DELAY=y
1531 | CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000
1532 | # end of SNTP
1533 |
1534 | #
1535 | # DNS
1536 | #
1537 | CONFIG_LWIP_DNS_MAX_SERVERS=3
1538 | # CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set
1539 | # end of DNS
1540 |
1541 | CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7
1542 | CONFIG_LWIP_ESP_LWIP_ASSERT=y
1543 |
1544 | #
1545 | # Hooks
1546 | #
1547 | # CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set
1548 | CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y
1549 | # CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set
1550 | CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y
1551 | # CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set
1552 | # CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set
1553 | CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y
1554 | # CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set
1555 | # CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set
1556 | CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y
1557 | # CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set
1558 | # CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set
1559 | CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y
1560 | # CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set
1561 | # CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set
1562 | CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y
1563 | # CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT is not set
1564 | # CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set
1565 | # end of Hooks
1566 |
1567 | # CONFIG_LWIP_DEBUG is not set
1568 | # end of LWIP
1569 |
1570 | #
1571 | # mbedTLS
1572 | #
1573 | CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y
1574 | # CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set
1575 | # CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set
1576 | CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
1577 | CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384
1578 | CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096
1579 | # CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set
1580 | # CONFIG_MBEDTLS_DEBUG is not set
1581 |
1582 | #
1583 | # mbedTLS v3.x related
1584 | #
1585 | # CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set
1586 | # CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set
1587 | # CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set
1588 | # CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set
1589 | CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y
1590 | CONFIG_MBEDTLS_PKCS7_C=y
1591 | # end of mbedTLS v3.x related
1592 |
1593 | #
1594 | # Certificate Bundle
1595 | #
1596 | CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
1597 | CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y
1598 | # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set
1599 | # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set
1600 | # CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set
1601 | # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set
1602 | CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200
1603 | # end of Certificate Bundle
1604 |
1605 | # CONFIG_MBEDTLS_ECP_RESTARTABLE is not set
1606 | CONFIG_MBEDTLS_CMAC_C=y
1607 | CONFIG_MBEDTLS_HARDWARE_AES=y
1608 | CONFIG_MBEDTLS_AES_USE_INTERRUPT=y
1609 | CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0
1610 | CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y
1611 | CONFIG_MBEDTLS_HARDWARE_MPI=y
1612 | # CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set
1613 | CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y
1614 | CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0
1615 | CONFIG_MBEDTLS_HARDWARE_SHA=y
1616 | CONFIG_MBEDTLS_ROM_MD5=y
1617 | # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set
1618 | # CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set
1619 | CONFIG_MBEDTLS_HAVE_TIME=y
1620 | # CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set
1621 | # CONFIG_MBEDTLS_HAVE_TIME_DATE is not set
1622 | CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y
1623 | CONFIG_MBEDTLS_SHA512_C=y
1624 | CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y
1625 | # CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set
1626 | # CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set
1627 | # CONFIG_MBEDTLS_TLS_DISABLED is not set
1628 | CONFIG_MBEDTLS_TLS_SERVER=y
1629 | CONFIG_MBEDTLS_TLS_CLIENT=y
1630 | CONFIG_MBEDTLS_TLS_ENABLED=y
1631 |
1632 | #
1633 | # TLS Key Exchange Methods
1634 | #
1635 | # CONFIG_MBEDTLS_PSK_MODES is not set
1636 | CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y
1637 | CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y
1638 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y
1639 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y
1640 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y
1641 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y
1642 | # end of TLS Key Exchange Methods
1643 |
1644 | CONFIG_MBEDTLS_SSL_RENEGOTIATION=y
1645 | CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y
1646 | # CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set
1647 | # CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set
1648 | CONFIG_MBEDTLS_SSL_ALPN=y
1649 | CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y
1650 | CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y
1651 |
1652 | #
1653 | # Symmetric Ciphers
1654 | #
1655 | CONFIG_MBEDTLS_AES_C=y
1656 | # CONFIG_MBEDTLS_CAMELLIA_C is not set
1657 | # CONFIG_MBEDTLS_DES_C is not set
1658 | # CONFIG_MBEDTLS_BLOWFISH_C is not set
1659 | # CONFIG_MBEDTLS_XTEA_C is not set
1660 | CONFIG_MBEDTLS_CCM_C=y
1661 | CONFIG_MBEDTLS_GCM_C=y
1662 | # CONFIG_MBEDTLS_NIST_KW_C is not set
1663 | # end of Symmetric Ciphers
1664 |
1665 | # CONFIG_MBEDTLS_RIPEMD160_C is not set
1666 |
1667 | #
1668 | # Certificates
1669 | #
1670 | CONFIG_MBEDTLS_PEM_PARSE_C=y
1671 | CONFIG_MBEDTLS_PEM_WRITE_C=y
1672 | CONFIG_MBEDTLS_X509_CRL_PARSE_C=y
1673 | CONFIG_MBEDTLS_X509_CSR_PARSE_C=y
1674 | # end of Certificates
1675 |
1676 | CONFIG_MBEDTLS_ECP_C=y
1677 | # CONFIG_MBEDTLS_DHM_C is not set
1678 | CONFIG_MBEDTLS_ECDH_C=y
1679 | CONFIG_MBEDTLS_ECDSA_C=y
1680 | # CONFIG_MBEDTLS_ECJPAKE_C is not set
1681 | CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y
1682 | CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y
1683 | CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y
1684 | CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y
1685 | CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y
1686 | CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y
1687 | CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y
1688 | CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y
1689 | CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y
1690 | CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y
1691 | CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y
1692 | CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y
1693 | CONFIG_MBEDTLS_ECP_NIST_OPTIM=y
1694 | CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM=y
1695 | # CONFIG_MBEDTLS_POLY1305_C is not set
1696 | # CONFIG_MBEDTLS_CHACHA20_C is not set
1697 | # CONFIG_MBEDTLS_HKDF_C is not set
1698 | # CONFIG_MBEDTLS_THREADING_C is not set
1699 | CONFIG_MBEDTLS_ERROR_STRINGS=y
1700 | # end of mbedTLS
1701 |
1702 | #
1703 | # ESP-MQTT Configurations
1704 | #
1705 | CONFIG_MQTT_PROTOCOL_311=y
1706 | # CONFIG_MQTT_PROTOCOL_5 is not set
1707 | CONFIG_MQTT_TRANSPORT_SSL=y
1708 | CONFIG_MQTT_TRANSPORT_WEBSOCKET=y
1709 | CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y
1710 | # CONFIG_MQTT_MSG_ID_INCREMENTAL is not set
1711 | # CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set
1712 | # CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set
1713 | # CONFIG_MQTT_USE_CUSTOM_CONFIG is not set
1714 | # CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set
1715 | # CONFIG_MQTT_CUSTOM_OUTBOX is not set
1716 | # end of ESP-MQTT Configurations
1717 |
1718 | #
1719 | # Newlib
1720 | #
1721 | CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y
1722 | # CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set
1723 | # CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set
1724 | # CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set
1725 | # CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set
1726 | CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y
1727 | # CONFIG_NEWLIB_NANO_FORMAT is not set
1728 | CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y
1729 | # CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set
1730 | # CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set
1731 | # CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set
1732 | # end of Newlib
1733 |
1734 | #
1735 | # NVS
1736 | #
1737 | # CONFIG_NVS_ENCRYPTION is not set
1738 | # CONFIG_NVS_ASSERT_ERROR_CHECK is not set
1739 | # CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set
1740 | # end of NVS
1741 |
1742 | #
1743 | # OpenThread
1744 | #
1745 | # CONFIG_OPENTHREAD_ENABLED is not set
1746 |
1747 | #
1748 | # Thread Operational Dataset
1749 | #
1750 | CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP"
1751 | CONFIG_OPENTHREAD_MESH_LOCAL_PREFIX="fd00:db8:a0:0::/64"
1752 | CONFIG_OPENTHREAD_NETWORK_CHANNEL=15
1753 | CONFIG_OPENTHREAD_NETWORK_PANID=0x1234
1754 | CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe"
1755 | CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff"
1756 | CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53"
1757 | # end of Thread Operational Dataset
1758 |
1759 | CONFIG_OPENTHREAD_XTAL_ACCURACY=130
1760 | # CONFIG_OPENTHREAD_SPINEL_ONLY is not set
1761 | CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE=y
1762 |
1763 | #
1764 | # Thread Address Query Config
1765 | #
1766 | # end of Thread Address Query Config
1767 | # end of OpenThread
1768 |
1769 | #
1770 | # Protocomm
1771 | #
1772 | CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y
1773 | CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y
1774 | CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y
1775 | # end of Protocomm
1776 |
1777 | #
1778 | # PThreads
1779 | #
1780 | CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5
1781 | CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072
1782 | CONFIG_PTHREAD_STACK_MIN=768
1783 | CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y
1784 | # CONFIG_PTHREAD_DEFAULT_CORE_0 is not set
1785 | # CONFIG_PTHREAD_DEFAULT_CORE_1 is not set
1786 | CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1
1787 | CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread"
1788 | # end of PThreads
1789 |
1790 | #
1791 | # MMU Config
1792 | #
1793 | CONFIG_MMU_PAGE_SIZE_64KB=y
1794 | CONFIG_MMU_PAGE_MODE="64KB"
1795 | CONFIG_MMU_PAGE_SIZE=0x10000
1796 | # end of MMU Config
1797 |
1798 | #
1799 | # Main Flash configuration
1800 | #
1801 |
1802 | #
1803 | # SPI Flash behavior when brownout
1804 | #
1805 | CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y
1806 | CONFIG_SPI_FLASH_BROWNOUT_RESET=y
1807 | # end of SPI Flash behavior when brownout
1808 |
1809 | #
1810 | # Optional and Experimental Features (READ DOCS FIRST)
1811 | #
1812 |
1813 | #
1814 | # Features here require specific hardware (READ DOCS FIRST!)
1815 | #
1816 | # CONFIG_SPI_FLASH_HPM_ENA is not set
1817 | CONFIG_SPI_FLASH_HPM_AUTO=y
1818 | # CONFIG_SPI_FLASH_HPM_DIS is not set
1819 | CONFIG_SPI_FLASH_HPM_ON=y
1820 | CONFIG_SPI_FLASH_HPM_DC_AUTO=y
1821 | # CONFIG_SPI_FLASH_HPM_DC_DISABLE is not set
1822 | CONFIG_SPI_FLASH_SUSPEND_QVL_SUPPORTED=y
1823 | # CONFIG_SPI_FLASH_AUTO_SUSPEND is not set
1824 | CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50
1825 | # end of Optional and Experimental Features (READ DOCS FIRST)
1826 | # end of Main Flash configuration
1827 |
1828 | #
1829 | # SPI Flash driver
1830 | #
1831 | # CONFIG_SPI_FLASH_VERIFY_WRITE is not set
1832 | # CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set
1833 | CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y
1834 | # CONFIG_SPI_FLASH_ROM_IMPL is not set
1835 | CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y
1836 | # CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set
1837 | # CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set
1838 | # CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set
1839 | CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y
1840 | CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20
1841 | CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1
1842 | CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192
1843 | # CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set
1844 | # CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set
1845 | # CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set
1846 |
1847 | #
1848 | # Auto-detect flash chips
1849 | #
1850 | CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y
1851 | CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y
1852 | CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y
1853 | CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y
1854 | CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y
1855 | CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORTED=y
1856 | CONFIG_SPI_FLASH_VENDOR_TH_SUPPORTED=y
1857 | CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y
1858 | CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y
1859 | CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y
1860 | CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y
1861 | CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP=y
1862 | CONFIG_SPI_FLASH_SUPPORT_TH_CHIP=y
1863 | CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP=y
1864 | # end of Auto-detect flash chips
1865 |
1866 | CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y
1867 | # end of SPI Flash driver
1868 |
1869 | #
1870 | # SPIFFS Configuration
1871 | #
1872 | CONFIG_SPIFFS_MAX_PARTITIONS=3
1873 |
1874 | #
1875 | # SPIFFS Cache Configuration
1876 | #
1877 | CONFIG_SPIFFS_CACHE=y
1878 | CONFIG_SPIFFS_CACHE_WR=y
1879 | # CONFIG_SPIFFS_CACHE_STATS is not set
1880 | # end of SPIFFS Cache Configuration
1881 |
1882 | CONFIG_SPIFFS_PAGE_CHECK=y
1883 | CONFIG_SPIFFS_GC_MAX_RUNS=10
1884 | # CONFIG_SPIFFS_GC_STATS is not set
1885 | CONFIG_SPIFFS_PAGE_SIZE=256
1886 | CONFIG_SPIFFS_OBJ_NAME_LEN=32
1887 | # CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set
1888 | CONFIG_SPIFFS_USE_MAGIC=y
1889 | CONFIG_SPIFFS_USE_MAGIC_LENGTH=y
1890 | CONFIG_SPIFFS_META_LENGTH=4
1891 | CONFIG_SPIFFS_USE_MTIME=y
1892 |
1893 | #
1894 | # Debug Configuration
1895 | #
1896 | # CONFIG_SPIFFS_DBG is not set
1897 | # CONFIG_SPIFFS_API_DBG is not set
1898 | # CONFIG_SPIFFS_GC_DBG is not set
1899 | # CONFIG_SPIFFS_CACHE_DBG is not set
1900 | # CONFIG_SPIFFS_CHECK_DBG is not set
1901 | # CONFIG_SPIFFS_TEST_VISUALISATION is not set
1902 | # end of Debug Configuration
1903 | # end of SPIFFS Configuration
1904 |
1905 | #
1906 | # TCP Transport
1907 | #
1908 |
1909 | #
1910 | # Websocket
1911 | #
1912 | CONFIG_WS_TRANSPORT=y
1913 | CONFIG_WS_BUFFER_SIZE=1024
1914 | # CONFIG_WS_DYNAMIC_BUFFER is not set
1915 | # end of Websocket
1916 | # end of TCP Transport
1917 |
1918 | #
1919 | # Ultra Low Power (ULP) Co-processor
1920 | #
1921 | # CONFIG_ULP_COPROC_ENABLED is not set
1922 |
1923 | #
1924 | # ULP Debugging Options
1925 | #
1926 | # end of ULP Debugging Options
1927 | # end of Ultra Low Power (ULP) Co-processor
1928 |
1929 | #
1930 | # Unity unit testing library
1931 | #
1932 | CONFIG_UNITY_ENABLE_FLOAT=y
1933 | CONFIG_UNITY_ENABLE_DOUBLE=y
1934 | # CONFIG_UNITY_ENABLE_64BIT is not set
1935 | # CONFIG_UNITY_ENABLE_COLOR is not set
1936 | CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
1937 | # CONFIG_UNITY_ENABLE_FIXTURE is not set
1938 | # CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set
1939 | # end of Unity unit testing library
1940 |
1941 | #
1942 | # USB-OTG
1943 | #
1944 | CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256
1945 | CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y
1946 | # CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set
1947 | # CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set
1948 |
1949 | #
1950 | # Root Hub configuration
1951 | #
1952 | CONFIG_USB_HOST_DEBOUNCE_DELAY_MS=250
1953 | CONFIG_USB_HOST_RESET_HOLD_MS=30
1954 | CONFIG_USB_HOST_RESET_RECOVERY_MS=30
1955 | CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10
1956 | # end of Root Hub configuration
1957 |
1958 | # CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set
1959 | CONFIG_USB_OTG_SUPPORTED=y
1960 | # end of USB-OTG
1961 |
1962 | #
1963 | # Virtual file system
1964 | #
1965 | CONFIG_VFS_SUPPORT_IO=y
1966 | CONFIG_VFS_SUPPORT_DIR=y
1967 | CONFIG_VFS_SUPPORT_SELECT=y
1968 | CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y
1969 | # CONFIG_VFS_SELECT_IN_RAM is not set
1970 | CONFIG_VFS_SUPPORT_TERMIOS=y
1971 | CONFIG_VFS_MAX_COUNT=8
1972 |
1973 | #
1974 | # Host File System I/O (Semihosting)
1975 | #
1976 | CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1
1977 | # end of Host File System I/O (Semihosting)
1978 | # end of Virtual file system
1979 |
1980 | #
1981 | # Wear Levelling
1982 | #
1983 | # CONFIG_WL_SECTOR_SIZE_512 is not set
1984 | CONFIG_WL_SECTOR_SIZE_4096=y
1985 | CONFIG_WL_SECTOR_SIZE=4096
1986 | # end of Wear Levelling
1987 |
1988 | #
1989 | # Wi-Fi Provisioning Manager
1990 | #
1991 | CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16
1992 | CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
1993 | # CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set
1994 | CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y
1995 | # CONFIG_WIFI_PROV_STA_FAST_SCAN is not set
1996 | # end of Wi-Fi Provisioning Manager
1997 | # end of Component config
1998 |
1999 | # CONFIG_IDF_EXPERIMENTAL_FEATURES is not set
2000 |
2001 | # Deprecated options for backward compatibility
2002 | # CONFIG_APP_BUILD_TYPE_ELF_RAM is not set
2003 | # CONFIG_NO_BLOBS is not set
2004 | # CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set
2005 | # CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set
2006 | # CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set
2007 | CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y
2008 | # CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set
2009 | # CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set
2010 | CONFIG_LOG_BOOTLOADER_LEVEL=3
2011 | # CONFIG_APP_ROLLBACK_ENABLE is not set
2012 | # CONFIG_FLASH_ENCRYPTION_ENABLED is not set
2013 | # CONFIG_FLASHMODE_QIO is not set
2014 | # CONFIG_FLASHMODE_QOUT is not set
2015 | CONFIG_FLASHMODE_DIO=y
2016 | # CONFIG_FLASHMODE_DOUT is not set
2017 | CONFIG_MONITOR_BAUD=115200
2018 | CONFIG_OPTIMIZATION_LEVEL_DEBUG=y
2019 | CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y
2020 | CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y
2021 | # CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set
2022 | # CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set
2023 | CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y
2024 | # CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set
2025 | # CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set
2026 | CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2
2027 | # CONFIG_CXX_EXCEPTIONS is not set
2028 | CONFIG_STACK_CHECK_NONE=y
2029 | # CONFIG_STACK_CHECK_NORM is not set
2030 | # CONFIG_STACK_CHECK_STRONG is not set
2031 | # CONFIG_STACK_CHECK_ALL is not set
2032 | # CONFIG_WARN_WRITE_STRINGS is not set
2033 | # CONFIG_ESP32_APPTRACE_DEST_TRAX is not set
2034 | CONFIG_ESP32_APPTRACE_DEST_NONE=y
2035 | CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y
2036 | # CONFIG_EXTERNAL_COEX_ENABLE is not set
2037 | # CONFIG_ESP_WIFI_EXTERNAL_COEXIST_ENABLE is not set
2038 | # CONFIG_MCPWM_ISR_IN_IRAM is not set
2039 | # CONFIG_EVENT_LOOP_PROFILING is not set
2040 | CONFIG_POST_EVENTS_FROM_ISR=y
2041 | CONFIG_POST_EVENTS_FROM_IRAM_ISR=y
2042 | CONFIG_GDBSTUB_SUPPORT_TASKS=y
2043 | CONFIG_GDBSTUB_MAX_TASKS=32
2044 | # CONFIG_OTA_ALLOW_HTTP is not set
2045 | # CONFIG_ESP_SYSTEM_PD_FLASH is not set
2046 | CONFIG_ESP32S3_DEEP_SLEEP_WAKEUP_DELAY=2000
2047 | CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000
2048 | CONFIG_ESP32S3_RTC_CLK_SRC_INT_RC=y
2049 | # CONFIG_ESP32S3_RTC_CLK_SRC_EXT_CRYS is not set
2050 | # CONFIG_ESP32S3_RTC_CLK_SRC_EXT_OSC is not set
2051 | # CONFIG_ESP32S3_RTC_CLK_SRC_INT_8MD256 is not set
2052 | CONFIG_ESP32S3_RTC_CLK_CAL_CYCLES=1024
2053 | CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y
2054 | # CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set
2055 | CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20
2056 | CONFIG_ESP32_PHY_MAX_TX_POWER=20
2057 | CONFIG_REDUCE_PHY_TX_POWER=y
2058 | CONFIG_ESP32_REDUCE_PHY_TX_POWER=y
2059 | CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y
2060 | CONFIG_PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP=y
2061 | # CONFIG_ESP32S3_SPIRAM_SUPPORT is not set
2062 | # CONFIG_ESP32S3_DEFAULT_CPU_FREQ_80 is not set
2063 | CONFIG_ESP32S3_DEFAULT_CPU_FREQ_160=y
2064 | # CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240 is not set
2065 | CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ=160
2066 | CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32
2067 | CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304
2068 | CONFIG_MAIN_TASK_STACK_SIZE=3584
2069 | CONFIG_CONSOLE_UART_DEFAULT=y
2070 | # CONFIG_CONSOLE_UART_CUSTOM is not set
2071 | # CONFIG_CONSOLE_UART_NONE is not set
2072 | # CONFIG_ESP_CONSOLE_UART_NONE is not set
2073 | CONFIG_CONSOLE_UART=y
2074 | CONFIG_CONSOLE_UART_NUM=0
2075 | CONFIG_CONSOLE_UART_BAUDRATE=115200
2076 | CONFIG_INT_WDT=y
2077 | CONFIG_INT_WDT_TIMEOUT_MS=300
2078 | CONFIG_INT_WDT_CHECK_CPU1=y
2079 | CONFIG_TASK_WDT=y
2080 | CONFIG_ESP_TASK_WDT=y
2081 | # CONFIG_TASK_WDT_PANIC is not set
2082 | CONFIG_TASK_WDT_TIMEOUT_S=5
2083 | CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
2084 | CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y
2085 | # CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set
2086 | CONFIG_ESP32S3_DEBUG_OCDAWARE=y
2087 | CONFIG_BROWNOUT_DET=y
2088 | CONFIG_ESP32S3_BROWNOUT_DET=y
2089 | CONFIG_ESP32S3_BROWNOUT_DET=y
2090 | CONFIG_BROWNOUT_DET_LVL_SEL_7=y
2091 | CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_7=y
2092 | # CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set
2093 | # CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_6 is not set
2094 | # CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set
2095 | # CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_5 is not set
2096 | # CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set
2097 | # CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_4 is not set
2098 | # CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set
2099 | # CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_3 is not set
2100 | # CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set
2101 | # CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_2 is not set
2102 | # CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set
2103 | # CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_1 is not set
2104 | CONFIG_BROWNOUT_DET_LVL=7
2105 | CONFIG_ESP32S3_BROWNOUT_DET_LVL=7
2106 | CONFIG_IPC_TASK_STACK_SIZE=1280
2107 | CONFIG_TIMER_TASK_STACK_SIZE=3584
2108 | CONFIG_ESP32_WIFI_ENABLED=y
2109 | CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10
2110 | CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32
2111 | # CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set
2112 | CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y
2113 | CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1
2114 | CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32
2115 | # CONFIG_ESP32_WIFI_CSI_ENABLED is not set
2116 | CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y
2117 | CONFIG_ESP32_WIFI_TX_BA_WIN=6
2118 | CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
2119 | CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
2120 | CONFIG_ESP32_WIFI_RX_BA_WIN=6
2121 | CONFIG_ESP32_WIFI_RX_BA_WIN=6
2122 | CONFIG_ESP32_WIFI_NVS_ENABLED=y
2123 | CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y
2124 | # CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set
2125 | CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752
2126 | CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32
2127 | CONFIG_ESP32_WIFI_IRAM_OPT=y
2128 | CONFIG_ESP32_WIFI_RX_IRAM_OPT=y
2129 | CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y
2130 | CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y
2131 | CONFIG_WPA_MBEDTLS_CRYPTO=y
2132 | CONFIG_WPA_MBEDTLS_TLS_CLIENT=y
2133 | # CONFIG_WPA_WAPI_PSK is not set
2134 | # CONFIG_WPA_SUITE_B_192 is not set
2135 | # CONFIG_WPA_11KV_SUPPORT is not set
2136 | # CONFIG_WPA_MBO_SUPPORT is not set
2137 | # CONFIG_WPA_DPP_SUPPORT is not set
2138 | # CONFIG_WPA_11R_SUPPORT is not set
2139 | # CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set
2140 | # CONFIG_WPA_WPS_STRICT is not set
2141 | # CONFIG_WPA_DEBUG_PRINT is not set
2142 | # CONFIG_WPA_TESTING_OPTIONS is not set
2143 | # CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set
2144 | # CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set
2145 | CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y
2146 | CONFIG_TIMER_TASK_PRIORITY=1
2147 | CONFIG_TIMER_TASK_STACK_DEPTH=2048
2148 | CONFIG_TIMER_QUEUE_LENGTH=10
2149 | # CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set
2150 | # CONFIG_HAL_ASSERTION_SILIENT is not set
2151 | # CONFIG_L2_TO_L3_COPY is not set
2152 | CONFIG_ESP_GRATUITOUS_ARP=y
2153 | CONFIG_GARP_TMR_INTERVAL=60
2154 | CONFIG_TCPIP_RECVMBOX_SIZE=32
2155 | CONFIG_TCP_MAXRTX=12
2156 | CONFIG_TCP_SYNMAXRTX=12
2157 | CONFIG_TCP_MSS=1440
2158 | CONFIG_TCP_MSL=60000
2159 | CONFIG_TCP_SND_BUF_DEFAULT=5744
2160 | CONFIG_TCP_WND_DEFAULT=5744
2161 | CONFIG_TCP_RECVMBOX_SIZE=6
2162 | CONFIG_TCP_QUEUE_OOSEQ=y
2163 | CONFIG_TCP_OVERSIZE_MSS=y
2164 | # CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set
2165 | # CONFIG_TCP_OVERSIZE_DISABLE is not set
2166 | CONFIG_UDP_RECVMBOX_SIZE=6
2167 | CONFIG_TCPIP_TASK_STACK_SIZE=3072
2168 | CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y
2169 | # CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set
2170 | # CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set
2171 | CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF
2172 | # CONFIG_PPP_SUPPORT is not set
2173 | CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_SYSTIMER=y
2174 | CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_FRC1=y
2175 | # CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC is not set
2176 | # CONFIG_ESP32S3_TIME_SYSCALL_USE_SYSTIMER is not set
2177 | # CONFIG_ESP32S3_TIME_SYSCALL_USE_FRC1 is not set
2178 | # CONFIG_ESP32S3_TIME_SYSCALL_USE_NONE is not set
2179 | CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5
2180 | CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072
2181 | CONFIG_ESP32_PTHREAD_STACK_MIN=768
2182 | CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y
2183 | # CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set
2184 | # CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set
2185 | CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1
2186 | CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread"
2187 | CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y
2188 | # CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set
2189 | # CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set
2190 | CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y
2191 | CONFIG_SUPPORT_TERMIOS=y
2192 | CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1
2193 | # End of deprecated options
2194 |
--------------------------------------------------------------------------------
/examples/sdkconfig.ci:
--------------------------------------------------------------------------------
1 | #
2 | # Example Configuration
3 | #
4 | # CONFIG_BLINK_LED_GPIO is not set
5 | CONFIG_BLINK_LED_RMT=y
6 | CONFIG_BLINK_LED_RMT_CHANNEL=0
7 | CONFIG_BLINK_GPIO=48
8 | CONFIG_BLINK_PERIOD=1000
9 | # end of Example Configuration
--------------------------------------------------------------------------------
/examples/sdkconfig.old:
--------------------------------------------------------------------------------
1 | #
2 | # Automatically generated file. DO NOT EDIT.
3 | # Espressif IoT Development Framework (ESP-IDF) Project Configuration
4 | #
5 | CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000
6 | CONFIG_SOC_MPU_REGIONS_MAX_NUM=8
7 | CONFIG_SOC_ADC_SUPPORTED=y
8 | CONFIG_SOC_PCNT_SUPPORTED=y
9 | CONFIG_SOC_WIFI_SUPPORTED=y
10 | CONFIG_SOC_TWAI_SUPPORTED=y
11 | CONFIG_SOC_GDMA_SUPPORTED=y
12 | CONFIG_SOC_GPTIMER_SUPPORTED=y
13 | CONFIG_SOC_LCDCAM_SUPPORTED=y
14 | CONFIG_SOC_MCPWM_SUPPORTED=y
15 | CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y
16 | CONFIG_SOC_CACHE_SUPPORT_WRAP=y
17 | CONFIG_SOC_ULP_SUPPORTED=y
18 | CONFIG_SOC_RISCV_COPROC_SUPPORTED=y
19 | CONFIG_SOC_BT_SUPPORTED=y
20 | CONFIG_SOC_USB_OTG_SUPPORTED=y
21 | CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y
22 | CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y
23 | CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y
24 | CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y
25 | CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y
26 | CONFIG_SOC_SDMMC_HOST_SUPPORTED=y
27 | CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y
28 | CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y
29 | CONFIG_SOC_RTC_MEM_SUPPORTED=y
30 | CONFIG_SOC_PSRAM_DMA_CAPABLE=y
31 | CONFIG_SOC_XT_WDT_SUPPORTED=y
32 | CONFIG_SOC_I2S_SUPPORTED=y
33 | CONFIG_SOC_RMT_SUPPORTED=y
34 | CONFIG_SOC_SDM_SUPPORTED=y
35 | CONFIG_SOC_GPSPI_SUPPORTED=y
36 | CONFIG_SOC_LEDC_SUPPORTED=y
37 | CONFIG_SOC_I2C_SUPPORTED=y
38 | CONFIG_SOC_SYSTIMER_SUPPORTED=y
39 | CONFIG_SOC_SUPPORT_COEXISTENCE=y
40 | CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y
41 | CONFIG_SOC_AES_SUPPORTED=y
42 | CONFIG_SOC_MPI_SUPPORTED=y
43 | CONFIG_SOC_SHA_SUPPORTED=y
44 | CONFIG_SOC_HMAC_SUPPORTED=y
45 | CONFIG_SOC_DIG_SIGN_SUPPORTED=y
46 | CONFIG_SOC_FLASH_ENC_SUPPORTED=y
47 | CONFIG_SOC_SECURE_BOOT_SUPPORTED=y
48 | CONFIG_SOC_MEMPROT_SUPPORTED=y
49 | CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y
50 | CONFIG_SOC_BOD_SUPPORTED=y
51 | CONFIG_SOC_XTAL_SUPPORT_40M=y
52 | CONFIG_SOC_APPCPU_HAS_CLOCK_GATING_BUG=y
53 | CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y
54 | CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y
55 | CONFIG_SOC_ADC_ARBITER_SUPPORTED=y
56 | CONFIG_SOC_ADC_FILTER_SUPPORTED=y
57 | CONFIG_SOC_ADC_MONITOR_SUPPORTED=y
58 | CONFIG_SOC_ADC_DMA_SUPPORTED=y
59 | CONFIG_SOC_ADC_PERIPH_NUM=2
60 | CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10
61 | CONFIG_SOC_ADC_ATTEN_NUM=4
62 | CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2
63 | CONFIG_SOC_ADC_PATT_LEN_MAX=24
64 | CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12
65 | CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12
66 | CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4
67 | CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4
68 | CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333
69 | CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611
70 | CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12
71 | CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12
72 | CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y
73 | CONFIG_SOC_APB_BACKUP_DMA=y
74 | CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y
75 | CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1
76 | CONFIG_SOC_CPU_CORES_NUM=2
77 | CONFIG_SOC_CPU_INTR_NUM=32
78 | CONFIG_SOC_CPU_HAS_FPU=y
79 | CONFIG_SOC_CPU_BREAKPOINTS_NUM=2
80 | CONFIG_SOC_CPU_WATCHPOINTS_NUM=2
81 | CONFIG_SOC_CPU_WATCHPOINT_SIZE=64
82 | CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096
83 | CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16
84 | CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100
85 | CONFIG_SOC_GDMA_GROUPS=y
86 | CONFIG_SOC_GDMA_PAIRS_PER_GROUP=5
87 | CONFIG_SOC_GDMA_SUPPORT_PSRAM=y
88 | CONFIG_SOC_GDMA_PSRAM_MIN_ALIGN=16
89 | CONFIG_SOC_GPIO_PORT=1
90 | CONFIG_SOC_GPIO_PIN_COUNT=49
91 | CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y
92 | CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y
93 | CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y
94 | CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y
95 | CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x1FFFFFFFFFFFF
96 | CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000
97 | CONFIG_SOC_GPIO_SUPPORT_SLP_SWITCH=y
98 | CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8
99 | CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8
100 | CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y
101 | CONFIG_SOC_I2C_NUM=2
102 | CONFIG_SOC_I2C_FIFO_LEN=32
103 | CONFIG_SOC_I2C_SUPPORT_SLAVE=y
104 | CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y
105 | CONFIG_SOC_I2C_SUPPORT_XTAL=y
106 | CONFIG_SOC_I2C_SUPPORT_RTC=y
107 | CONFIG_SOC_I2S_NUM=2
108 | CONFIG_SOC_I2S_HW_VERSION_2=y
109 | CONFIG_SOC_I2S_SUPPORTS_XTAL=y
110 | CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y
111 | CONFIG_SOC_I2S_SUPPORTS_PCM=y
112 | CONFIG_SOC_I2S_SUPPORTS_PDM=y
113 | CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y
114 | CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2
115 | CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y
116 | CONFIG_SOC_I2S_PDM_MAX_RX_LINES=4
117 | CONFIG_SOC_I2S_SUPPORTS_TDM=y
118 | CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y
119 | CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y
120 | CONFIG_SOC_LEDC_CHANNEL_NUM=8
121 | CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14
122 | CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y
123 | CONFIG_SOC_LEDC_GAMMA_FADE_RANGE_MAX=1
124 | CONFIG_SOC_MCPWM_GROUPS=2
125 | CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3
126 | CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3
127 | CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2
128 | CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2
129 | CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2
130 | CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3
131 | CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y
132 | CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3
133 | CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3
134 | CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y
135 | CONFIG_SOC_MCPWM_CLK_SUPPORT_PLL160M=y
136 | CONFIG_SOC_PCNT_GROUPS=1
137 | CONFIG_SOC_PCNT_UNITS_PER_GROUP=4
138 | CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2
139 | CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2
140 | CONFIG_SOC_RMT_GROUPS=1
141 | CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4
142 | CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4
143 | CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8
144 | CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48
145 | CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y
146 | CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y
147 | CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y
148 | CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y
149 | CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y
150 | CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y
151 | CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y
152 | CONFIG_SOC_RMT_SUPPORT_XTAL=y
153 | CONFIG_SOC_RMT_SUPPORT_RC_FAST=y
154 | CONFIG_SOC_RMT_SUPPORT_APB=y
155 | CONFIG_SOC_RMT_SUPPORT_DMA=y
156 | CONFIG_SOC_LCD_I80_SUPPORTED=y
157 | CONFIG_SOC_LCD_RGB_SUPPORTED=y
158 | CONFIG_SOC_LCD_I80_BUSES=1
159 | CONFIG_SOC_LCD_RGB_PANELS=1
160 | CONFIG_SOC_LCD_I80_BUS_WIDTH=16
161 | CONFIG_SOC_LCD_RGB_DATA_WIDTH=16
162 | CONFIG_SOC_LCD_SUPPORT_RGB_YUV_CONV=y
163 | CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128
164 | CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549
165 | CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128
166 | CONFIG_SOC_RTCIO_PIN_COUNT=22
167 | CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y
168 | CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y
169 | CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y
170 | CONFIG_SOC_SDM_GROUPS=y
171 | CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8
172 | CONFIG_SOC_SDM_CLK_SUPPORT_APB=y
173 | CONFIG_SOC_SPI_PERIPH_NUM=3
174 | CONFIG_SOC_SPI_MAX_CS_NUM=6
175 | CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64
176 | CONFIG_SOC_SPI_SUPPORT_DDRCLK=y
177 | CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y
178 | CONFIG_SOC_SPI_SUPPORT_CD_SIG=y
179 | CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y
180 | CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y
181 | CONFIG_SOC_SPI_SUPPORT_CLK_APB=y
182 | CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y
183 | CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y
184 | CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y
185 | CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16
186 | CONFIG_SOC_SPI_SUPPORT_OCT=y
187 | CONFIG_SOC_MEMSPI_SRC_FREQ_120M=y
188 | CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y
189 | CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y
190 | CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y
191 | CONFIG_SOC_SPIRAM_SUPPORTED=y
192 | CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y
193 | CONFIG_SOC_SYSTIMER_COUNTER_NUM=2
194 | CONFIG_SOC_SYSTIMER_ALARM_NUM=3
195 | CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32
196 | CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20
197 | CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y
198 | CONFIG_SOC_SYSTIMER_INT_LEVEL=y
199 | CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y
200 | CONFIG_SOC_TIMER_GROUPS=2
201 | CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2
202 | CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54
203 | CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y
204 | CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y
205 | CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4
206 | CONFIG_SOC_TOUCH_VERSION_2=y
207 | CONFIG_SOC_TOUCH_SENSOR_NUM=15
208 | CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3
209 | CONFIG_SOC_TOUCH_PROXIMITY_MEAS_DONE_SUPPORTED=y
210 | CONFIG_SOC_TOUCH_PAD_THRESHOLD_MAX=0x1FFFFF
211 | CONFIG_SOC_TOUCH_PAD_MEASURE_WAIT_MAX=0xFF
212 | CONFIG_SOC_TWAI_CONTROLLER_NUM=1
213 | CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y
214 | CONFIG_SOC_TWAI_BRP_MIN=2
215 | CONFIG_SOC_TWAI_BRP_MAX=16384
216 | CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y
217 | CONFIG_SOC_UART_NUM=3
218 | CONFIG_SOC_UART_FIFO_LEN=128
219 | CONFIG_SOC_UART_BITRATE_MAX=5000000
220 | CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y
221 | CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y
222 | CONFIG_SOC_UART_SUPPORT_APB_CLK=y
223 | CONFIG_SOC_UART_SUPPORT_RTC_CLK=y
224 | CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y
225 | CONFIG_SOC_UART_REQUIRE_CORE_RESET=y
226 | CONFIG_SOC_USB_PERIPH_NUM=y
227 | CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968
228 | CONFIG_SOC_SHA_SUPPORT_DMA=y
229 | CONFIG_SOC_SHA_SUPPORT_RESUME=y
230 | CONFIG_SOC_SHA_GDMA=y
231 | CONFIG_SOC_SHA_SUPPORT_SHA1=y
232 | CONFIG_SOC_SHA_SUPPORT_SHA224=y
233 | CONFIG_SOC_SHA_SUPPORT_SHA256=y
234 | CONFIG_SOC_SHA_SUPPORT_SHA384=y
235 | CONFIG_SOC_SHA_SUPPORT_SHA512=y
236 | CONFIG_SOC_SHA_SUPPORT_SHA512_224=y
237 | CONFIG_SOC_SHA_SUPPORT_SHA512_256=y
238 | CONFIG_SOC_SHA_SUPPORT_SHA512_T=y
239 | CONFIG_SOC_RSA_MAX_BIT_LEN=4096
240 | CONFIG_SOC_AES_SUPPORT_DMA=y
241 | CONFIG_SOC_AES_GDMA=y
242 | CONFIG_SOC_AES_SUPPORT_AES_128=y
243 | CONFIG_SOC_AES_SUPPORT_AES_256=y
244 | CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y
245 | CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y
246 | CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y
247 | CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y
248 | CONFIG_SOC_PM_SUPPORT_CPU_PD=y
249 | CONFIG_SOC_PM_SUPPORT_TAGMEM_PD=y
250 | CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y
251 | CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y
252 | CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y
253 | CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y
254 | CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y
255 | CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y
256 | CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y
257 | CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y
258 | CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y
259 | CONFIG_SOC_EFUSE_DIS_USB_JTAG=y
260 | CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y
261 | CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y
262 | CONFIG_SOC_SECURE_BOOT_V2_RSA=y
263 | CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3
264 | CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y
265 | CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y
266 | CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64
267 | CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y
268 | CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y
269 | CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y
270 | CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y
271 | CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16
272 | CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=256
273 | CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
274 | CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192
275 | CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12
276 | CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y
277 | CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y
278 | CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y
279 | CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y
280 | CONFIG_SOC_SPI_MEM_SUPPORT_OPI_MODE=y
281 | CONFIG_SOC_SPI_MEM_SUPPORT_TIME_TUNING=y
282 | CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y
283 | CONFIG_SOC_COEX_HW_PTI=y
284 | CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y
285 | CONFIG_SOC_SDMMC_NUM_SLOTS=2
286 | CONFIG_SOC_SDMMC_SUPPORT_XTAL_CLOCK=y
287 | CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y
288 | CONFIG_SOC_WIFI_HW_TSF=y
289 | CONFIG_SOC_WIFI_FTM_SUPPORT=y
290 | CONFIG_SOC_WIFI_GCMP_SUPPORT=y
291 | CONFIG_SOC_WIFI_WAPI_SUPPORT=y
292 | CONFIG_SOC_WIFI_CSI_SUPPORT=y
293 | CONFIG_SOC_WIFI_MESH_SUPPORT=y
294 | CONFIG_SOC_BLE_SUPPORTED=y
295 | CONFIG_SOC_BLE_MESH_SUPPORTED=y
296 | CONFIG_IDF_CMAKE=y
297 | CONFIG_IDF_TARGET_ARCH_XTENSA=y
298 | CONFIG_IDF_TARGET_ARCH="xtensa"
299 | CONFIG_IDF_TARGET="esp32s3"
300 | CONFIG_IDF_TARGET_ESP32S3=y
301 | CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009
302 |
303 | #
304 | # Build type
305 | #
306 | CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y
307 | # CONFIG_APP_BUILD_TYPE_ELF_RAM is not set
308 | CONFIG_APP_BUILD_GENERATE_BINARIES=y
309 | CONFIG_APP_BUILD_BOOTLOADER=y
310 | CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y
311 | # CONFIG_APP_REPRODUCIBLE_BUILD is not set
312 | # CONFIG_APP_NO_BLOBS is not set
313 | # end of Build type
314 |
315 | #
316 | # Bootloader config
317 | #
318 | CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0
319 | CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
320 | # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set
321 | # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set
322 | # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set
323 | # CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set
324 | # CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set
325 | # CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set
326 | CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y
327 | # CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set
328 | # CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set
329 | CONFIG_BOOTLOADER_LOG_LEVEL=3
330 | CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
331 | # CONFIG_BOOTLOADER_FACTORY_RESET is not set
332 | # CONFIG_BOOTLOADER_APP_TEST is not set
333 | CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y
334 | CONFIG_BOOTLOADER_WDT_ENABLE=y
335 | # CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set
336 | CONFIG_BOOTLOADER_WDT_TIME_MS=9000
337 | # CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set
338 | # CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set
339 | # CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set
340 | # CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set
341 | CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0
342 | # CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set
343 | CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
344 | # end of Bootloader config
345 |
346 | #
347 | # Security features
348 | #
349 | CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y
350 | CONFIG_SECURE_BOOT_V2_PREFERRED=y
351 | # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set
352 | # CONFIG_SECURE_BOOT is not set
353 | # CONFIG_SECURE_FLASH_ENC_ENABLED is not set
354 | CONFIG_SECURE_ROM_DL_MODE_ENABLED=y
355 | # end of Security features
356 |
357 | #
358 | # Application manager
359 | #
360 | CONFIG_APP_COMPILE_TIME_DATE=y
361 | # CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set
362 | # CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set
363 | # CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set
364 | CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16
365 | # end of Application manager
366 |
367 | CONFIG_ESP_ROM_HAS_CRC_LE=y
368 | CONFIG_ESP_ROM_HAS_CRC_BE=y
369 | CONFIG_ESP_ROM_HAS_MZ_CRC32=y
370 | CONFIG_ESP_ROM_HAS_JPEG_DECODE=y
371 | CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y
372 | CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y
373 | CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4
374 | CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y
375 | CONFIG_ESP_ROM_GET_CLK_FREQ=y
376 | CONFIG_ESP_ROM_HAS_HAL_WDT=y
377 | CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y
378 | CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y
379 | CONFIG_ESP_ROM_HAS_SPI_FLASH=y
380 | CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y
381 |
382 | #
383 | # Boot ROM Behavior
384 | #
385 | CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y
386 | # CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set
387 | # CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set
388 | # CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set
389 | # end of Boot ROM Behavior
390 |
391 | #
392 | # Serial flasher config
393 | #
394 | # CONFIG_ESPTOOLPY_NO_STUB is not set
395 | # CONFIG_ESPTOOLPY_OCT_FLASH is not set
396 | CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=y
397 | # CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set
398 | # CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set
399 | CONFIG_ESPTOOLPY_FLASHMODE_DIO=y
400 | # CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set
401 | CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y
402 | CONFIG_ESPTOOLPY_FLASHMODE="dio"
403 | # CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set
404 | CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
405 | # CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set
406 | # CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set
407 | CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y
408 | CONFIG_ESPTOOLPY_FLASHFREQ="80m"
409 | # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set
410 | # CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set
411 | # CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set
412 | CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y
413 | # CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set
414 | # CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set
415 | # CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set
416 | # CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set
417 | CONFIG_ESPTOOLPY_FLASHSIZE="8MB"
418 | # CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set
419 | CONFIG_ESPTOOLPY_BEFORE_RESET=y
420 | # CONFIG_ESPTOOLPY_BEFORE_NORESET is not set
421 | CONFIG_ESPTOOLPY_BEFORE="default_reset"
422 | CONFIG_ESPTOOLPY_AFTER_RESET=y
423 | # CONFIG_ESPTOOLPY_AFTER_NORESET is not set
424 | CONFIG_ESPTOOLPY_AFTER="hard_reset"
425 | CONFIG_ESPTOOLPY_MONITOR_BAUD=115200
426 | # end of Serial flasher config
427 |
428 | #
429 | # Partition Table
430 | #
431 | CONFIG_PARTITION_TABLE_SINGLE_APP=y
432 | # CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set
433 | # CONFIG_PARTITION_TABLE_TWO_OTA is not set
434 | # CONFIG_PARTITION_TABLE_CUSTOM is not set
435 | CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
436 | CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv"
437 | CONFIG_PARTITION_TABLE_OFFSET=0x8000
438 | CONFIG_PARTITION_TABLE_MD5=y
439 | # end of Partition Table
440 |
441 | #
442 | # Iridium Configuration
443 | #
444 | CONFIG_RMT_LED_STRIP_RESOLUTION_HZ=10000000
445 | CONFIG_RMT_LED_STRIP_GPIO_NUM=48
446 | CONFIG_UART_NUMBER=1
447 | CONFIG_UART_TX_GPIO_NUM=17
448 | CONFIG_UART_RX_GPIO_NUM=18
449 | CONFIG_UART_SLEEP_GPIO_NUM=0
450 | CONFIG_UART_NET_GPIO_NUM=0
451 | # end of Iridium Configuration
452 |
453 | #
454 | # Compiler options
455 | #
456 | CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y
457 | # CONFIG_COMPILER_OPTIMIZATION_SIZE is not set
458 | # CONFIG_COMPILER_OPTIMIZATION_PERF is not set
459 | # CONFIG_COMPILER_OPTIMIZATION_NONE is not set
460 | CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
461 | # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set
462 | # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set
463 | CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y
464 | CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2
465 | # CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set
466 | CONFIG_COMPILER_HIDE_PATHS_MACROS=y
467 | # CONFIG_COMPILER_CXX_EXCEPTIONS is not set
468 | # CONFIG_COMPILER_CXX_RTTI is not set
469 | CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
470 | # CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set
471 | # CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set
472 | # CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set
473 | # CONFIG_COMPILER_WARN_WRITE_STRINGS is not set
474 | # CONFIG_COMPILER_DUMP_RTL_FILES is not set
475 | # end of Compiler options
476 |
477 | #
478 | # Component config
479 | #
480 |
481 | #
482 | # Application Level Tracing
483 | #
484 | # CONFIG_APPTRACE_DEST_JTAG is not set
485 | CONFIG_APPTRACE_DEST_NONE=y
486 | # CONFIG_APPTRACE_DEST_UART1 is not set
487 | # CONFIG_APPTRACE_DEST_UART2 is not set
488 | # CONFIG_APPTRACE_DEST_USB_CDC is not set
489 | CONFIG_APPTRACE_DEST_UART_NONE=y
490 | CONFIG_APPTRACE_UART_TASK_PRIO=1
491 | CONFIG_APPTRACE_LOCK_ENABLE=y
492 | # end of Application Level Tracing
493 |
494 | #
495 | # Bluetooth
496 | #
497 | # CONFIG_BT_ENABLED is not set
498 | # end of Bluetooth
499 |
500 | #
501 | # Driver Configurations
502 | #
503 |
504 | #
505 | # Legacy ADC Configuration
506 | #
507 | # CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set
508 |
509 | #
510 | # Legacy ADC Calibration Configuration
511 | #
512 | # CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set
513 | # end of Legacy ADC Calibration Configuration
514 | # end of Legacy ADC Configuration
515 |
516 | #
517 | # SPI Configuration
518 | #
519 | # CONFIG_SPI_MASTER_IN_IRAM is not set
520 | CONFIG_SPI_MASTER_ISR_IN_IRAM=y
521 | # CONFIG_SPI_SLAVE_IN_IRAM is not set
522 | CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
523 | # end of SPI Configuration
524 |
525 | #
526 | # TWAI Configuration
527 | #
528 | # CONFIG_TWAI_ISR_IN_IRAM is not set
529 | # end of TWAI Configuration
530 |
531 | #
532 | # Temperature sensor Configuration
533 | #
534 | # CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set
535 | # CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set
536 | # end of Temperature sensor Configuration
537 |
538 | #
539 | # UART Configuration
540 | #
541 | # CONFIG_UART_ISR_IN_IRAM is not set
542 | # end of UART Configuration
543 |
544 | #
545 | # GPIO Configuration
546 | #
547 | # CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set
548 | # end of GPIO Configuration
549 |
550 | #
551 | # Sigma Delta Modulator Configuration
552 | #
553 | # CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set
554 | # CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set
555 | # CONFIG_SDM_ENABLE_DEBUG_LOG is not set
556 | # end of Sigma Delta Modulator Configuration
557 |
558 | #
559 | # GPTimer Configuration
560 | #
561 | # CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set
562 | # CONFIG_GPTIMER_ISR_IRAM_SAFE is not set
563 | # CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set
564 | # CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set
565 | # end of GPTimer Configuration
566 |
567 | #
568 | # PCNT Configuration
569 | #
570 | # CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set
571 | # CONFIG_PCNT_ISR_IRAM_SAFE is not set
572 | # CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set
573 | # CONFIG_PCNT_ENABLE_DEBUG_LOG is not set
574 | # end of PCNT Configuration
575 |
576 | #
577 | # RMT Configuration
578 | #
579 | # CONFIG_RMT_ISR_IRAM_SAFE is not set
580 | # CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set
581 | # CONFIG_RMT_ENABLE_DEBUG_LOG is not set
582 | # end of RMT Configuration
583 |
584 | #
585 | # MCPWM Configuration
586 | #
587 | # CONFIG_MCPWM_ISR_IRAM_SAFE is not set
588 | # CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set
589 | # CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set
590 | # CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set
591 | # end of MCPWM Configuration
592 |
593 | #
594 | # I2S Configuration
595 | #
596 | # CONFIG_I2S_ISR_IRAM_SAFE is not set
597 | # CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set
598 | # CONFIG_I2S_ENABLE_DEBUG_LOG is not set
599 | # end of I2S Configuration
600 | # end of Driver Configurations
601 |
602 | #
603 | # eFuse Bit Manager
604 | #
605 | # CONFIG_EFUSE_CUSTOM_TABLE is not set
606 | # CONFIG_EFUSE_VIRTUAL is not set
607 | CONFIG_EFUSE_MAX_BLK_LEN=256
608 | # end of eFuse Bit Manager
609 |
610 | #
611 | # ESP-TLS
612 | #
613 | CONFIG_ESP_TLS_USING_MBEDTLS=y
614 | CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y
615 | # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set
616 | # CONFIG_ESP_TLS_SERVER is not set
617 | # CONFIG_ESP_TLS_PSK_VERIFICATION is not set
618 | # CONFIG_ESP_TLS_INSECURE is not set
619 | # end of ESP-TLS
620 |
621 | #
622 | # ADC and ADC Calibration
623 | #
624 | # CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set
625 | # CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set
626 | # CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set
627 | # end of ADC and ADC Calibration
628 |
629 | #
630 | # Common ESP-related
631 | #
632 | CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
633 | # end of Common ESP-related
634 |
635 | #
636 | # Ethernet
637 | #
638 | CONFIG_ETH_ENABLED=y
639 | CONFIG_ETH_USE_SPI_ETHERNET=y
640 | # CONFIG_ETH_SPI_ETHERNET_DM9051 is not set
641 | # CONFIG_ETH_SPI_ETHERNET_W5500 is not set
642 | # CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set
643 | # CONFIG_ETH_USE_OPENETH is not set
644 | # CONFIG_ETH_TRANSMIT_MUTEX is not set
645 | # end of Ethernet
646 |
647 | #
648 | # Event Loop Library
649 | #
650 | # CONFIG_ESP_EVENT_LOOP_PROFILING is not set
651 | CONFIG_ESP_EVENT_POST_FROM_ISR=y
652 | CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y
653 | # end of Event Loop Library
654 |
655 | #
656 | # GDB Stub
657 | #
658 | # end of GDB Stub
659 |
660 | #
661 | # ESP HTTP client
662 | #
663 | CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y
664 | # CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set
665 | # CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set
666 | # end of ESP HTTP client
667 |
668 | #
669 | # HTTP Server
670 | #
671 | CONFIG_HTTPD_MAX_REQ_HDR_LEN=512
672 | CONFIG_HTTPD_MAX_URI_LEN=512
673 | CONFIG_HTTPD_ERR_RESP_NO_DELAY=y
674 | CONFIG_HTTPD_PURGE_BUF_LEN=32
675 | # CONFIG_HTTPD_LOG_PURGE_DATA is not set
676 | # CONFIG_HTTPD_WS_SUPPORT is not set
677 | # CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set
678 | # end of HTTP Server
679 |
680 | #
681 | # ESP HTTPS OTA
682 | #
683 | # CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set
684 | # CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set
685 | # end of ESP HTTPS OTA
686 |
687 | #
688 | # ESP HTTPS server
689 | #
690 | # CONFIG_ESP_HTTPS_SERVER_ENABLE is not set
691 | # end of ESP HTTPS server
692 |
693 | #
694 | # Hardware Settings
695 | #
696 |
697 | #
698 | # Chip revision
699 | #
700 | CONFIG_ESP32S3_REV_MIN_0=y
701 | # CONFIG_ESP32S3_REV_MIN_1 is not set
702 | # CONFIG_ESP32S3_REV_MIN_2 is not set
703 | CONFIG_ESP32S3_REV_MIN_FULL=0
704 | CONFIG_ESP_REV_MIN_FULL=0
705 |
706 | #
707 | # Maximum Supported ESP32-S3 Revision (Rev v0.99)
708 | #
709 | CONFIG_ESP32S3_REV_MAX_FULL=99
710 | CONFIG_ESP_REV_MAX_FULL=99
711 | # end of Chip revision
712 |
713 | #
714 | # MAC Config
715 | #
716 | CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y
717 | CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y
718 | CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y
719 | CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y
720 | CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y
721 | # CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set
722 | CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y
723 | CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4
724 | # end of MAC Config
725 |
726 | #
727 | # Sleep Config
728 | #
729 | # CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set
730 | CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y
731 | CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y
732 | CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y
733 | CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU=y
734 | CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000
735 | # end of Sleep Config
736 |
737 | #
738 | # RTC Clock Config
739 | #
740 | CONFIG_RTC_CLK_SRC_INT_RC=y
741 | # CONFIG_RTC_CLK_SRC_EXT_CRYS is not set
742 | # CONFIG_RTC_CLK_SRC_EXT_OSC is not set
743 | # CONFIG_RTC_CLK_SRC_INT_8MD256 is not set
744 | CONFIG_RTC_CLK_CAL_CYCLES=1024
745 | CONFIG_RTC_CLOCK_BBPLL_POWER_ON_WITH_USB=y
746 | # end of RTC Clock Config
747 |
748 | #
749 | # Peripheral Control
750 | #
751 | CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y
752 | # end of Peripheral Control
753 |
754 | #
755 | # MMU Config
756 | #
757 | CONFIG_MMU_PAGE_SIZE_64KB=y
758 | CONFIG_MMU_PAGE_MODE="64KB"
759 | CONFIG_MMU_PAGE_SIZE=0x10000
760 | # end of MMU Config
761 |
762 | #
763 | # GDMA Configuration
764 | #
765 | # CONFIG_GDMA_CTRL_FUNC_IN_IRAM is not set
766 | # CONFIG_GDMA_ISR_IRAM_SAFE is not set
767 | # end of GDMA Configuration
768 |
769 | #
770 | # Main XTAL Config
771 | #
772 | CONFIG_XTAL_FREQ_40=y
773 | CONFIG_XTAL_FREQ=40
774 | # end of Main XTAL Config
775 | # end of Hardware Settings
776 |
777 | #
778 | # LCD and Touch Panel
779 | #
780 |
781 | #
782 | # LCD Touch Drivers are maintained in the IDF Component Registry
783 | #
784 |
785 | #
786 | # LCD Peripheral Configuration
787 | #
788 | CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32
789 | # CONFIG_LCD_ENABLE_DEBUG_LOG is not set
790 | # CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set
791 | # CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set
792 | # end of LCD Peripheral Configuration
793 | # end of LCD and Touch Panel
794 |
795 | #
796 | # ESP NETIF Adapter
797 | #
798 | CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
799 | CONFIG_ESP_NETIF_TCPIP_LWIP=y
800 | # CONFIG_ESP_NETIF_LOOPBACK is not set
801 | CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y
802 | # CONFIG_ESP_NETIF_L2_TAP is not set
803 | # CONFIG_ESP_NETIF_BRIDGE_EN is not set
804 | # end of ESP NETIF Adapter
805 |
806 | #
807 | # ESP_PARTITION
808 | #
809 | # end of ESP_PARTITION
810 |
811 | #
812 | # PHY
813 | #
814 | CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y
815 | # CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set
816 | CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20
817 | CONFIG_ESP_PHY_MAX_TX_POWER=20
818 | CONFIG_ESP_PHY_REDUCE_TX_POWER=y
819 | CONFIG_ESP_PHY_ENABLE_USB=y
820 | # end of PHY
821 |
822 | #
823 | # Power Management
824 | #
825 | # CONFIG_PM_ENABLE is not set
826 | CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y
827 | CONFIG_PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP=y
828 | # end of Power Management
829 |
830 | #
831 | # ESP PSRAM
832 | #
833 | # CONFIG_SPIRAM is not set
834 | # end of ESP PSRAM
835 |
836 | #
837 | # ESP Ringbuf
838 | #
839 | # CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set
840 | # CONFIG_RINGBUF_PLACE_ISR_FUNCTIONS_INTO_FLASH is not set
841 | # end of ESP Ringbuf
842 |
843 | #
844 | # ESP System Settings
845 | #
846 | # CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set
847 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y
848 | # CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set
849 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160
850 |
851 | #
852 | # Cache config
853 | #
854 | CONFIG_ESP32S3_INSTRUCTION_CACHE_16KB=y
855 | # CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB is not set
856 | CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE=0x4000
857 | # CONFIG_ESP32S3_INSTRUCTION_CACHE_4WAYS is not set
858 | CONFIG_ESP32S3_INSTRUCTION_CACHE_8WAYS=y
859 | CONFIG_ESP32S3_ICACHE_ASSOCIATED_WAYS=8
860 | # CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_16B is not set
861 | CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_32B=y
862 | CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_SIZE=32
863 | # CONFIG_ESP32S3_DATA_CACHE_16KB is not set
864 | CONFIG_ESP32S3_DATA_CACHE_32KB=y
865 | # CONFIG_ESP32S3_DATA_CACHE_64KB is not set
866 | CONFIG_ESP32S3_DATA_CACHE_SIZE=0x8000
867 | # CONFIG_ESP32S3_DATA_CACHE_4WAYS is not set
868 | CONFIG_ESP32S3_DATA_CACHE_8WAYS=y
869 | CONFIG_ESP32S3_DCACHE_ASSOCIATED_WAYS=8
870 | # CONFIG_ESP32S3_DATA_CACHE_LINE_16B is not set
871 | CONFIG_ESP32S3_DATA_CACHE_LINE_32B=y
872 | # CONFIG_ESP32S3_DATA_CACHE_LINE_64B is not set
873 | CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=32
874 | # end of Cache config
875 |
876 | #
877 | # Memory
878 | #
879 | # CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM is not set
880 | # CONFIG_ESP32S3_USE_FIXED_STATIC_RAM_SIZE is not set
881 | # end of Memory
882 |
883 | #
884 | # Trace memory
885 | #
886 | # CONFIG_ESP32S3_TRAX is not set
887 | CONFIG_ESP32S3_TRACEMEM_RESERVE_DRAM=0x0
888 | # end of Trace memory
889 |
890 | # CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set
891 | CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
892 | # CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
893 | # CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set
894 | # CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set
895 | CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0
896 | CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y
897 | CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y
898 |
899 | #
900 | # Memory protection
901 | #
902 | CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y
903 | CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y
904 | # end of Memory protection
905 |
906 | CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32
907 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304
908 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584
909 | CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y
910 | # CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set
911 | # CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set
912 | CONFIG_ESP_MAIN_TASK_AFFINITY=0x0
913 | CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048
914 | CONFIG_ESP_CONSOLE_UART_DEFAULT=y
915 | # CONFIG_ESP_CONSOLE_USB_CDC is not set
916 | # CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set
917 | # CONFIG_ESP_CONSOLE_UART_CUSTOM is not set
918 | # CONFIG_ESP_CONSOLE_NONE is not set
919 | # CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set
920 | CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y
921 | CONFIG_ESP_CONSOLE_UART=y
922 | CONFIG_ESP_CONSOLE_MULTIPLE_UART=y
923 | CONFIG_ESP_CONSOLE_UART_NUM=0
924 | CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
925 | CONFIG_ESP_INT_WDT=y
926 | CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
927 | CONFIG_ESP_INT_WDT_CHECK_CPU1=y
928 | CONFIG_ESP_TASK_WDT_EN=y
929 | CONFIG_ESP_TASK_WDT_INIT=y
930 | # CONFIG_ESP_TASK_WDT_PANIC is not set
931 | CONFIG_ESP_TASK_WDT_TIMEOUT_S=5
932 | CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
933 | CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y
934 | # CONFIG_ESP_PANIC_HANDLER_IRAM is not set
935 | # CONFIG_ESP_DEBUG_STUBS_ENABLE is not set
936 | CONFIG_ESP_DEBUG_OCDAWARE=y
937 | CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y
938 |
939 | #
940 | # Brownout Detector
941 | #
942 | CONFIG_ESP_BROWNOUT_DET=y
943 | CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y
944 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set
945 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set
946 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set
947 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set
948 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set
949 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set
950 | CONFIG_ESP_BROWNOUT_DET_LVL=7
951 | # end of Brownout Detector
952 |
953 | CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y
954 | # end of ESP System Settings
955 |
956 | #
957 | # IPC (Inter-Processor Call)
958 | #
959 | CONFIG_ESP_IPC_TASK_STACK_SIZE=1280
960 | CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
961 | CONFIG_ESP_IPC_ISR_ENABLE=y
962 | # end of IPC (Inter-Processor Call)
963 |
964 | #
965 | # High resolution timer (esp_timer)
966 | #
967 | # CONFIG_ESP_TIMER_PROFILING is not set
968 | CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y
969 | CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y
970 | CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584
971 | CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1
972 | # CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set
973 | CONFIG_ESP_TIMER_IMPL_SYSTIMER=y
974 | # end of High resolution timer (esp_timer)
975 |
976 | #
977 | # Wi-Fi
978 | #
979 | CONFIG_ESP32_WIFI_ENABLED=y
980 | CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10
981 | CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32
982 | # CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set
983 | CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y
984 | CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1
985 | CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32
986 | # CONFIG_ESP32_WIFI_CSI_ENABLED is not set
987 | CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y
988 | CONFIG_ESP32_WIFI_TX_BA_WIN=6
989 | CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
990 | CONFIG_ESP32_WIFI_RX_BA_WIN=6
991 | CONFIG_ESP32_WIFI_NVS_ENABLED=y
992 | CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y
993 | # CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set
994 | CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752
995 | CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32
996 | CONFIG_ESP32_WIFI_IRAM_OPT=y
997 | CONFIG_ESP32_WIFI_RX_IRAM_OPT=y
998 | CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y
999 | CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y
1000 | # CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set
1001 | # CONFIG_ESP_WIFI_FTM_ENABLE is not set
1002 | CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y
1003 | # CONFIG_ESP_WIFI_EXTERNAL_COEXIST_ENABLE is not set
1004 | # CONFIG_ESP_WIFI_GCMP_SUPPORT is not set
1005 | # CONFIG_ESP_WIFI_GMAC_SUPPORT is not set
1006 | CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y
1007 | # CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set
1008 | CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7
1009 | # end of Wi-Fi
1010 |
1011 | #
1012 | # Core dump
1013 | #
1014 | # CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set
1015 | # CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set
1016 | CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y
1017 | # end of Core dump
1018 |
1019 | #
1020 | # FAT Filesystem support
1021 | #
1022 | CONFIG_FATFS_VOLUME_COUNT=2
1023 | CONFIG_FATFS_LFN_NONE=y
1024 | # CONFIG_FATFS_LFN_HEAP is not set
1025 | # CONFIG_FATFS_LFN_STACK is not set
1026 | # CONFIG_FATFS_SECTOR_512 is not set
1027 | CONFIG_FATFS_SECTOR_4096=y
1028 | # CONFIG_FATFS_CODEPAGE_DYNAMIC is not set
1029 | CONFIG_FATFS_CODEPAGE_437=y
1030 | # CONFIG_FATFS_CODEPAGE_720 is not set
1031 | # CONFIG_FATFS_CODEPAGE_737 is not set
1032 | # CONFIG_FATFS_CODEPAGE_771 is not set
1033 | # CONFIG_FATFS_CODEPAGE_775 is not set
1034 | # CONFIG_FATFS_CODEPAGE_850 is not set
1035 | # CONFIG_FATFS_CODEPAGE_852 is not set
1036 | # CONFIG_FATFS_CODEPAGE_855 is not set
1037 | # CONFIG_FATFS_CODEPAGE_857 is not set
1038 | # CONFIG_FATFS_CODEPAGE_860 is not set
1039 | # CONFIG_FATFS_CODEPAGE_861 is not set
1040 | # CONFIG_FATFS_CODEPAGE_862 is not set
1041 | # CONFIG_FATFS_CODEPAGE_863 is not set
1042 | # CONFIG_FATFS_CODEPAGE_864 is not set
1043 | # CONFIG_FATFS_CODEPAGE_865 is not set
1044 | # CONFIG_FATFS_CODEPAGE_866 is not set
1045 | # CONFIG_FATFS_CODEPAGE_869 is not set
1046 | # CONFIG_FATFS_CODEPAGE_932 is not set
1047 | # CONFIG_FATFS_CODEPAGE_936 is not set
1048 | # CONFIG_FATFS_CODEPAGE_949 is not set
1049 | # CONFIG_FATFS_CODEPAGE_950 is not set
1050 | CONFIG_FATFS_CODEPAGE=437
1051 | CONFIG_FATFS_FS_LOCK=0
1052 | CONFIG_FATFS_TIMEOUT_MS=10000
1053 | CONFIG_FATFS_PER_FILE_CACHE=y
1054 | # CONFIG_FATFS_USE_FASTSEEK is not set
1055 | # end of FAT Filesystem support
1056 |
1057 | #
1058 | # FreeRTOS
1059 | #
1060 |
1061 | #
1062 | # Kernel
1063 | #
1064 | # CONFIG_FREERTOS_SMP is not set
1065 | # CONFIG_FREERTOS_UNICORE is not set
1066 | CONFIG_FREERTOS_HZ=100
1067 | # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set
1068 | # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set
1069 | CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y
1070 | CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1
1071 | CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536
1072 | # CONFIG_FREERTOS_USE_IDLE_HOOK is not set
1073 | # CONFIG_FREERTOS_USE_TICK_HOOK is not set
1074 | CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16
1075 | CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y
1076 | CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1
1077 | CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048
1078 | CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10
1079 | CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
1080 | CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1
1081 | # CONFIG_FREERTOS_USE_TRACE_FACILITY is not set
1082 | # CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set
1083 | # end of Kernel
1084 |
1085 | #
1086 | # Port
1087 | #
1088 | CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y
1089 | # CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
1090 | CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y
1091 | # CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set
1092 | CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y
1093 | CONFIG_FREERTOS_ISR_STACKSIZE=1536
1094 | CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y
1095 | CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y
1096 | CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y
1097 | # CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set
1098 | CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y
1099 | # CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set
1100 | # CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH is not set
1101 | # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set
1102 | CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y
1103 | # end of Port
1104 |
1105 | CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF
1106 | CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
1107 | CONFIG_FREERTOS_DEBUG_OCDAWARE=y
1108 | # end of FreeRTOS
1109 |
1110 | #
1111 | # Hardware Abstraction Layer (HAL) and Low Level (LL)
1112 | #
1113 | CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y
1114 | # CONFIG_HAL_ASSERTION_DISABLE is not set
1115 | # CONFIG_HAL_ASSERTION_SILENT is not set
1116 | # CONFIG_HAL_ASSERTION_ENABLE is not set
1117 | CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2
1118 | CONFIG_HAL_WDT_USE_ROM_IMPL=y
1119 | # end of Hardware Abstraction Layer (HAL) and Low Level (LL)
1120 |
1121 | #
1122 | # Heap memory debugging
1123 | #
1124 | CONFIG_HEAP_POISONING_DISABLED=y
1125 | # CONFIG_HEAP_POISONING_LIGHT is not set
1126 | # CONFIG_HEAP_POISONING_COMPREHENSIVE is not set
1127 | CONFIG_HEAP_TRACING_OFF=y
1128 | # CONFIG_HEAP_TRACING_STANDALONE is not set
1129 | # CONFIG_HEAP_TRACING_TOHOST is not set
1130 | # CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set
1131 | # end of Heap memory debugging
1132 |
1133 | #
1134 | # Log output
1135 | #
1136 | # CONFIG_LOG_DEFAULT_LEVEL_NONE is not set
1137 | # CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set
1138 | # CONFIG_LOG_DEFAULT_LEVEL_WARN is not set
1139 | # CONFIG_LOG_DEFAULT_LEVEL_INFO is not set
1140 | CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y
1141 | # CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set
1142 | CONFIG_LOG_DEFAULT_LEVEL=4
1143 | # CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT is not set
1144 | CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE=y
1145 | CONFIG_LOG_MAXIMUM_LEVEL=5
1146 | CONFIG_LOG_COLORS=y
1147 | CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
1148 | # CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set
1149 | # end of Log output
1150 |
1151 | #
1152 | # LWIP
1153 | #
1154 | CONFIG_LWIP_LOCAL_HOSTNAME="espressif"
1155 | # CONFIG_LWIP_NETIF_API is not set
1156 | # CONFIG_LWIP_TCPIP_CORE_LOCKING is not set
1157 | # CONFIG_LWIP_CHECK_THREAD_SAFETY is not set
1158 | CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y
1159 | # CONFIG_LWIP_L2_TO_L3_COPY is not set
1160 | # CONFIG_LWIP_IRAM_OPTIMIZATION is not set
1161 | CONFIG_LWIP_TIMERS_ONDEMAND=y
1162 | CONFIG_LWIP_MAX_SOCKETS=10
1163 | # CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set
1164 | # CONFIG_LWIP_SO_LINGER is not set
1165 | CONFIG_LWIP_SO_REUSE=y
1166 | CONFIG_LWIP_SO_REUSE_RXTOALL=y
1167 | # CONFIG_LWIP_SO_RCVBUF is not set
1168 | # CONFIG_LWIP_NETBUF_RECVINFO is not set
1169 | CONFIG_LWIP_IP4_FRAG=y
1170 | CONFIG_LWIP_IP6_FRAG=y
1171 | # CONFIG_LWIP_IP4_REASSEMBLY is not set
1172 | # CONFIG_LWIP_IP6_REASSEMBLY is not set
1173 | CONFIG_LWIP_IP_REASS_MAX_PBUFS=10
1174 | # CONFIG_LWIP_IP_FORWARD is not set
1175 | # CONFIG_LWIP_STATS is not set
1176 | CONFIG_LWIP_ESP_GRATUITOUS_ARP=y
1177 | CONFIG_LWIP_GARP_TMR_INTERVAL=60
1178 | CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32
1179 | CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y
1180 | # CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set
1181 | CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y
1182 | # CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set
1183 | CONFIG_LWIP_DHCP_OPTIONS_LEN=68
1184 | CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0
1185 |
1186 | #
1187 | # DHCP server
1188 | #
1189 | CONFIG_LWIP_DHCPS=y
1190 | CONFIG_LWIP_DHCPS_LEASE_UNIT=60
1191 | CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8
1192 | # end of DHCP server
1193 |
1194 | # CONFIG_LWIP_AUTOIP is not set
1195 | CONFIG_LWIP_IPV6=y
1196 | # CONFIG_LWIP_IPV6_AUTOCONFIG is not set
1197 | CONFIG_LWIP_IPV6_NUM_ADDRESSES=3
1198 | # CONFIG_LWIP_IPV6_FORWARD is not set
1199 | # CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set
1200 | CONFIG_LWIP_NETIF_LOOPBACK=y
1201 | CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8
1202 |
1203 | #
1204 | # TCP
1205 | #
1206 | CONFIG_LWIP_MAX_ACTIVE_TCP=16
1207 | CONFIG_LWIP_MAX_LISTENING_TCP=16
1208 | CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y
1209 | CONFIG_LWIP_TCP_MAXRTX=12
1210 | CONFIG_LWIP_TCP_SYNMAXRTX=12
1211 | CONFIG_LWIP_TCP_MSS=1440
1212 | CONFIG_LWIP_TCP_TMR_INTERVAL=250
1213 | CONFIG_LWIP_TCP_MSL=60000
1214 | CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000
1215 | CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5744
1216 | CONFIG_LWIP_TCP_WND_DEFAULT=5744
1217 | CONFIG_LWIP_TCP_RECVMBOX_SIZE=6
1218 | CONFIG_LWIP_TCP_QUEUE_OOSEQ=y
1219 | # CONFIG_LWIP_TCP_SACK_OUT is not set
1220 | CONFIG_LWIP_TCP_OVERSIZE_MSS=y
1221 | # CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set
1222 | # CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set
1223 | CONFIG_LWIP_TCP_RTO_TIME=1500
1224 | # end of TCP
1225 |
1226 | #
1227 | # UDP
1228 | #
1229 | CONFIG_LWIP_MAX_UDP_PCBS=16
1230 | CONFIG_LWIP_UDP_RECVMBOX_SIZE=6
1231 | # end of UDP
1232 |
1233 | #
1234 | # Checksums
1235 | #
1236 | # CONFIG_LWIP_CHECKSUM_CHECK_IP is not set
1237 | # CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set
1238 | CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y
1239 | # end of Checksums
1240 |
1241 | CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072
1242 | CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y
1243 | # CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set
1244 | # CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set
1245 | CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF
1246 | # CONFIG_LWIP_PPP_SUPPORT is not set
1247 | CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3
1248 | CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5
1249 | # CONFIG_LWIP_SLIP_SUPPORT is not set
1250 |
1251 | #
1252 | # ICMP
1253 | #
1254 | CONFIG_LWIP_ICMP=y
1255 | # CONFIG_LWIP_MULTICAST_PING is not set
1256 | # CONFIG_LWIP_BROADCAST_PING is not set
1257 | # end of ICMP
1258 |
1259 | #
1260 | # LWIP RAW API
1261 | #
1262 | CONFIG_LWIP_MAX_RAW_PCBS=16
1263 | # end of LWIP RAW API
1264 |
1265 | #
1266 | # SNTP
1267 | #
1268 | CONFIG_LWIP_SNTP_MAX_SERVERS=1
1269 | # CONFIG_LWIP_DHCP_GET_NTP_SRV is not set
1270 | CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000
1271 | # end of SNTP
1272 |
1273 | CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7
1274 | CONFIG_LWIP_ESP_LWIP_ASSERT=y
1275 |
1276 | #
1277 | # Hooks
1278 | #
1279 | # CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set
1280 | CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y
1281 | # CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set
1282 | CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y
1283 | # CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set
1284 | # CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set
1285 | CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y
1286 | # CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set
1287 | # CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set
1288 | CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y
1289 | # CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set
1290 | # CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set
1291 | CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y
1292 | # CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT is not set
1293 | # CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set
1294 | # end of Hooks
1295 |
1296 | # CONFIG_LWIP_DEBUG is not set
1297 | # end of LWIP
1298 |
1299 | #
1300 | # mbedTLS
1301 | #
1302 | CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y
1303 | # CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set
1304 | # CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set
1305 | CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
1306 | CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384
1307 | CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096
1308 | # CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set
1309 | # CONFIG_MBEDTLS_DEBUG is not set
1310 |
1311 | #
1312 | # mbedTLS v3.x related
1313 | #
1314 | # CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set
1315 | # CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set
1316 | # CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set
1317 | # CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set
1318 | CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y
1319 | # end of mbedTLS v3.x related
1320 |
1321 | #
1322 | # Certificate Bundle
1323 | #
1324 | CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
1325 | CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y
1326 | # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set
1327 | # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set
1328 | # CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set
1329 | CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200
1330 | # end of Certificate Bundle
1331 |
1332 | # CONFIG_MBEDTLS_ECP_RESTARTABLE is not set
1333 | # CONFIG_MBEDTLS_CMAC_C is not set
1334 | CONFIG_MBEDTLS_HARDWARE_AES=y
1335 | CONFIG_MBEDTLS_AES_USE_INTERRUPT=y
1336 | CONFIG_MBEDTLS_HARDWARE_MPI=y
1337 | CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y
1338 | CONFIG_MBEDTLS_HARDWARE_SHA=y
1339 | CONFIG_MBEDTLS_ROM_MD5=y
1340 | # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set
1341 | # CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set
1342 | CONFIG_MBEDTLS_HAVE_TIME=y
1343 | # CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set
1344 | # CONFIG_MBEDTLS_HAVE_TIME_DATE is not set
1345 | CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y
1346 | CONFIG_MBEDTLS_SHA512_C=y
1347 | CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y
1348 | # CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set
1349 | # CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set
1350 | # CONFIG_MBEDTLS_TLS_DISABLED is not set
1351 | CONFIG_MBEDTLS_TLS_SERVER=y
1352 | CONFIG_MBEDTLS_TLS_CLIENT=y
1353 | CONFIG_MBEDTLS_TLS_ENABLED=y
1354 |
1355 | #
1356 | # TLS Key Exchange Methods
1357 | #
1358 | # CONFIG_MBEDTLS_PSK_MODES is not set
1359 | CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y
1360 | CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y
1361 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y
1362 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y
1363 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y
1364 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y
1365 | # end of TLS Key Exchange Methods
1366 |
1367 | CONFIG_MBEDTLS_SSL_RENEGOTIATION=y
1368 | CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y
1369 | # CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set
1370 | # CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set
1371 | CONFIG_MBEDTLS_SSL_ALPN=y
1372 | CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y
1373 | CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y
1374 |
1375 | #
1376 | # Symmetric Ciphers
1377 | #
1378 | CONFIG_MBEDTLS_AES_C=y
1379 | # CONFIG_MBEDTLS_CAMELLIA_C is not set
1380 | # CONFIG_MBEDTLS_DES_C is not set
1381 | # CONFIG_MBEDTLS_BLOWFISH_C is not set
1382 | # CONFIG_MBEDTLS_XTEA_C is not set
1383 | CONFIG_MBEDTLS_CCM_C=y
1384 | CONFIG_MBEDTLS_GCM_C=y
1385 | # CONFIG_MBEDTLS_NIST_KW_C is not set
1386 | # end of Symmetric Ciphers
1387 |
1388 | # CONFIG_MBEDTLS_RIPEMD160_C is not set
1389 |
1390 | #
1391 | # Certificates
1392 | #
1393 | CONFIG_MBEDTLS_PEM_PARSE_C=y
1394 | CONFIG_MBEDTLS_PEM_WRITE_C=y
1395 | CONFIG_MBEDTLS_X509_CRL_PARSE_C=y
1396 | CONFIG_MBEDTLS_X509_CSR_PARSE_C=y
1397 | # end of Certificates
1398 |
1399 | CONFIG_MBEDTLS_ECP_C=y
1400 | # CONFIG_MBEDTLS_DHM_C is not set
1401 | CONFIG_MBEDTLS_ECDH_C=y
1402 | CONFIG_MBEDTLS_ECDSA_C=y
1403 | # CONFIG_MBEDTLS_ECJPAKE_C is not set
1404 | CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y
1405 | CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y
1406 | CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y
1407 | CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y
1408 | CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y
1409 | CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y
1410 | CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y
1411 | CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y
1412 | CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y
1413 | CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y
1414 | CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y
1415 | CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y
1416 | CONFIG_MBEDTLS_ECP_NIST_OPTIM=y
1417 | # CONFIG_MBEDTLS_POLY1305_C is not set
1418 | # CONFIG_MBEDTLS_CHACHA20_C is not set
1419 | # CONFIG_MBEDTLS_HKDF_C is not set
1420 | # CONFIG_MBEDTLS_THREADING_C is not set
1421 | # CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set
1422 | # CONFIG_MBEDTLS_SECURITY_RISKS is not set
1423 | # end of mbedTLS
1424 |
1425 | #
1426 | # ESP-MQTT Configurations
1427 | #
1428 | CONFIG_MQTT_PROTOCOL_311=y
1429 | # CONFIG_MQTT_PROTOCOL_5 is not set
1430 | CONFIG_MQTT_TRANSPORT_SSL=y
1431 | CONFIG_MQTT_TRANSPORT_WEBSOCKET=y
1432 | CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y
1433 | # CONFIG_MQTT_MSG_ID_INCREMENTAL is not set
1434 | # CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set
1435 | # CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set
1436 | # CONFIG_MQTT_USE_CUSTOM_CONFIG is not set
1437 | # CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set
1438 | # CONFIG_MQTT_CUSTOM_OUTBOX is not set
1439 | # end of ESP-MQTT Configurations
1440 |
1441 | #
1442 | # Newlib
1443 | #
1444 | CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y
1445 | # CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set
1446 | # CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set
1447 | # CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set
1448 | # CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set
1449 | CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y
1450 | # CONFIG_NEWLIB_NANO_FORMAT is not set
1451 | CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y
1452 | # CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set
1453 | # CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set
1454 | # CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set
1455 | # end of Newlib
1456 |
1457 | #
1458 | # NVS
1459 | #
1460 | # CONFIG_NVS_ASSERT_ERROR_CHECK is not set
1461 | # end of NVS
1462 |
1463 | #
1464 | # OpenThread
1465 | #
1466 | # CONFIG_OPENTHREAD_ENABLED is not set
1467 | # end of OpenThread
1468 |
1469 | #
1470 | # Protocomm
1471 | #
1472 | CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y
1473 | CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y
1474 | CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y
1475 | # end of Protocomm
1476 |
1477 | #
1478 | # PThreads
1479 | #
1480 | CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5
1481 | CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072
1482 | CONFIG_PTHREAD_STACK_MIN=768
1483 | CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y
1484 | # CONFIG_PTHREAD_DEFAULT_CORE_0 is not set
1485 | # CONFIG_PTHREAD_DEFAULT_CORE_1 is not set
1486 | CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1
1487 | CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread"
1488 | # end of PThreads
1489 |
1490 | #
1491 | # SPI Flash driver
1492 | #
1493 | # CONFIG_SPI_FLASH_VERIFY_WRITE is not set
1494 | # CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set
1495 | CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y
1496 | # CONFIG_SPI_FLASH_ROM_IMPL is not set
1497 | CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y
1498 | # CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set
1499 | # CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set
1500 | # CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set
1501 | # CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set
1502 | CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y
1503 | CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20
1504 | CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1
1505 | CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192
1506 | # CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set
1507 | # CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set
1508 | # CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set
1509 |
1510 | #
1511 | # SPI Flash behavior when brownout
1512 | #
1513 | CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y
1514 | CONFIG_SPI_FLASH_BROWNOUT_RESET=y
1515 | # end of SPI Flash behavior when brownout
1516 |
1517 | #
1518 | # Auto-detect flash chips
1519 | #
1520 | CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y
1521 | CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y
1522 | CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y
1523 | CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y
1524 | CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP=y
1525 | CONFIG_SPI_FLASH_SUPPORT_TH_CHIP=y
1526 | CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP=y
1527 | # end of Auto-detect flash chips
1528 |
1529 | CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y
1530 | # end of SPI Flash driver
1531 |
1532 | #
1533 | # SPIFFS Configuration
1534 | #
1535 | CONFIG_SPIFFS_MAX_PARTITIONS=3
1536 |
1537 | #
1538 | # SPIFFS Cache Configuration
1539 | #
1540 | CONFIG_SPIFFS_CACHE=y
1541 | CONFIG_SPIFFS_CACHE_WR=y
1542 | # CONFIG_SPIFFS_CACHE_STATS is not set
1543 | # end of SPIFFS Cache Configuration
1544 |
1545 | CONFIG_SPIFFS_PAGE_CHECK=y
1546 | CONFIG_SPIFFS_GC_MAX_RUNS=10
1547 | # CONFIG_SPIFFS_GC_STATS is not set
1548 | CONFIG_SPIFFS_PAGE_SIZE=256
1549 | CONFIG_SPIFFS_OBJ_NAME_LEN=32
1550 | # CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set
1551 | CONFIG_SPIFFS_USE_MAGIC=y
1552 | CONFIG_SPIFFS_USE_MAGIC_LENGTH=y
1553 | CONFIG_SPIFFS_META_LENGTH=4
1554 | CONFIG_SPIFFS_USE_MTIME=y
1555 |
1556 | #
1557 | # Debug Configuration
1558 | #
1559 | # CONFIG_SPIFFS_DBG is not set
1560 | # CONFIG_SPIFFS_API_DBG is not set
1561 | # CONFIG_SPIFFS_GC_DBG is not set
1562 | # CONFIG_SPIFFS_CACHE_DBG is not set
1563 | # CONFIG_SPIFFS_CHECK_DBG is not set
1564 | # CONFIG_SPIFFS_TEST_VISUALISATION is not set
1565 | # end of Debug Configuration
1566 | # end of SPIFFS Configuration
1567 |
1568 | #
1569 | # TCP Transport
1570 | #
1571 |
1572 | #
1573 | # Websocket
1574 | #
1575 | CONFIG_WS_TRANSPORT=y
1576 | CONFIG_WS_BUFFER_SIZE=1024
1577 | # CONFIG_WS_DYNAMIC_BUFFER is not set
1578 | # end of Websocket
1579 | # end of TCP Transport
1580 |
1581 | #
1582 | # Ultra Low Power (ULP) Co-processor
1583 | #
1584 | # CONFIG_ULP_COPROC_ENABLED is not set
1585 | # end of Ultra Low Power (ULP) Co-processor
1586 |
1587 | #
1588 | # Unity unit testing library
1589 | #
1590 | CONFIG_UNITY_ENABLE_FLOAT=y
1591 | CONFIG_UNITY_ENABLE_DOUBLE=y
1592 | # CONFIG_UNITY_ENABLE_64BIT is not set
1593 | # CONFIG_UNITY_ENABLE_COLOR is not set
1594 | CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
1595 | # CONFIG_UNITY_ENABLE_FIXTURE is not set
1596 | # CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set
1597 | # end of Unity unit testing library
1598 |
1599 | #
1600 | # USB-OTG
1601 | #
1602 | CONFIG_USB_OTG_SUPPORTED=y
1603 | CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256
1604 | CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y
1605 | # CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set
1606 | # CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set
1607 | # end of USB-OTG
1608 |
1609 | #
1610 | # Virtual file system
1611 | #
1612 | CONFIG_VFS_SUPPORT_IO=y
1613 | CONFIG_VFS_SUPPORT_DIR=y
1614 | CONFIG_VFS_SUPPORT_SELECT=y
1615 | CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y
1616 | CONFIG_VFS_SUPPORT_TERMIOS=y
1617 |
1618 | #
1619 | # Host File System I/O (Semihosting)
1620 | #
1621 | CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1
1622 | # end of Host File System I/O (Semihosting)
1623 | # end of Virtual file system
1624 |
1625 | #
1626 | # Wear Levelling
1627 | #
1628 | # CONFIG_WL_SECTOR_SIZE_512 is not set
1629 | CONFIG_WL_SECTOR_SIZE_4096=y
1630 | CONFIG_WL_SECTOR_SIZE=4096
1631 | # end of Wear Levelling
1632 |
1633 | #
1634 | # Wi-Fi Provisioning Manager
1635 | #
1636 | CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16
1637 | CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
1638 | # CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set
1639 | CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y
1640 | # CONFIG_WIFI_PROV_STA_FAST_SCAN is not set
1641 | # end of Wi-Fi Provisioning Manager
1642 |
1643 | #
1644 | # Supplicant
1645 | #
1646 | CONFIG_WPA_MBEDTLS_CRYPTO=y
1647 | CONFIG_WPA_MBEDTLS_TLS_CLIENT=y
1648 | # CONFIG_WPA_WAPI_PSK is not set
1649 | # CONFIG_WPA_SUITE_B_192 is not set
1650 | # CONFIG_WPA_DEBUG_PRINT is not set
1651 | # CONFIG_WPA_TESTING_OPTIONS is not set
1652 | # CONFIG_WPA_WPS_STRICT is not set
1653 | # CONFIG_WPA_11KV_SUPPORT is not set
1654 | # CONFIG_WPA_MBO_SUPPORT is not set
1655 | # CONFIG_WPA_DPP_SUPPORT is not set
1656 | # CONFIG_WPA_11R_SUPPORT is not set
1657 | # CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set
1658 | # end of Supplicant
1659 | # end of Component config
1660 |
--------------------------------------------------------------------------------
/flipper-zero-app/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | name: "FAP: Build for multiple SDK sources"
2 | # This will build your app for dev and release channels on GitHub.
3 | # It will also build your app every day to make sure it's up to date with the latest SDK changes.
4 | # See https://github.com/marketplace/actions/build-flipper-application-package-fap for more information
5 |
6 | on:
7 | push:
8 | ## put your main branch name under "branches"
9 | #branches:
10 | # - master
11 | pull_request:
12 | schedule:
13 | # do a build every day
14 | - cron: "1 1 * * *"
15 |
16 | jobs:
17 | ufbt-build:
18 | runs-on: ubuntu-latest
19 | strategy:
20 | matrix:
21 | include:
22 | - name: dev channel
23 | sdk-channel: dev
24 | - name: release channel
25 | sdk-channel: release
26 | # You can add unofficial channels here. See ufbt action docs for more info.
27 | name: 'ufbt: Build for ${{ matrix.name }}'
28 | steps:
29 | - name: Checkout
30 | uses: actions/checkout@v4
31 | - name: Build with ufbt
32 | uses: flipperdevices/flipperzero-ufbt-action@v0.1
33 | id: build-app
34 | with:
35 | sdk-channel: ${{ matrix.sdk-channel }}
36 | - name: Upload app artifacts
37 | uses: actions/upload-artifact@v4
38 | with:
39 | # See ufbt action docs for other output variables
40 | name: ${{ github.event.repository.name }}-${{ steps.build-app.outputs.suffix }}
41 | path: ${{ steps.build-app.outputs.fap-artifacts }}
42 |
--------------------------------------------------------------------------------
/flipper-zero-app/application.fam:
--------------------------------------------------------------------------------
1 | # For details & more options, see documentation/AppManifests.md in firmware repo
2 |
3 | App(
4 | appid="iridium_satcom", # Must be unique
5 | name="Iridium Satcom", # Displayed in menus
6 | apptype=FlipperAppType.EXTERNAL,
7 | entry_point="iridium_satcom_app",
8 | stack_size=2 * 1024,
9 | fap_category="Examples",
10 | # Optional values
11 | # fap_version="0.1",
12 | fap_icon="iridium_satcom.png", # 10x10 1-bit PNG
13 | # fap_description="A simple app",
14 | # fap_author="J. Doe",
15 | # fap_weburl="https://github.com/user/iridium_satcom",
16 | fap_icon_assets="images", # Image assets to compile for this application
17 | )
18 |
--------------------------------------------------------------------------------
/flipper-zero-app/dist/iridium_satcom.fap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johnosullivan/esp32-iridium-modem/c20245df6b4ad9e1c84f3fe348181eaa629013e9/flipper-zero-app/dist/iridium_satcom.fap
--------------------------------------------------------------------------------
/flipper-zero-app/images/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johnosullivan/esp32-iridium-modem/c20245df6b4ad9e1c84f3fe348181eaa629013e9/flipper-zero-app/images/.gitkeep
--------------------------------------------------------------------------------
/flipper-zero-app/iridium_satcom.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 | #include
10 |
11 | #define TAG "IridiumSatcom"
12 |
13 | typedef enum {
14 | IridiumSatcomViewSubmenu,
15 | IridiumSatcomViewWidget,
16 | } IridiumSatcomView;
17 |
18 | typedef struct {
19 | ViewDispatcher* view_dispatcher;
20 | Submenu* submenu;
21 | Widget* widget;
22 | NotificationApp* notifications;
23 | } IridiumSatcom;
24 |
25 | // Forward declarations
26 | static void iridium_app_submenu_callback(void* context, uint32_t index);
27 | static uint32_t iridium_app_exit_callback(void* context);
28 |
29 | // Menu item callbacks
30 | static void iridium_app_hello_world_callback(void* context, uint32_t index) {
31 | UNUSED(index);
32 | IridiumSatcom* app = context;
33 |
34 | // Clear widget and add hello world text
35 | widget_reset(app->widget);
36 | widget_add_text_box_element(app->widget, 0, 0, 50, 50, AlignCenter, AlignCenter, "Hello", 1);
37 |
38 | // Show notification
39 | notification_message(app->notifications, &sequence_success);
40 |
41 | // Switch to widget view
42 | view_dispatcher_switch_to_view(app->view_dispatcher, IridiumSatcomViewWidget);
43 | }
44 |
45 | static void iridium_app_led_test_callback(void* context, uint32_t index) {
46 | UNUSED(index);
47 | IridiumSatcom* app = context;
48 |
49 | // Clear widget and add LED test text
50 | widget_reset(app->widget);
51 | widget_add_string_element(app->widget, 64, 15, AlignCenter, AlignCenter, FontPrimary, "LED Test");
52 | widget_add_string_element(app->widget, 64, 30, AlignCenter, AlignCenter, FontSecondary, "Red LED blinking...");
53 | widget_add_string_element(app->widget, 64, 45, AlignCenter, AlignCenter, FontSecondary, "Press Back to return");
54 |
55 | // Blink red LED
56 | notification_message(app->notifications, &sequence_blink_red_100);
57 |
58 | // Switch to widget view
59 | view_dispatcher_switch_to_view(app->view_dispatcher, IridiumSatcomViewWidget);
60 | }
61 |
62 | static void iridium_app_vibrate_callback(void* context, uint32_t index) {
63 | UNUSED(index);
64 | IridiumSatcom* app = context;
65 |
66 | // Clear widget and add vibration text
67 | widget_reset(app->widget);
68 | widget_add_string_element(app->widget, 64, 20, AlignCenter, AlignCenter, FontPrimary, "Vibration Test");
69 | widget_add_string_element(app->widget, 64, 35, AlignCenter, AlignCenter, FontSecondary, "Buzz!");
70 | widget_add_string_element(app->widget, 64, 50, AlignCenter, AlignCenter, FontSecondary, "Press Back to return");
71 |
72 | // Vibrate
73 | notification_message(app->notifications, &sequence_single_vibro);
74 |
75 | // Switch to widget view
76 | view_dispatcher_switch_to_view(app->view_dispatcher, IridiumSatcomViewWidget);
77 | }
78 |
79 | // Submenu callback
80 | static void iridium_app_submenu_callback(void* context, uint32_t index) {
81 | //IridiumSatcom* app = context;
82 | switch(index) {
83 | case 0:
84 | iridium_app_hello_world_callback(context, index);
85 | break;
86 | case 1:
87 | iridium_app_led_test_callback(context, index);
88 | break;
89 | case 2:
90 | iridium_app_vibrate_callback(context, index);
91 | break;
92 | }
93 | }
94 |
95 | // Exit callback
96 | static uint32_t iridium_app_exit_callback(void* context) {
97 | UNUSED(context);
98 | return VIEW_NONE;
99 | }
100 |
101 | // Back callback for widget
102 | static uint32_t iridium_app_widget_back_callback(void* context) {
103 | //IridiumSatcom* app = context;
104 | UNUSED(context);
105 | return IridiumSatcomViewSubmenu;
106 | }
107 |
108 | // Allocate app
109 | static IridiumSatcom* iridium_app_alloc() {
110 | IridiumSatcom* app = malloc(sizeof(IridiumSatcom));
111 |
112 | // Initialize view dispatcher
113 | app->view_dispatcher = view_dispatcher_alloc();
114 | view_dispatcher_enable_queue(app->view_dispatcher);
115 | view_dispatcher_set_event_callback_context(app->view_dispatcher, app);
116 |
117 | // Initialize submenu
118 | app->submenu = submenu_alloc();
119 | submenu_add_item(app->submenu, "Signal Check", 0, iridium_app_submenu_callback, app);
120 | submenu_add_item(app->submenu, "Send Message", 1, iridium_app_submenu_callback, app);
121 | submenu_add_item(app->submenu, "Interface Hub", 2, iridium_app_submenu_callback, app);
122 |
123 | View* submenu_view = submenu_get_view(app->submenu);
124 | view_set_previous_callback(submenu_view, iridium_app_exit_callback);
125 | view_dispatcher_add_view(app->view_dispatcher, IridiumSatcomViewSubmenu, submenu_view);
126 |
127 | // Initialize widget
128 | app->widget = widget_alloc();
129 | View* widget_view = widget_get_view(app->widget);
130 | view_set_previous_callback(widget_view, iridium_app_widget_back_callback);
131 | view_dispatcher_add_view(app->view_dispatcher, IridiumSatcomViewWidget, widget_view);
132 |
133 | // Initialize notifications
134 | app->notifications = furi_record_open(RECORD_NOTIFICATION);
135 |
136 | return app;
137 | }
138 |
139 | // Free app
140 | static void iridium_app_free(IridiumSatcom* app) {
141 | furi_assert(app);
142 |
143 | // Free views
144 | view_dispatcher_remove_view(app->view_dispatcher, IridiumSatcomViewSubmenu);
145 | view_dispatcher_remove_view(app->view_dispatcher, IridiumSatcomViewWidget);
146 |
147 | // Free submenu
148 | submenu_free(app->submenu);
149 |
150 | // Free widget
151 | widget_free(app->widget);
152 |
153 | // Close notifications
154 | furi_record_close(RECORD_NOTIFICATION);
155 |
156 | // Free view dispatcher
157 | view_dispatcher_free(app->view_dispatcher);
158 |
159 | // Free app
160 | free(app);
161 | }
162 |
163 | // Main app function
164 | int32_t iridium_satcom_app(void* p) {
165 | UNUSED(p);
166 |
167 | FURI_LOG_I(TAG, "Starting iridium App");
168 |
169 | // Allocate app
170 | IridiumSatcom* app = iridium_app_alloc();
171 |
172 | // Get GUI
173 | Gui* gui = furi_record_open(RECORD_GUI);
174 | view_dispatcher_attach_to_gui(app->view_dispatcher, gui, ViewDispatcherTypeFullscreen);
175 |
176 | // Switch to submenu view
177 | view_dispatcher_switch_to_view(app->view_dispatcher, IridiumSatcomViewSubmenu);
178 |
179 | // Run view dispatcher
180 | view_dispatcher_run(app->view_dispatcher);
181 |
182 | // Cleanup
183 | furi_record_close(RECORD_GUI);
184 | iridium_app_free(app);
185 |
186 | FURI_LOG_I(TAG, "iridium App finished");
187 |
188 | return 0;
189 | }
--------------------------------------------------------------------------------
/flipper-zero-app/iridium_satcom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johnosullivan/esp32-iridium-modem/c20245df6b4ad9e1c84f3fe348181eaa629013e9/flipper-zero-app/iridium_satcom.png
--------------------------------------------------------------------------------
/img/pinout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johnosullivan/esp32-iridium-modem/c20245df6b4ad9e1c84f3fe348181eaa629013e9/img/pinout.png
--------------------------------------------------------------------------------
/iridium.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 | #include
5 | #include
6 |
7 | #include "iridium.h"
8 |
9 | static const char *TAG_IRIDIUM = "esp32_iridium";
10 |
11 | /*
12 | Helper Iridium Functions
13 | */
14 | bool startsWith(const char *pre, const char *str)
15 | {
16 | size_t lenpre = strlen(pre),
17 | lenstr = strlen(str);
18 | return lenstr < lenpre ? false : memcmp(pre, str, lenpre) == 0;
19 | }
20 |
21 | char** str_split(char* a_str, char a_delim)
22 | {
23 | char** result = 0;
24 | size_t count = 0;
25 | char* tmp = a_str;
26 | char* last_comma = 0;
27 | char delim[2];
28 | delim[0] = a_delim;
29 | delim[1] = 0;
30 |
31 | /* Count how many elements will be extracted. */
32 | while (*tmp)
33 | {
34 | if (a_delim == *tmp)
35 | {
36 | count++;
37 | last_comma = tmp;
38 | }
39 | tmp++;
40 | }
41 |
42 | /* Add space for trailing token. */
43 | count += last_comma < (a_str + strlen(a_str) - 1);
44 |
45 | /* Add space for terminating null string so caller
46 | knows where the list of returned strings ends. */
47 | count++;
48 |
49 | result = malloc(sizeof(char*) * count);
50 |
51 | if (result)
52 | {
53 | size_t idx = 0;
54 | char* token = strtok(a_str, delim);
55 |
56 | while (token)
57 | {
58 | assert(idx < count);
59 | *(result + idx++) = strdup(token);
60 | token = strtok(0, delim);
61 | }
62 | assert(idx == count - 1);
63 | *(result + idx) = 0;
64 | }
65 |
66 | return result;
67 | }
68 |
69 | /**
70 | * @brief Process data returned to device from UART bus.
71 | * @param satcom the iridium_t struct pointer.
72 | * @param command the AT command being processed.
73 | * @param data the data returned to be parsed into iridium_t struct.
74 | * @return a iridium_status_t with SAT_OK or SAT_ERROR value.
75 | */
76 | iridium_status_t iridium_satcom_process_result(iridium_t *satcom, char *command, char *data) {
77 | if (strcmp ("AT", command) == 0) { return SAT_OK; }
78 | if (strcmp ("AT&K0", command) == 0) { return SAT_OK; }
79 | if (strcmp ("AT&w0", command) == 0) { return SAT_OK; }
80 | if (strcmp ("AT&K0", command) == 0) { return SAT_OK; }
81 | if (startsWith("AT+SBDMTA", command)) { return SAT_OK; }
82 |
83 | if (strcmp ("AT+CGMI", command) == 0) {
84 | strcpy(satcom->manufacturer_identification, data);
85 | satcom->callback(satcom, AT_CGMI, SAT_OK);
86 | return SAT_OK;
87 | }
88 |
89 | if (strcmp ("AT+CGMM", command) == 0) {
90 | strcpy(satcom->model_identification, data);
91 | satcom->callback(satcom, AT_CGMM, SAT_OK);
92 | return SAT_OK;
93 | }
94 |
95 | if (strcmp ("AT+CSQ", command) == 0) {
96 | char** tokens = str_split(data, ':');
97 |
98 | satcom->signal_strength = atoi(*(tokens + 1));
99 | satcom->callback(satcom, AT_CSQ, SAT_OK);
100 |
101 | free(tokens);
102 | return SAT_OK;
103 | }
104 |
105 | if (strcmp ("AT+SBDSX", command) == 0) {
106 | char** tokens = str_split(data, ':');
107 | char** results = str_split(*(tokens + 1), ',');
108 |
109 | satcom->status_outbound = atoi(*(results));
110 | satcom->sequence_outbound = atoi(*(results + 1));
111 | satcom->status_inbound = atoi(*(results + 2));
112 | satcom->sequence_inbound = atoi(*(results + 3));
113 | satcom->bytes_received = atoi(*(results + 4));
114 | satcom->messages_waiting = atoi(*(results + 5));
115 | satcom->callback(satcom, AT_SBDSX, SAT_OK);
116 |
117 | free(tokens);
118 | free(results);
119 | return SAT_OK;
120 | }
121 |
122 | if (strcmp ("AT+SBDIX", command) == 0 || strcmp ("AT+SBDIXA", command) == 0) {
123 | char** tokens = str_split(data, ':');
124 | char** results = str_split(*(tokens + 1), ',');
125 |
126 | satcom->status_outbound = atoi(*(results));
127 | satcom->sequence_outbound = atoi(*(results + 1));
128 | satcom->status_inbound = atoi(*(results + 2));
129 | satcom->sequence_inbound = atoi(*(results + 3));
130 | satcom->bytes_received = atoi(*(results + 4));
131 | satcom->messages_waiting = atoi(*(results + 5));
132 | satcom->callback(satcom, AT_SBDSX, SAT_OK);
133 |
134 | free(tokens);
135 | free(results);
136 | return SAT_OK;
137 | }
138 |
139 | if (strcmp ("AT+SBDRT", command) == 0) {
140 | char** tokens = str_split(data, '+');
141 |
142 | iridium_message_t msg;
143 | strcpy(msg.data, *(tokens));
144 | msg.size = strlen(*(tokens));
145 | xQueueSend(satcom->message_queue, (void *)&msg, 10);
146 |
147 | free(tokens);
148 | return SAT_OK;
149 | }
150 |
151 | if (strcmp ("AT+CRIS", command) == 0) {
152 | char** tokens = str_split(data, ':');
153 | char** results = str_split(*(tokens + 1), ',');
154 |
155 | free(tokens);
156 | free(results);
157 | return SAT_OK;
158 | }
159 |
160 | return SAT_ERROR;
161 | }
162 |
163 | /**
164 | * @brief Update the iridium queue status.
165 | * @param satcom the iridium_t struct pointer.
166 | * @param status the current IQS status.
167 | * @return a iridium_status_t with SAT_OK or SAT_ERROR value.
168 | */
169 | iridium_status_t iridium_update_iqs(iridium_t* satcom, iridium_queue_status_t status) {
170 | pthread_mutex_lock(&satcom->p_status_mutex);
171 | satcom->status = status;
172 | pthread_mutex_unlock(&satcom->p_status_mutex);
173 | return SAT_OK;
174 | }
175 |
176 | /**
177 | * @brief Update the processing message nonce.
178 | * @param satcom the iridium_t struct pointer.
179 | * @param nonce the message nonce int.
180 | * @return a iridium_status_t with SAT_OK or SAT_ERROR value.
181 | */
182 | iridium_status_t iridium_update_p_nonce(iridium_t* satcom, int nonce) {
183 | pthread_mutex_lock(&satcom->p_nonce_mutex);
184 | satcom->p_nonce = nonce;
185 | pthread_mutex_unlock(&satcom->p_nonce_mutex);
186 | return SAT_OK;
187 | }
188 |
189 | /**
190 | * @brief Retrieves the current queue status while processing a message nonce.
191 | * @param satcom the iridium_t struct pointer.
192 | * @return a iridium_queue_status_t with IQS_NONE, IQS_OPEN or IQS_WAITING value.
193 | */
194 | iridium_queue_status_t iridium_get_iqs(iridium_t* satcom) {
195 | iridium_queue_status_t t_status = IQS_NONE;
196 | pthread_mutex_lock(&satcom->p_status_mutex);
197 | t_status = satcom->status;
198 | pthread_mutex_unlock(&satcom->p_status_mutex);
199 | return t_status;
200 | }
201 |
202 | /**
203 | * @brief Send data payload across the UART bus.
204 | * @param satcom the iridium_t struct pointer.
205 | * @param data the data to be sent.
206 | * @param nonce the nonce used to track responses.
207 | * @return a iridium_status_t with SAT_OK or SAT_ERROR value.
208 | */
209 | iridium_status_t iridium_send_raw(iridium_t* satcom, char *data, int nonce) {
210 | if (satcom->status == IQS_WAITING) {
211 | // send iridium_message_t to buffer queue
212 | ESP_LOGI(TAG_IRIDIUM, "IN_BUFFER_QUEUE[%d] = %s", nonce, data);
213 | iridium_message_t msg;
214 | strcpy(msg.data, data);
215 | msg.size = strlen(data);
216 | msg.nonce = nonce;
217 | xQueueSend(satcom->buffer_queue, (void *)&msg, 10);
218 | return SAT_OK;
219 | }
220 | ESP_LOGI(TAG_IRIDIUM, "SENT_TO_UART_1[%d] = %s", nonce, data);
221 | /* transmit data via UART */
222 | uart_write_bytes(satcom->uart_number, data, strlen(data));
223 | /* update IQS */
224 | iridium_update_iqs(satcom, IQS_WAITING);
225 | iridium_update_p_nonce(satcom, nonce);
226 | return SAT_OK;
227 | }
228 |
229 | /**
230 | * @brief Enabled or disable the ring notification on the modem.
231 | * @param satcom the iridium_t struct pointer.
232 | * @param enabled the ring notification.
233 | * @return a iridium_result_t with metadata.
234 | */
235 | iridium_result_t iridium_config_ring(iridium_t *satcom, bool enabled) {
236 | iridium_result_t result;
237 |
238 | /* enable/disable satcom ring */
239 | if (enabled) {
240 | result = iridium_send(satcom, AT_SBDMTA, "1", true, 500);
241 | if (result.status != SAT_OK) {
242 | return result;
243 | }
244 | } else {
245 | result = iridium_send(satcom, AT_SBDMTA, "0", true, 500);
246 | if (result.status != SAT_OK) {
247 | return result;
248 | }
249 | }
250 | vTaskDelay(pdMS_TO_TICKS(IRI_BUFF_DELAY));
251 |
252 | /* save config */
253 | result = iridium_send(satcom, AT_W0, "", true, 500);
254 | if (result.status != SAT_OK) {
255 | return result;
256 | }
257 | vTaskDelay(pdMS_TO_TICKS(IRI_BUFF_DELAY));
258 |
259 | /* turn off flow control */
260 | result = iridium_send(satcom, AT_K0, "", true, 500);
261 | if (result.status != SAT_OK) {
262 | return result;
263 | }
264 | vTaskDelay(pdMS_TO_TICKS(IRI_BUFF_DELAY));
265 |
266 | /* check ring status */
267 | result = iridium_send(satcom, AT_SBDMTAQ, "", true, 500);
268 | return result;
269 | }
270 |
271 | /**
272 | * @brief Transmit a message to the iridium network.
273 | * @param satcom the iridium_t struct pointer.
274 | * @param message to be sent.
275 | * @return a iridium_result_t with metadata.
276 | */
277 | iridium_result_t iridium_tx_message(iridium_t *satcom, char *message) {
278 | iridium_result_t result;
279 | iridium_result_t r1 = iridium_send(satcom, AT_SBDWT, message, true, 500);
280 |
281 | /* failed to set outbound message buffer */
282 | if (r1.status != SAT_OK) {
283 | result.status = SAT_ERROR;
284 | return result;
285 | }
286 |
287 | int delays[6] = {2000,4000,20000,30000,300000,300000};
288 |
289 | /* short burst - send message - with adaptive retry */
290 | for (int i = 0; i < 5; i++){
291 | iridium_result_t r2 = iridium_send(satcom, AT_SBDIX, NULL, true, 500);
292 | if (r2.status != SAT_OK) {
293 | result.status = SAT_ERROR;
294 | break;
295 | }
296 |
297 | /* check short burst message returns */
298 | if (satcom->status_outbound == MO_TRANSFERRED_SUCCESSFULLY ||
299 | satcom->status_outbound == MO_TRANSFERRED_SUCCESSFULLY_TOO_BIG ||
300 | satcom->status_outbound == MO_TRANSFERRED_SUCCESSFULLY_LOC_NOT_ACCEPTED) {
301 | break;
302 | } else {
303 | result.status = SAT_ERROR;
304 | }
305 |
306 | vTaskDelay(pdMS_TO_TICKS(delays[i]));
307 | }
308 |
309 | return result;
310 | }
311 |
312 | /*
313 | AT+SBDIX = +SBDIX:,,,,,
314 | */
315 | /**
316 | * @brief Send AT command with data.
317 | * @param satcom the iridium_t struct pointer.
318 | * @param command the iridium modem AT command.
319 | * @param rdata the raw data.
320 | * @param wait_response wait for a responce from the modem.
321 | * @param wait_interval the amount of time in ms for wait interval check.
322 | * @return a iridium_result_t with metadata.
323 | */
324 | iridium_result_t iridium_send(iridium_t* satcom, iridium_command_t command, char *rdata, bool wait_response, int wait_interval) {
325 | iridium_result_t result;
326 |
327 | /* increment c_nonce */
328 | satcom->c_nonce++;
329 | int t_nonce = satcom->c_nonce;
330 |
331 | switch (command) {
332 | case AT:
333 | if (iridium_send_raw(satcom, "AT\r", t_nonce) != SAT_OK) {
334 | result.status = SAT_ERROR;
335 | return result;
336 | }
337 | break;
338 | case AT_CSQ:
339 | if (iridium_send_raw(satcom, "AT+CSQ\r", t_nonce) != SAT_OK) {
340 | result.status = SAT_ERROR;
341 | return result;
342 | }
343 | break;
344 | case AT_CGMI:
345 | if (iridium_send_raw(satcom, "AT+CGMI\r", t_nonce) != SAT_OK) {
346 | result.status = SAT_ERROR;
347 | return result;
348 | }
349 | break;
350 | case AT_CGMM:
351 | if (iridium_send_raw(satcom, "AT+CGMM\r", t_nonce) != SAT_OK) {
352 | result.status = SAT_ERROR;
353 | return result;
354 | }
355 | break;
356 | case AT_SBDIX:
357 | if (iridium_send_raw(satcom, "AT+SBDIX\r", t_nonce) != SAT_OK) {
358 | result.status = SAT_ERROR;
359 | return result;
360 | }
361 | break;
362 | case AT_SBDSX:
363 | if (iridium_send_raw(satcom, "AT+SBDSX\r", t_nonce) != SAT_OK) {
364 | result.status = SAT_ERROR;
365 | return result;
366 | }
367 | break;
368 | case AT_MSSTM:
369 | if (iridium_send_raw(satcom, "AT-MSSTM\r", t_nonce) != SAT_OK) {
370 | result.status = SAT_ERROR;
371 | return result;
372 | }
373 | break;
374 | case AT_SBDRT:
375 | if (iridium_send_raw(satcom, "AT+SBDRT\r", t_nonce) != SAT_OK) {
376 | result.status = SAT_ERROR;
377 | return result;
378 | }
379 | break;
380 | case AT_CRIS:
381 | if (iridium_send_raw(satcom, "AT+CRIS\r", t_nonce) != SAT_OK) {
382 | result.status = SAT_ERROR;
383 | return result;
384 | }
385 | break;
386 | case AT_SBDIXA:
387 | if (iridium_send_raw(satcom, "AT+SBDIXA\r", t_nonce) != SAT_OK) {
388 | result.status = SAT_ERROR;
389 | return result;
390 | }
391 | break;
392 | case AT_SBDMTAQ:
393 | if (iridium_send_raw(satcom, "AT+SBDMTA?\r", t_nonce) != SAT_OK) {
394 | result.status = SAT_ERROR;
395 | return result;
396 | }
397 | break;
398 | case AT_SBDWT: {
399 | char *message = (char*)malloc(50 * sizeof(char));
400 | sprintf(message, "AT+SBDWT=%s\r", rdata);
401 | result.status = iridium_send_raw(satcom, message, t_nonce);
402 | free(message);
403 | return result;
404 | }
405 | case AT_SBDMTA: {
406 | char *message = (char*)malloc(20 * sizeof(char));
407 | sprintf(message, "AT+SBDMTA=%s\r", rdata);
408 | result.status = iridium_send_raw(satcom, message, t_nonce);
409 | free(message);
410 | return result;
411 | }
412 | case AT_W0:
413 | if (iridium_send_raw(satcom, "AT&w0\r", t_nonce) != SAT_OK) {
414 | result.status = SAT_ERROR;
415 | return result;
416 | }
417 | break;
418 | case AT_K0:
419 | if (iridium_send_raw(satcom, "AT&K0\r", t_nonce) != SAT_OK) {
420 | result.status = SAT_ERROR;
421 | return result;
422 | }
423 | break;
424 | default:
425 | break;
426 | }
427 |
428 | if (wait_response) {
429 | iridium_queue_status_t t_status = IQS_NONE;
430 | while (t_status != IQS_OPEN && satcom->p_nonce == t_nonce) {
431 | vTaskDelay(pdMS_TO_TICKS(wait_interval));
432 | t_status = iridium_get_iqs(satcom);
433 | }
434 |
435 | strcpy(result.result, satcom->buffer_data);
436 | ESP_LOGI(TAG_IRIDIUM, "WAIT_DONE_NONCE = [%d]", t_nonce);
437 | }
438 |
439 | result.status = SAT_OK;
440 | return result;
441 | }
442 |
443 | void ring_satcom_task(void *pvParameters) {
444 | iridium_t* satcom = (iridium_t *)pvParameters;
445 | vTaskDelay(pdMS_TO_TICKS(1000));
446 |
447 | iridium_result_t rcris = iridium_send(satcom, AT_CRIS, NULL, true, 500);
448 | if (rcris.status == SAT_OK) { }
449 |
450 | for(;;) {
451 | iridium_result_t r1 = iridium_send(satcom, AT_SBDIXA, "", true, 500);
452 | if (r1.status == SAT_OK) {
453 | ESP_LOGI(TAG_IRIDIUM, "RST_R1[%d] = %s", r1.status, r1.result);
454 | }
455 | if (satcom->status_outbound == MO_TRANSFERRED_SUCCESSFULLY ||
456 | satcom->status_outbound == MO_TRANSFERRED_SUCCESSFULLY_TOO_BIG ||
457 | satcom->status_outbound == MO_TRANSFERRED_SUCCESSFULLY_LOC_NOT_ACCEPTED) {
458 | if (satcom->messages_waiting == 0) {
459 | break;
460 | }
461 | vTaskDelay(pdMS_TO_TICKS(5000));
462 | iridium_result_t r2 = iridium_send(satcom, AT_SBDRT, NULL, true, 500);
463 | if (r2.status == SAT_OK) {
464 | ESP_LOGI(TAG_IRIDIUM, "RST_R2[%d] = %s", r2.status, r2.result);
465 | }
466 | }
467 | vTaskDelay(pdMS_TO_TICKS(10000));
468 | }
469 |
470 | iridium_result_t r2 = iridium_send(satcom, AT_SBDRT, NULL, true, 500);
471 | if (r2.status == SAT_OK) {
472 | ESP_LOGI(TAG_IRIDIUM, "RST_R3[%d] = %s", r2.status, r2.result);
473 | }
474 |
475 | satcom->ring_task_running = 0;
476 | vTaskDelete(NULL);
477 | }
478 |
479 | void uart_satcom_task(void *pvParameters) {
480 | iridium_t* satcom = (iridium_t *)pvParameters;
481 | uint8_t* dtmp = (uint8_t*) malloc(IRI_RD_BUF_SIZE);
482 | uart_event_t event;
483 | struct stack_t *s = newStack();
484 | for(;;) {
485 | if(xQueueReceive(satcom->uart_queue, (void * )&event, (portTickType)portMAX_DELAY)) {
486 | bzero(dtmp, IRI_RD_BUF_SIZE);
487 | switch(event.type) {
488 | case UART_DATA:
489 | uart_read_bytes(satcom->uart_number, dtmp, event.size, portMAX_DELAY);
490 |
491 | ESP_LOGI(TAG_IRIDIUM, "R:%s-", dtmp);
492 |
493 | char* pch = NULL;
494 | pch = strtok((char*)dtmp, "\r\n");
495 | while (pch != NULL) {
496 | /* AT Command Check */
497 | if (startsWith("AT", pch)) {
498 | push(s, pch);
499 | } else {
500 | if (strcmp("SBDRING", pch) == 0) {
501 | if (satcom->ring_task_running == 0) {
502 | satcom->ring_task_running = 1;
503 | xTaskCreate(&ring_satcom_task,
504 | "ring_satcom_task",
505 | 4096,
506 | satcom,
507 | 12, NULL);
508 | }
509 | break;
510 | }
511 | if (strcmp ("ERROR", pch) == 0) {
512 | continue;
513 | }
514 | if (strcmp ("OK", pch) == 0) {
515 | // Process
516 | char data[100];
517 | char command[20];
518 |
519 | data[0] = '\0';
520 |
521 | while (top(s) != NULL) {
522 | // Grab top value / pop
523 | char* tmp = top(s);
524 |
525 | ESP_LOGI(TAG_IRIDIUM, "TMP:[%s]", tmp);
526 | if (startsWith("AT", tmp)) {
527 | strcpy(command, tmp);
528 | } else {
529 | strcat(data, tmp);
530 | }
531 | pop(s);
532 | }
533 |
534 | ESP_LOGI(TAG_IRIDIUM, "P: %s = %s", command, data);
535 | strcpy(satcom->buffer_data, data);
536 |
537 | if (iridium_satcom_process_result(satcom, command, data) == SAT_OK) {
538 | ESP_LOGI(TAG_IRIDIUM, "OK_R[%d]: %s = %s ", satcom->p_nonce, command, pch);
539 | } else {
540 | ESP_LOGI(TAG_IRIDIUM, "ERROR_R[%d]: %s = %s ", satcom->p_nonce, command, pch);
541 | }
542 | /* Clean up after AT processing */
543 | clear_stack(s);
544 | iridium_update_iqs(satcom, IQS_OPEN);
545 | } else {
546 | push(s, pch);
547 | }
548 | }
549 | pch = strtok(NULL, "\r\n");
550 | }
551 | break;
552 | case UART_FIFO_OVF:
553 | uart_flush_input(satcom->uart_number);
554 | xQueueReset(satcom->uart_queue);
555 | break;
556 | case UART_BUFFER_FULL:
557 | uart_flush_input(satcom->uart_number);
558 | xQueueReset(satcom->uart_queue);
559 | break;
560 | case UART_BREAK:
561 | break;
562 | case UART_PARITY_ERR:
563 | break;
564 | case UART_FRAME_ERR:
565 | break;
566 | case UART_PATTERN_DET:
567 | break;
568 | default:
569 | break;
570 | }
571 | }
572 | }
573 | free(dtmp);
574 | dtmp = NULL;
575 | destroy_stack(&s);
576 | vTaskDelete(NULL);
577 | }
578 |
579 | void buffer_satcom_task(void *pvParameters) {
580 | iridium_t* satcom = (iridium_t *)pvParameters;
581 | iridium_queue_status_t t_status = IQS_NONE;
582 |
583 | int delay_ms = satcom->buffer_delay_ms;
584 | for(;;) {
585 | /* waiting for buffer message event */
586 | t_status = iridium_get_iqs(satcom);
587 | if (t_status == IQS_OPEN) {
588 | iridium_message_t rcv_msg;
589 | if (xQueueReceive(satcom->buffer_queue, (void *)&rcv_msg, 0) == pdTRUE) {
590 | ESP_LOGI(TAG_IRIDIUM, "SENT_TO_UART_FROM_BUFFER[%d] = %s", rcv_msg.nonce, rcv_msg.data);
591 | iridium_send_raw(satcom, rcv_msg.data, rcv_msg.nonce);
592 | }
593 | }
594 | vTaskDelay(pdMS_TO_TICKS(delay_ms));
595 | }
596 | vTaskDelete(NULL);
597 | }
598 |
599 | void message_satcom_task(void *pvParameters) {
600 | iridium_t* satcom = (iridium_t *)pvParameters;
601 | int delay_ms = satcom->buffer_delay_ms;
602 |
603 | for(;;) {
604 | iridium_message_t rcv_msg;
605 | if (xQueueReceive(satcom->message_queue, (void *)&rcv_msg, 0) == pdTRUE) {
606 | satcom->message_callback(satcom, rcv_msg.data);
607 | }
608 | vTaskDelay(pdMS_TO_TICKS(delay_ms));
609 | }
610 | vTaskDelete(NULL);
611 | }
612 |
613 | /**
614 | * @brief Create a default iridium configuration.
615 | * @return a valid iridium_t struct configuration.
616 | */
617 | iridium_t* iridium_default_configuration() {
618 | iridium_t *satcom = malloc(sizeof(iridium_t));
619 | satcom->buffer_size = 10; // item size
620 | satcom->buffer_delay_ms = 1000; // ms
621 | satcom->task_message_stack_depth = 4096;
622 | satcom->task_buffer_stack_depth = 2024;
623 | satcom->task_uart_stack_depth = 4096;
624 | satcom->gpio_sleep_pin_number = -1;
625 | satcom->gpio_net_pin_number = -1;
626 | return satcom;
627 | }
628 |
629 | int iridium_is_available(iridium_t *satcom) {
630 | if (satcom->gpio_net_pin_number != -1) {
631 | return gpio_get_level(satcom->gpio_net_pin_number);
632 | }
633 | return -1;
634 | }
635 |
636 | /**
637 | * @brief Modem specs.
638 | * @return a iridium_status_t with SAT_OK or SAT_ERROR value.
639 | */
640 | iridium_status_t iridium_system_spec(iridium_t *satcom) {
641 | /* AT system details */
642 | iridium_result_t r;
643 |
644 | r = iridium_send(satcom, AT_CGMI, NULL, true, 500);
645 | if (r.status != SAT_OK) {
646 | return r.status;
647 | }
648 |
649 | r = iridium_send(satcom, AT_CGMM, NULL, true, 500);
650 | if (r.status != SAT_OK) {
651 | return r.status;
652 | }
653 |
654 | return r.status;
655 | }
656 |
657 | /**
658 | * @brief Toggle modem to sleep.
659 | * @return a iridium_status_t with SAT_OK or SAT_ERROR value.
660 | */
661 | iridium_status_t iridium_modem_sleep(iridium_t *satcom) {
662 | /* turn off modem */
663 | esp_err_t err = gpio_set_level(satcom->gpio_sleep_pin_number, IRI_GPIO_SLP_OFF);
664 | if (err != ESP_OK) {
665 | return SAT_ERROR;
666 | }
667 |
668 | return SAT_OK;
669 | }
670 |
671 | /**
672 | * @brief Configure iridium modem via UART connection.
673 | * @param satcom the iridium_t struct pointer.
674 | * @return a iridium_status_t with SAT_OK or SAT_ERROR value.
675 | */
676 | iridium_status_t iridium_config(iridium_t *satcom) {
677 | /*
678 | Check SLP pin is configured
679 | */
680 | if (satcom->gpio_sleep_pin_number != -1) {
681 | gpio_config_t slp_conf;
682 | slp_conf.intr_type = GPIO_INTR_DISABLE;
683 | slp_conf.mode = GPIO_MODE_OUTPUT;
684 | slp_conf.pin_bit_mask = ((1ULL<gpio_sleep_pin_number) | (1ULL<gpio_sleep_pin_number));
685 | slp_conf.pull_down_en = GPIO_PULLDOWN_ENABLE;
686 | slp_conf.pull_up_en = GPIO_PULLDOWN_ENABLE;
687 |
688 | esp_err_t err = gpio_config(&slp_conf);
689 | if (err != ESP_OK) {
690 | return SAT_ERROR;
691 | }
692 |
693 | /* turn on modem */
694 | vTaskDelay(pdMS_TO_TICKS(IRI_GPIO_CONF_BUFF));
695 | gpio_set_level(satcom->gpio_sleep_pin_number, IRI_GPIO_SLP_ON);
696 | }
697 |
698 | if (satcom->gpio_net_pin_number != -1) {
699 | gpio_config_t net_conf;
700 | net_conf.intr_type = GPIO_INTR_DISABLE;
701 | net_conf.mode = GPIO_MODE_INPUT;
702 | net_conf.pin_bit_mask = ((1ULL<gpio_net_pin_number) | (1ULL<gpio_net_pin_number));
703 |
704 | esp_err_t err = gpio_config(&net_conf);
705 | if (err != ESP_OK) {
706 | return SAT_ERROR;
707 | }
708 |
709 | /* settle delay */
710 | vTaskDelay(pdMS_TO_TICKS(IRI_GPIO_CONF_BUFF));
711 | }
712 |
713 |
714 | /*
715 | Baud Rate = 19200 Data Bits = 8 Parity = N Stop Bits = 1
716 | */
717 | const int DEFAULT_BAUD_RATE = 19200;
718 |
719 | // TODO: Fix mod here
720 | uart_config_t uart_config = {
721 | .baud_rate = DEFAULT_BAUD_RATE,
722 | .data_bits = UART_DATA_8_BITS,
723 | .parity = UART_PARITY_DISABLE,
724 | .stop_bits = UART_STOP_BITS_1,
725 | .flow_ctrl = UART_HW_FLOWCTRL_DISABLE,
726 | .source_clk = UART_SCLK_DEFAULT
727 | };
728 |
729 | esp_log_level_set(TAG_IRIDIUM, ESP_LOG_INFO);
730 |
731 | /* init pthread_mutex handles */
732 | pthread_mutex_init(&(satcom->p_status_mutex), NULL);
733 | pthread_mutex_init(&(satcom->p_nonce_mutex), NULL);
734 |
735 | if (satcom->buffer_delay_ms == 0) {
736 | satcom->buffer_delay_ms = 1000; // ms
737 | }
738 |
739 | satcom->c_nonce = 0;
740 | satcom->p_nonce = 0;
741 | satcom->ring_task_running = 0;
742 | satcom->status = IQS_OPEN;
743 | satcom->buffer_queue = xQueueCreate(satcom->buffer_size, sizeof(iridium_message_t));
744 | satcom->message_queue = xQueueCreate(20, sizeof(iridium_message_t));
745 |
746 | /* install uart drivers */
747 | if (uart_driver_install(satcom->uart_number,
748 | IRI_BUF_SIZE * 2,
749 | IRI_BUF_SIZE * 2, 20,
750 | &satcom->uart_queue, 0) != ESP_OK) {
751 | return SAT_ERROR;
752 | }
753 |
754 | /* set uart pin outs */
755 | if (uart_set_pin(satcom->uart_number,
756 | satcom->uart_txn_number,
757 | satcom->uart_rxd_number,
758 | satcom->uart_rts_number,
759 | satcom->uart_cts_number) != ESP_OK) {
760 | return SAT_ERROR;
761 | }
762 |
763 | ESP_ERROR_CHECK(uart_param_config(satcom->uart_number, &uart_config));
764 | /*if (uart_param_config(satcom->uart_number, &uart_config) != ESP_OK) { return SAT_ERROR; }*/
765 |
766 | /* start message processing tasks */
767 | xTaskCreate(&message_satcom_task,
768 | "message_satcom_task",
769 | satcom->task_message_stack_depth,
770 | satcom,
771 | 12, NULL);
772 |
773 | /* start uart processing tasks */
774 | xTaskCreate(&uart_satcom_task,
775 | "uart_satcom_task",
776 | satcom->task_uart_stack_depth,
777 | satcom,
778 | 12, NULL);
779 |
780 | /* start buffer processing tasks */
781 | xTaskCreate(&buffer_satcom_task,
782 | "buffer_satcom_task",
783 | satcom->task_buffer_stack_depth,
784 | satcom,
785 | 12, NULL);
786 |
787 | /* 1000ms delay */
788 | vTaskDelay(pdMS_TO_TICKS(1000));
789 |
790 | /* AT check */
791 | iridium_result_t r;
792 | r = iridium_send(satcom, AT, NULL, true, 500);
793 | if (r.status != SAT_OK) {
794 | return r.status;
795 | }
796 |
797 | return r.status;
798 | }
--------------------------------------------------------------------------------
/iridium.h:
--------------------------------------------------------------------------------
1 | /**
2 | Copyright 2024 John O'Sullivan
3 |
4 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6 | THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
7 | */
8 |
9 | /**
10 | * @author John O'Sullivan
11 | * @paragraph ESP32 Satcom Library (Iridium Network)
12 | * Supported Hardware
13 | * - RockBLOCK 9603 https://cdn-shop.adafruit.com/product-files/4521/RockBLOCK-9603-Data-Sheet-Small.pdf
14 | * Language: C/C++
15 | */
16 |
17 | #ifndef IRIDIUM_H_INCLUDED
18 | #define IRIDIUM_H_INCLUDED
19 |
20 | #ifdef __cplusplus
21 | extern "C" {
22 | #endif
23 |
24 | #include
25 | #include
26 | #include
27 | #include
28 | #include
29 | #include
30 |
31 | #include "nvs.h"
32 | #include "freertos/FreeRTOS.h"
33 | #include "freertos/task.h"
34 |
35 | #include "esp_log.h"
36 | #include "esp_event.h"
37 | #include "nvs_flash.h"
38 | #include "esp_system.h"
39 | #include "spi_flash_mmap.h" // or #include "esp_spi_flash.h"
40 | #include "driver/uart.h"
41 | #include "driver/gpio.h"
42 | #include "freertos/queue.h"
43 |
44 | #include "stack.h"
45 |
46 | #define IRI_BUF_SIZE (4096)
47 | #define IRI_RD_BUF_SIZE (IRI_BUF_SIZE)
48 | #define IRI_BUFF_DELAY (100)
49 | #define IRI_GPIO_CONF_BUFF (100)
50 | #define IRI_GPIO_SLP_ON 1
51 | #define IRI_GPIO_SLP_OFF 0
52 |
53 | /**
54 | * @brief the enum to represent the AT commands.
55 | */
56 | typedef enum iridium_command {
57 | SBDRING = -1,
58 | AT = 0,
59 | AT_CSQ = 1,
60 | AT_SBDSX = 2,
61 | AT_CGMI = 3,
62 | AT_CGMM = 4,
63 | AT_SBDRT = 5,
64 | AT_SBDWT = 6,
65 | AT_SBDIX = 7,
66 | AT_MSSTM = 8,
67 | AT_SBDMTA = 9,
68 | AT_W0 = 10,
69 | AT_CRIS = 11,
70 | AT_SBDIXA = 12,
71 | AT_K0 = 13,
72 | AT_SBDMTAQ = 14,
73 | } iridium_command_t;
74 |
75 | /**
76 | * @brief the iridium command status.
77 | */
78 | typedef enum iridium_status {
79 | SAT_ERROR = -1,
80 | SAT_OK = 1
81 | } iridium_status_t;
82 |
83 | /**
84 | * @brief the iridium UART queue status.
85 | */
86 | typedef enum iridium_queue_status {
87 | IQS_NONE = -1,
88 | IQS_OPEN = 0,
89 | IQS_WAITING = 1
90 | } iridium_queue_status_t;
91 |
92 | typedef enum iridium_mt_status {
93 | /* */
94 | MT_NO_SBD_MESSAGE_RECEIVED = 0, // No SBD message to receive from the GSS.
95 | MT_SBD_MESSAGE_SUCCESSFULLY_RECEIVED = 1, // SBD message successfully received from the GSS.
96 | MT_GSS_ERROR_OCCURRED = 2 // An error occurred while attempting to perform a mailbox check or receive a message from the GSS.
97 | } iridium_mt_status_t;
98 |
99 | typedef enum iridium_mo_status {
100 | /* */
101 | MO_TRANSFERRED_SUCCESSFULLY = 0, // MO message, if any, transferred successfully.
102 | MO_TRANSFERRED_SUCCESSFULLY_TOO_BIG = 1, // MO message, if any, transferred successfully, but the MT message in the queue was too big to be transferred.
103 | MO_TRANSFERRED_SUCCESSFULLY_LOC_NOT_ACCEPTED = 2, // MO message, if any, transferred successfully, but the requested Location Update was not accepted.
104 | MO_GSS_NOT_COMPLETED = 10, // GSS reported that the call did not complete in the allowed time.
105 | MO_GSS_MESSAGE_QUEUE_FULL = 11, // MO message queue at the GSS is full.
106 | MO_GSS_MESSAGE_MANY_SEQ = 12, // MO message has too many segments.
107 | MO_GSS_MESSAGE_SESSION_INCOMPLETE = 13, // GSS reported that the session did not complete.
108 | MO_INVALID_SEQMENT_SIZE = 14, // Invalid segment size.
109 | MO_ACCESS_DENIED = 15, // Access is denied.
110 | MO_ISU_LOCKED = 16, // ISU has been locked and may not make SBD calls (see +CULK command).
111 | MO_GATEWAY_NOT_RESPONDING = 17, // Gateway not responding (local session timeout).
112 | MO_CONNECTION_LOST = 18, // Connection lost (RF drop).
113 | MO_LINK_FAILURE = 19, // Link failure (A protocol error caused termination of the call).
114 | MO_NO_NETWORK_SERVICE = 32, // No network service, unable to initiate call.
115 | MO_ANTENNA_FAULT = 33, // Antenna fault, unable to initiate call.
116 | MO_RADIO_DISABLED = 34, // Radio is disabled, unable to initiate call (see *Rn command).
117 | MO_ISU_IS_BUSY = 35, // ISU is busy, unable to initiate call.
118 | MO_TRY_LATER_3_MIN = 36, // Try later, must wait 3 minutes since last registration.
119 | MO_SBD_SERVICE_TERMP_DISABLED = 37, // SBD service is temporarily disabled.
120 | MO_TRY_LATER_TRAFFIC_PERIOD = 38, // Try later, traffic management period (see +SBDLOE command)
121 | MO_BAND_VIOLATION = 64, // Band violation (attempt to transmit outside permitted frequency band).
122 | MO_PLL_LOCK_FAILURE = 65 // PLL lock failure; hardware error during attempted transmit.
123 | } iridium_mo_status_t;
124 |
125 | /**
126 | * @brief the core iridum struct with all configuration / status values.
127 | *
128 | * @paragraph
129 | *
130 | * 0 - 4 = Transmit successful
131 | * 32 = No network service
132 | * MO = Mobile Originated
133 | * MT = Mobile Terminated
134 | */
135 | typedef struct iridium {
136 | QueueHandle_t uart_queue;
137 | QueueHandle_t buffer_queue;
138 | QueueHandle_t message_queue;
139 | /* signal */
140 | int signal_strength;
141 | /* messaging */
142 | int status_inbound;
143 | int status_outbound;
144 | int sequence_inbound;
145 | int sequence_outbound;
146 | int bytes_received;
147 | int messages_waiting;
148 | /* about */
149 | char manufacturer_identification[20];
150 | char model_identification[50];
151 | /* quene processing */
152 | int c_nonce;
153 | int p_nonce;
154 | int buffer_size;
155 | int buffer_delay_ms;
156 | int uart_number;
157 | int uart_txn_number;
158 | int uart_rxd_number;
159 | int uart_rts_number;
160 | int uart_cts_number;
161 | int ring_task_running;
162 | char buffer_data[100];
163 | iridium_queue_status_t status;
164 | pthread_mutex_t p_status_mutex;
165 | pthread_mutex_t p_nonce_mutex;
166 | /* stack sizes */
167 | int task_message_stack_depth;
168 | int task_buffer_stack_depth;
169 | int task_uart_stack_depth;
170 | /* callbacks */
171 | void (*callback) (struct iridium* satcom, iridium_command_t command, iridium_status_t status);
172 | void (*message_callback) (struct iridium* satcom, char* data);
173 | /* gpio pins */
174 | int gpio_sleep_pin_number;
175 | int gpio_net_pin_number;
176 | } iridium_t;
177 |
178 | /**
179 | * @brief the iridium message for the modem.
180 | */
181 | typedef struct iridium_message {
182 | char data[50];
183 | int size;
184 | int nonce;
185 | int command;
186 | } iridium_message_t;
187 |
188 | /**
189 | * @brief the iridium result from the modem.
190 | */
191 | typedef struct iridium_result {
192 | char result[50];
193 | iridium_status_t status;
194 | } iridium_result_t;
195 |
196 | /**
197 | * @brief callbacks required for message/event data.
198 | */
199 | typedef void (*callback_t) (iridium_t* satcom, iridium_command_t command, iridium_status_t status);
200 | typedef void (*message_callback_t) (iridium_t* satcom, char* data);
201 |
202 | /**
203 | * @brief Process data returned to device from UART bus.
204 | * @param satcom the iridium_t struct pointer.
205 | * @param command the AT command being processed.
206 | * @param data the data returned to be parsed into iridium_t struct.
207 | * @return a iridium_status_t with SAT_OK or SAT_ERROR value.
208 | */
209 | iridium_status_t iridium_satcom_process_result(iridium_t *satcom, char *command, char *data);
210 |
211 | /**
212 | * @brief Update the iridium queue status.
213 | * @param satcom the iridium_t struct pointer.
214 | * @param status the current IQS status.
215 | * @return a iridium_status_t with SAT_OK or SAT_ERROR value.
216 | */
217 | iridium_status_t iridium_update_iqs(iridium_t* satcom, iridium_queue_status_t status);
218 |
219 | /**
220 | * @brief Update the processing message nonce.
221 | * @param satcom the iridium_t struct pointer.
222 | * @param nonce the message nonce int.
223 | * @return a iridium_status_t with SAT_OK or SAT_ERROR value.
224 | */
225 | iridium_status_t iridium_update_p_nonce(iridium_t* satcom, int nonce);
226 |
227 | /**
228 | * @brief Retrieves the current queue status while processing a message nonce.
229 | * @param satcom the iridium_t struct pointer.
230 | * @return a iridium_queue_status_t with IQS_NONE, IQS_OPEN or IQS_WAITING value.
231 | */
232 | iridium_queue_status_t iridium_get_iqs(iridium_t* satcom);
233 |
234 | /**
235 | * @brief Send data payload across the UART bus.
236 | * @param satcom the iridium_t struct pointer.
237 | * @param data the data to be sent.
238 | * @param nonce the nonce used to track responses.
239 | * @return a iridium_status_t with SAT_OK or SAT_ERROR value.
240 | */
241 | iridium_status_t iridium_send_raw(iridium_t* satcom, char *data, int nonce);
242 |
243 | /**
244 | * @brief Send AT command with data.
245 | * @param satcom the iridium_t struct pointer.
246 | * @param command the iridium modem AT command.
247 | * @param rdata the raw data.
248 | * @param wait_response wait for a responce from the modem.
249 | * @param wait_interval the amount of time in ms for wait interval check.
250 | * @return a iridium_result_t with metadata.
251 | */
252 | iridium_result_t iridium_send(iridium_t* satcom, iridium_command_t command, char *rdata, bool wait_response, int wait_interval);
253 |
254 | /**
255 | * @brief Configure iridium modem via UART connection.
256 | * @param satcom the iridium_t struct pointer.
257 | * @return a iridium_status_t with SAT_OK or SAT_ERROR value.
258 | */
259 | iridium_status_t iridium_config(iridium_t *satcom);
260 |
261 | /**
262 | * @brief Enabled or disable the ring notification on the modem.
263 | * @param satcom the iridium_t struct pointer.
264 | * @param enabled the ring notification.
265 | * @return a iridium_result_t with metadata.
266 | */
267 | iridium_result_t iridium_config_ring(iridium_t *satcom, bool enabled);
268 |
269 | /**
270 | * @brief Transmit a message to the iridium network.
271 | * @param satcom the iridium_t struct pointer.
272 | * @param message to be sent.
273 | * @return a iridium_result_t with metadata.
274 | */
275 | iridium_result_t iridium_tx_message(iridium_t *satcom, char *message);
276 |
277 | /**
278 | * @brief Create a default iridium configuration.
279 | * @return a valid iridium_t struct configuration.
280 | */
281 | iridium_t* iridium_default_configuration();
282 |
283 | /**
284 | * @brief Modem specs.
285 | * @return a iridium_status_t with SAT_OK or SAT_ERROR value.
286 | */
287 | iridium_status_t iridium_system_spec(iridium_t *satcom);
288 |
289 | /**
290 | * @brief Toggle modem to sleep.
291 | * @return a iridium_status_t with SAT_OK or SAT_ERROR value.
292 | */
293 | iridium_status_t iridium_modem_sleep(iridium_t *satcom);
294 |
295 | #ifdef __cplusplus
296 | }
297 | #endif
298 |
299 | #endif /* IRIDIUM_H_INCLUDED */
--------------------------------------------------------------------------------
/stack.c:
--------------------------------------------------------------------------------
1 | #include "stack.h"
2 |
3 | /**
4 | * Create a new stack instance
5 | */
6 | struct stack_t *newStack(void)
7 | {
8 | struct stack_t *stack = malloc(sizeof *stack);
9 | if (stack)
10 | {
11 | stack->head = NULL;
12 | stack->stackSize = 0;
13 | }
14 | return stack;
15 | }
16 |
17 | /**
18 | * Make a copy of the string to be stored (assumes
19 | * strdup() or similar functionality is not
20 | * available
21 | */
22 | char *copyString(char *str)
23 | {
24 | char *tmp = malloc(strlen(str) + 1);
25 | if (tmp)
26 | strcpy(tmp, str);
27 | return tmp;
28 | }
29 |
30 | /**
31 | * Push a value onto the stack
32 | */
33 | void push(struct stack_t *theStack, char *value)
34 | {
35 | struct stack_entry *entry = malloc(sizeof *entry);
36 | if (entry)
37 | {
38 | entry->data = copyString(value);
39 | entry->next = theStack->head;
40 | theStack->head = entry;
41 | theStack->stackSize++;
42 | }
43 | else
44 | {
45 | // handle error here
46 | }
47 | }
48 |
49 | /**
50 | * Get the value at the top of the stack
51 | */
52 | char *top(struct stack_t *theStack)
53 | {
54 | if (theStack && theStack->head)
55 | return theStack->head->data;
56 | else
57 | return NULL;
58 | }
59 |
60 | /**
61 | * Pop the top element from the stack; this deletes both
62 | * the stack entry and the string it points to
63 | */
64 | void pop(struct stack_t *theStack)
65 | {
66 | if (theStack->head != NULL)
67 | {
68 | struct stack_entry *tmp = theStack->head;
69 | theStack->head = theStack->head->next;
70 | free(tmp->data);
71 | free(tmp);
72 | theStack->stackSize--;
73 | }
74 | }
75 |
76 | /**
77 | * Clear all elements from the stack
78 | */
79 | void clear_stack(struct stack_t *theStack)
80 | {
81 | while (theStack->head != NULL)
82 | pop(theStack);
83 | }
84 |
85 | /**
86 | * Destroy a stack instance
87 | */
88 | void destroy_stack(struct stack_t **theStack)
89 | {
90 | clear_stack(*theStack);
91 | free(*theStack);
92 | *theStack = NULL;
93 | }
--------------------------------------------------------------------------------
/stack.h:
--------------------------------------------------------------------------------
1 | #ifndef STACK_H_INCLUDED
2 | #define STACK_H_INCLUDED
3 |
4 | #ifdef __cplusplus
5 | extern "C" {
6 | #endif
7 |
8 | #include
9 | #include
10 | #include
11 | #include
12 | #include
13 |
14 | /**
15 | * Type for individual stack entry
16 | */
17 | struct stack_entry {
18 | char *data;
19 | struct stack_entry *next;
20 | };
21 |
22 | /**
23 | * Type for stack instance
24 | */
25 | struct stack_t
26 | {
27 | struct stack_entry *head;
28 | size_t stackSize; // not strictly necessary, but
29 | // useful for logging
30 | };
31 |
32 | struct stack_t *newStack(void);
33 |
34 | char *copyString(char *str);
35 |
36 | void push(struct stack_t *theStack, char *value);
37 |
38 | char *top(struct stack_t *theStack);
39 |
40 | void pop(struct stack_t *theStack);
41 |
42 | void clear_stack(struct stack_t *theStack);
43 |
44 | void destroy_stack(struct stack_t **theStack);
45 |
46 | #ifdef __cplusplus
47 | }
48 | #endif
49 |
50 | #endif /* STACK_H_INCLUDED */
51 |
--------------------------------------------------------------------------------