├── .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 | ![Pinout](img/pinout.png) 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 | --------------------------------------------------------------------------------