From 0badd1ce5487bf7a17f1dfec41354a8124d7f2fa Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Sat, 12 Oct 2024 12:53:30 -0600 Subject: [PATCH 01/58] Update COMMANDS.md --- docs/COMMANDS.md | 150 ----------------------------------------------- 1 file changed, 150 deletions(-) diff --git a/docs/COMMANDS.md b/docs/COMMANDS.md index ad588075..8f8da9c4 100644 --- a/docs/COMMANDS.md +++ b/docs/COMMANDS.md @@ -130,156 +130,6 @@ ## New Network Commands -- **`connect`** - **Description:** Connects to a specific Wi-Fi network. - **Usage:** `connect ` - -- **`dialconnect`** - **Description:** Cast a random YouTube video on all smart TVs on your LAN (Requires connection via `connect`). - **Usage:** `dialconnect` - -- **`powerprinter`** - **Description:** Print custom text to a printer on your LAN (Requires connection via `connect`). - **Usage:** `powerprinter ` - **Arguments:** - - **`Alignment` Options:** - - `CM`: Center Middle - - `TL`: Top Left - - `TR`: Top Right - - `BR`: Bottom Right - - `BL`: Bottom Left -# Ghost ESP Commands - -## General Commands - -- **`help`** - **Description:** Display this help message. - **Usage:** `help` - -- **`scanap`** - **Description:** Start a Wi-Fi access point (AP) scan. - **Usage:** `scanap` - -- **`scansta`** - **Description:** Start scanning for Wi-Fi stations. - **Usage:** `scansta` - -- **`stopscan`** - **Description:** Stop any ongoing Wi-Fi scan. - **Usage:** `stopscan` - -- **`list`** - **Description:** List Wi-Fi scan results or connected stations. - **Usage:** `list -a | list -s` - **Arguments:** - - `-a`: Show access points from Wi-Fi scan - - `-s`: List connected stations - -## Attack Commands - -- **`attack`** - **Description:** Launch an attack (e.g., deauthentication attack). - **Usage:** `attack -d` - **Arguments:** - - `-d`: Start deauth attack - -- **`beaconspam`** - **Description:** Start beacon spam with different modes. - **Usage:** `beaconspam [OPTION]` - **Arguments:** - - `-r`: Start random beacon spam - - `-rr`: Start Rickroll beacon spam - - `-l`: Start AP List beacon spam - - `[SSID]`: Use specified SSID for beacon spam - -- **`stopspam`** - **Description:** Stop ongoing beacon spam. - **Usage:** `stopspam` - -- **`stopdeauth`** - **Description:** Stop ongoing deauthentication attack. - **Usage:** `stopdeauth` - -## Selection Commands - -- **`select`** - **Description:** Select an access point by index from the scan results. - **Usage:** `select -a ` - **Arguments:** - - `-a`: AP selection index (must be a valid number) - -## Settings Commands - -- **`setsetting`** - **Description:** Set various device settings. - **Usage:** `setsetting ` - **Arguments:** - - ``: Setting index (1: RGB mode, 2: Channel switch delay, 3: Channel hopping, 4: Random BLE MAC) - - ``: Value corresponding to the setting (varies by setting index) - -### RGB Mode Values -- `1`: Stealth Mode -- `2`: Normal Mode -- `3`: Rainbow Mode - -### Channel Switch Delay Values -- `1`: 0.5s -- `2`: 1s -- `3`: 2s -- `4`: 3s -- `5`: 4s - -### Channel Hopping Values -- `1`: Disabled -- `2`: Enabled - -### Random BLE MAC Values -- `1`: Disabled -- `2`: Enabled - -## Evil Portal Commands - -- **`startportal`** - **Description:** Start a portal with specified SSID and password. - **Usage:** `startportal ` - **Arguments:** - - ``: URL for the portal - - ``: Wi-Fi SSID for the portal - - ``: Wi-Fi password for the portal - - ``: SSID for the access point - - ``: Custom Domain to spoof in the address bar - -- **`stopportal`** - **Description:** Stop the Evil Portal. - **Usage:** `stopportal` - -## Capture Commands - -- **`capture`** - **Description:** Start a Wi-Fi capture (Requires SD Card or Flipper). - **Usage:** `capture [OPTION]` - **Arguments:** - - `-probe`: Start capturing probe packets - - `-beacon`: Start capturing beacon packets - - `-deauth`: Start capturing deauth packets - - `-raw`: Start capturing raw packets - - `-wps`: Start capturing WPS packets and their auth type - - `-stop`: Stop the active capture - -## Bluetooth (BLE) Commands (If BLE is enabled) - -- **`blescan`** - **Description:** Handle BLE scanning with various modes. - **Usage:** `blescan [OPTION]` - **Arguments:** - - `-f`: Start "Find the Flippers" mode - - `-ds`: Start BLE spam detector - - `-a`: Start AirTag scanner - - `-r`: Scan for raw BLE packets - - `-s`: Stop BLE scanning - -## Network Commands - - **`connect`** **Description:** Connects to a specific Wi-Fi network. **Usage:** `connect ` From 14f2ceddc8f8d2e0f1d540d791efc3ffa613fce2 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Sat, 12 Oct 2024 12:54:20 -0600 Subject: [PATCH 02/58] Update COMMANDS.md --- docs/COMMANDS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/COMMANDS.md b/docs/COMMANDS.md index 8f8da9c4..1cab3791 100644 --- a/docs/COMMANDS.md +++ b/docs/COMMANDS.md @@ -128,7 +128,7 @@ - `-r`: Scan for raw BLE packets - `-s`: Stop BLE scanning -## New Network Commands +## Network Commands - **`connect`** **Description:** Connects to a specific Wi-Fi network. From 6b4d1eba23c334d02ea5c258199b37525edce650 Mon Sep 17 00:00:00 2001 From: azzar Date: Mon, 28 Oct 2024 23:03:11 +0700 Subject: [PATCH 03/58] add control app using qt6 --- control app/01.png | Bin 0 -> 247266 bytes control app/Readme.md | 110 +++++++++++ control app/esp_ghost_control.py | 326 +++++++++++++++++++++++++++++++ 3 files changed, 436 insertions(+) create mode 100644 control app/01.png create mode 100644 control app/Readme.md create mode 100644 control app/esp_ghost_control.py diff --git a/control app/01.png b/control app/01.png new file mode 100644 index 0000000000000000000000000000000000000000..3567a2dc19a6dafc5d3dba51a58814318ae771b4 GIT binary patch literal 247266 zcmd42bx>VP_cnNNcMlLGxVyW%ySr=f;O-FIHNoB8Ed&q2-Q9u(|90;CyZ61{Ox4W% z^Hoh(!KvNn?B2bkpY^QOy(5(rB$43X!Gk~`Bxxxz6%Yu@69j^QfrSQof@=ivfDbq) zDQy=J2zl_&A6N=4GCt4=?<%h4YUgNaZE9?%1!6Ma5vu@t5&qSy4Ps^aMvf5=bbt8M z?P2X;=IEhj?P_NZlC*MkaU~X4RU#I3ba4IXXh*DM>|kzJKyx7s0uh6x#e~&74NliQ zT=fpT7#=Otj4vm0ryv{0A%DpwbQNh_5An(@XTH-esBVYo*@#pL>GmsBh!?Bi!^Y`pc- ztq+as<9*@L{o)W1@&BWC_ztcu@I)9DGMG$Sp<}JPZ_BBY^Ia@^J>3C95b?nsIqBc+ zk!!|HUm24;ebnr+aOQAJi_Tq2eXg|nWNEeAzw{($6AKYqG-39rlbwo^2{Zb`LK<>(cj&xg~V1N-zh7JGwDGY~}CkE+6f;PhcYR7@2 zkV>ag<3uI6PbqoSEKE&3=lhvURkd!=f)Nv@H(&15%Gn)K5HYUHO5{IxIcNkCf0Ou9 zCzrbStVT0eZLLGsGS$?|0B0bKis;bdowjn;oi(cew^*cwV{k#lc(KDO>gpfL)XE71 zQdbUaBHIFONu(2L0a23V&e8uC1FcI?7&XSr%PTLLY&2uVoql({xMdKinNw)8_o z9p`2}o!ZZ-pTo=VJArI@VP?l_(~p>-Xxc<2g7gD*8rPtTralfRL>&R_W#bBY8ak?yq)GlOr#lZTFR+E)n zw@?&2qJ*rf8peBA{SC_dcYh)U?egL0De2X7FI!#HAdi~8pBnu7wRo3729V=MnFJPG zqf#q@2sylA$?h&Jm(5=gJ>NI5ir#2^_*d;uD2| z-zWN%RDDm7flBInMOkddoK#{n zTuNpJBmc3#%4#^X(dL3vwyu=yRX9>fdOCD2G_sShNV!IRp26E*LK$bQQv2Gf|MNS= zcR$+BG-6z3}9WCKP48Z)s5y>GItauSEozPG7InV836v+?kuJ( z=Ih&a(!An8YtUdJFKlgHCO*r?j~;18j~)FySL5d$KbxY)njC$Bwh+Z6tgS&p+zyaoQ3&*xWP{QO5M$>JObfTWP`JWM|*Yn6R+6 zv!gq5SA`*rr{W+(+AC?F~d{$$*?qN2h@Dv=Bl zJTRu(aD_U3#tQSIkKK|!B=!_ux0@n;Rpz4DeTzhBqau_%JiPV#K;CgNgZ^wOj;|FUSZ97m$_BF(A0 zZ5w^Y9i=6uocyp)Qj1dxXA1Jy!mEPx>WYQ4>?50{s-k9}`@&ACMn)cPHwLRF%$4jr z8%dTu#jdy0oec#{aZx5*9|}&trfN;3_2<>an4n6F%sjPhXnmX)Xy#j!Zm-`lbEuzI zjDNK(BKE~lSt+QqR>qnmxTJOI07lH>zv`qV_pn?vmtR*QVEh(q7`-W>8ETToP{vDF z%r>-~2JdZ%a+gU_e|3mnVd)N@4gk=hgjTIl;Ps3oQB_%0m0M#|lemnmEPXuRFR6)6 zuj^BWw6RSmF0+m`hj04lHtOo?OXsaSaX%6h(PfpD6SPy!jf*FCuF^fuSG5xrN}5tr zQ#adO4vK#qHR`CSm^|!K3Tj((WEEXqUG3_7tf|{H>FjN9n_RDXZ0M)vL%}VQ!Hp zBO^0DG&F?Wu=L!0kfy1kq-6AcYN}_KptiYr-fzSAK1DW>tg*RS!Ms8HY~A~U-muka z%dM=7W59?hVxfNOkL5Un3dxeMdX@9ai+^tSvy0c;r34=BI+%}E?bZEOqQkV#Yo8}O zzBOvX)b50;;M=lNBm?YAK1!!3mwRK`Fk=_l()NwmaK-D!ajeWB7QlQ>)R23AuSV;3 z62loeP%UZh1j?w%ekl0$=RY_lS0t++WdRB}Zu~Ta*Q+UtPNJs8s^KrAKy%5^0sLYCR8}@qrGMJ$C|fK)ipJY^YioA)#c^&4?f*$fL}|aLT*j+UeI~%CPgb3} z@!zk0-ndZ2!Ng4O{yoGvKQ}+W+|k}%*z>%{2=n;#v;%S)qi@0F|GgQEwX?HRM)Yzh z*_D!#(mdt=dVS6JKK@8|<8l7i%*@QLNB4EkT|q$sBnVh->2eg-W@cndKYpNRX6W12 zX_3W`nEqgs7j)hp+->Q3IlGP&6Jf?hEL^fng@%FIp;X9DZ`7ju^#jlhJ3Bi^a38S+ z%Pi%?SStOPF5s6t8*eWg-uD+9f+S=0(=#(@XD27oV6zQTM4p?0QS`dao+ZV_EIqHc zHIm5h`M9>6xDX9rf2HBv-rtXC))?qd1B&o_JSu^Sj*1#rYF^ zL^qLZjtHVil4i+}Q?azP+&!H6lJw!jhtc6-2@fx?HaAaCuB+cW@l(33P6c1SeEEP5 z#0TK}NYxUB(ARy(R|{)NNlDk&=Z84aaO4NWPe(;tR&3>LY;3K0p4*W+z!SP2k1M`- z-<{$q7O9j|MFr7~fsfe(yktgCY1^71YB1d7b^0iP)8ETjxzFZ8?JKRGL1&Zes{c$Y=kv!^32#l=)$%!|LMw9Qd#+jHTB>xj))~c3S1*C^%G_dc5vUV@baPY5nk?c zVx@Y{W5qt8#9O8es;g6?hMXj^b~3PfI$GRK?wXx>gvC$14fhs6`LFobzR4ER^1juS z$MPFiYaR6P*QEYMO4?^m-8=Mv<$iQ}8Ur2N*SK=VkqU%D3QEe^%;F>LXmNB%ummZw zhkeeTrBq;bcb-&te9u-Wd2XulwU-9q)bGsJkay?$K_y=B)zcnuSvZjU*|Pfl(h{D% zwKbe{BH0aKQ5e8uL`6j-YkbdaFJ5mA-)=K9cFz$3rxAGAO}ftebX<0egoNY(!hQEn zhJgQ*>&MYV@@hxF>nwT0hwqx$-hA(8$64Im+~SI4)7m-hmv_s6An|8p%ft>4lmDxa zBr&Sg{oUQLn)=-AQKS3rw*(=eC%Q1g`=YC*6F`>N1^<@?OTX9aJQRUHi{no$+C4bH zmz9;RDk>_Pukn95u{77lKJR&Z{pG}!{l{NRX02~e4BsBxYJB!+OJJa(x33STJO)je z_wYA<54S}|M&6{->voQ%F-|?rw{*L`dT%@#9QfX^X*RnYOrjgL4-P#2?3qhr&_A}Z zvvYM^svkOW?}!!1V+5pDoJ=E={(Y?3^QpL`gtFOmByKwt0f%R7Y^=)M+;<6 z7uAD$^Rd+|4*OrrXYLO@&uMS`=Nb4)ox~W6rQa0Vmpbfqw!+ zFbmdEoLbshX>De7PlkSs9{qTe<1Sq>j@8={48rm zOmTVn>!NA=+^XNx8F?WUd{tGIDhx8gC1796TrUeJfRy+>|GwHRme1k?tif0ckT>5Q z{0%M~L}*sWo|k6-rFwG*0MXzf!HhH1m44@mh7T*%yq#%IXO?)#J^qA_@VoyWPi~;n>`XEKcwDzBe<=ng(9x zYO`!zb#*iP`ug^=6iLUq{NBR=svYKat=n-_P)8L`C_F|L!nUl~v%QP`@%(U2=-7ER z+&Xn28#=IM2cSx0clSCT05^$baDq=uQ;$Gbl4KkK+^W|>P7$yWb8>PLZci3)nwy$J z!Fp|)zGoJ19hKz0kCFJYR903tz7sEK;C;GSH~RYenqEltIP*o4@=pxDJ6}6VGS`k6 z*-6WWpouC32(8=6yjLoNekM+=M8lNe+p`njdrg3Go&7;y-Df}l$Hh9+qza9y?}}vT zQELuqfcEc}ZEIrV;^HWDbae-SWm*k5ej@IMc5Yt8n$Gv{j^lA#D( z!D)aO?gyDI=bhp`yZLL+6eo^Ox8(~iqQfdQh1JXOos1f4STTFked!i8)h2freP7FQ z%*#a~i@l^;+ldOI2r2=ON>qCcH^if(UDu&e$U%S}uqTo4cm{JON=4!85|z@ zGU=cRizF06p52S%<0yxf<|-?Ir-~m;<)Kg}Nvkio0c)0)e^X8wlRihGg4G^6Sh%vL z#)ASKuBfAfcX@4%aKem52MBKnAYk+jz!!S)9Xpu?*x6IAo?ebt!*ku--6j6m8E7#; z$dU$WHCiRu0x@_!7zX7LN;sg;2o+K|pxF8oFio8*jZrJMs32lu0%S`Naf*y}RN*18 zn99^-=Ge}*Pd<}LOO?!)7j}AVGr$HBkJVGb27!c7po232&Nvo|4rk&J2`xYCs=rWY zIh9*C5RL-VzvaY%i&$)HYkSsva{&%gDNBAAKayg`Que)`?yx;hi!OD}jqu7-4@+Db zaKb36s6Q(c@Fj|;$43(&7NbK3vU&pPwAG|^5kwjD8=7H3N1YI=7)dHYtoN@hctq%M zXP!3vE|O7w5YsmfQRS_7HN}?f8@tjyg=APDDFCxRbVHb~KktPG5yPn_R9~LL4Em-E zT%sevDJv-&q_^p&DBH1H4i5lwcFzYQvQ$mm3M)TsSA%>a9 zmG#m5Nd#b|H^!r8EX#GKBNSlyKx$Ik(7^f$Sdc`WS3+N!RuuDT4orUWT61i1xR4Rv)*b@dYb9|19q9!N)O%|_8R0cc~(ny@LPGP#S{&bS4#zR}T9 zIUv!r`}mQi>V)S{+VJx7Qm5$uII9laqy%7U1;B_Wl0B!{Aucd+gn*t ztpjwG2Z;W^4+P)5-YzelMAX%h(iQjseN8DyU;shH_b0h3#^`97i*QHP4+G`SDmhd$ zXV>jvKm)`Z>K7VwUs=$&mS}aCPUUF8?z-uP| z-707uk9ox4y?Y$d^-8fyxu>s!yIb$>*x-a|M!HQ}>?lnGJ`3cmCq=G5F<-hr84sPL z+T=P=1uMj70Mc+tKou35H4L7I1>rO}bXuEyf5>>2WB1W4n|z+2f4A@b`I;$63E*$+ z0H+0*%;9(jYr+2hem^0vdvfcV!+>o~7YE=5IPoJpHUP)HeSNy90R?Cp`nu5pdH2AU zQ*&$UqR&B&M{4GTMH!HQaH!G{Gcr#7TwT>`^}I4!c)UG9@HkymR?*Y5TW_$OY6Wng z5AaSb+xbdrKBvvzL0!i#c4H>oL2}vD*5#Fz4{K{{b+i+((8ZRW$S5e3`x9A~0Ht~w z(*$Y+{*O0D(=~p#6$Jo^#{-;9LqkL70{A*=czC$;579;@;MxRuQE63G)7e_b0u1PV z{KzSg900r?;mM~v82~g7fM4pUshMSDW_}0n9ZjMPE-ydMEH>T;bL((Fqj7X_V6d~b zMd*2bJTX0T)v>p;8wUUi0R<6Jk4|(S7)xGW{`}?XUNI&<-msFSgeq!%b{0do?W6hn zpVgybXn4Vfi`f4shQ9dux3{-1w|n28JA=|W9dkcmN1IRO@Ztcqh&TqF#&2yvI3<-% z95j46))e*Y5&TnkC@-g30ZJ4Y={d=Ng2r z0Zi2Jp0j9(@7GI}$&W0W7B83KhiN80Lug4vJq+uPfxkEVZe-v6|lS3t*( zqp|u`D4k*u|C9>Re3{ZW|64xI{PO?(3aBdH7E*nmU&Z}rw3!L1)V-FErV9|3m;WtC zPAJR$AHU+{>azt6!VBrZ!g{sE_5{O5hzD$r+k3_vL4JK`o6$BCqRTyZnOk`afO8k3 zn~44I?DWYFpas}07;T#U-c@k6ZGHSYJ-0J_m9{R{=|KddZ@D)|q=1-TZ^1BKJ3Hj| zVr#(zZ8Fdd^84RvdLGmIXRbi@ZHipA3-&MD?@>98FmoA%y!7}$WV~v+bog08nnDqq z=TrKYI%oxWRb*c6qx9sh!~!(uKMl4QDZ8)3WLCn**bDu4i{qE4o>z$Zdx6lmo6Ap& zQ8pI0=uBPF{gsP1Q;8tDy7+=Y+}t^LYyWWJ{z>@z%Da2ILjBeQ4JG46!Hk2fw&O-qaXRbP7(FZIg#+#9bl=eWhCyE(ZvnG}~ zbLs6V)#Hgh+kYE|NbA=6r~Ll7*iHgxpud22>Wfq1z8ZXc&mYzIN)j^scy*HIjjH&Y z7}rkAWeP(}4=o-PWYsouOe7t}!U%@Chuu-{~BYBBl34VnN zN{6vxd zXvFjh0a@Tp)UMTy+$N1q)b5l_4;f*&p~dt*{uQicwF`SF#ZBr#ck?3;6Y5ILg5M3H z8l86ZEq-c$rJE>@?ey|S1V)WuY}NNhIcLe0qU}=)2zPJyPvWh^dq`wpDr)+*21s)lozKFk}9w%b;_MTPR&l& zmn|{=;qU)x0>uteK{%kemh5o#NMrc{5xXV5(1gqUvViqd7W`WWlV9CoII-=RH80 zyjs}lt47c4)NJqaR#8#c7nW8MtPu{RAKq`R)?whD5D4!q!(&DVlr*AyRMC&rS^5V| z#xc_w=mgWRoJ&$DMLuwRkWds1_Z{)Bt@k3IXLAr5LBl5{q4+~y|I-|xIjQ<=2hEm) zH5KHxzqRpGIqBB6wiEC=cHl(Lh}V9n(PJQ-i?883db=~fE}A~^S-DwB;)YJUd1NWW&a7&_F9s# z>yR38v5EK-Q>q#cah6=Z8*#{;)4NP$vTbUv2^L6@a`UZjrT)l>y6 zR0gBIK&Ps4)-!#mIGSc4Gir+F4~QujT>ujXvB9FIko^dR9Y!GxsOi88i14d})(H#< z(r2G09}9KEMZ>57yZzn}J0u60NsZEO1dbX?p<94&hnfNjBCe9NY;z-=zIv6m|64@T z$KP!vaO-khQNKn#lzpdOJf$I#BOZvKkq@;$&h$57=WhJv6)~qnOMUeHoVU zq+d(tx+xSomDB1gP7tEeG+&O zf0mpdpiwFGvfMGV=OXfbY~&crfbVI|Uv%#K3RBK}myjk? zj)pp;PhO-Y+D+^SzNI*&og6NKBV-N?i`CdrSpqOOxNe zVe|{)Tq#k~0fmSPAjT=AxmlHhPkP++8AllRbB5JLGC_iAsW5D+=@LQf>ehAJq06^m zo7#K97VuB)Oj{F)K&&mQV2BS?4QW}NNG^=kDqbNc3oR;MP7u=SAry6zRA|V4h7P;-rk}qm5y&9Vns+gP|&06 z8=eN(H=N=Hc4y-s)w+<$+AlKV#9tNfbCys*RA_<9sby+1?E|AD{5FQR{O#&4E(33U$!m zz#4HVnl@_oS)s&bfG7$-b(8&FEGR&W4q89&)|K_|5l9QUMKHzFCoI0zBZ@13%o23s zr0b)F?H|G!$Lst@-)uNQ*+zcWK`Sna{lCZ^u}}3c9FN#91s-C)_ODHQ!Eq$ne@Qb# z6!yQ(J?j7A3XlsGZD#drISre9a3NKjJg|9%B%R3M*F_|*%n+9WTz&}d11V#YL}}(; z7g;Y4UCRg%=R`PY6jB-R)nG!Bv^;zW1s+fs4<coT$1a>Cc z%Z5yV&89F~3P($eOAD3^+GY&2HM;sGI#>NXj3OI>M^;ZLTH@56`-WU7SE78%^=Ke@ z2{^*|C5s|pA=C)2v0`(|J!R0|;m`b5!k<&i`K=0?z4XiXhb z`E?8yTZpdfG8p;LTId=~2^0}<*yVI~#XGE4$Zb*`6HN2~>3H;PbNc)P2jqq;gnbkP zXMa$|b-f*5ApZEV!!W}t)aaMcR15?S<6Y$8zH*}x8lO0FHm~Pq;_qee=7EKU*jLsO z#>h7Tf?U#M#>x?=73#rlb5PLqtg+BXQ6{Z?%jbYQKa@`xwI_`42VV1DXh|`4aK79> z@9l8iofsPVI1!N3x)(a@!>v|hhDqvMJxnl@eYzJ-6hD2QmE5F>fcS)-QHjUjg+6)V zg;xfo3!_2DEAK^3li_CV;qomcuJ|O3+6+^6 zKZ*Hnoaqvq354`@u zXDM!{eOGu0M}DMW+@VL93(>K29MoL5>bHbDZ~XyO-y7duj820rIHWD<(}%wJ1lVw+ z2Ke9odHi7q7acf`e79?>=bCC9J=n2XEj!bU{vlQ&zyf^q%*^QGeZm+nLck$r_j#;W zB+QD+wn9js_CU&$!1jVyK4CK~j%)swHl(5fmcc!{- zBzJFPjHtK-0kb3~3%(wGP1Z=roqQ3AP({CI=S;b7E^2zMlCO4&-nhH@yPxpP*;O#~Zu$Eoe;_JkAMw0dG z0|pToBpULC4jI4#t(|u}vcDDYC?TdSs+|f+&cOesWdDgZm!IDoe0?YL4VzVsK2og} zApm5%ZbDUt$}&2Gpxc!UD})O96El;Uqiko01TC^OK=mSKM-{3^*uF06Zu91&HV3G3-&o#{qh*qG_VNcIg^K&?xp)P3-(GmOag;9Y6Yaa(dz3&oS z=Kw~pN;64WY-vNtjo16uMjo&i{ryVfUizB`O66qv(T<53XsH#&YlxO4laDL6N>ods zSGg7>!vP9rMu}9yAxna=@Wykc57sJ0(BVNGJq#F9M_4)(qhJpdD@6e!1Bf_d%?Yz6 zgi7Z#tOqH6&ofvVocze>S9n7aF!bKt=!@;THy?Zhw#@u;p7BZe^vWTnIn3<>hQlSu z@kySDdc@#Sq^zN^rlC-)QNxHbC-B5k!X#2?VkBsn;c zVZjkK80jWuK!Dl&%uEGv$Dx?GZS!rVze#YaTnT?20D!KGY56+|F~aDk2+Mr9oEa{v zIj%i5}%#C!YWb&a}2)!V8iD zeY_J~`V}(Cpf6}TGw6p2%2I_9?QZu*XUjI}p$29*dt7eqXu+22gQAM-@mgGvC47)A zeKE&65bshmnD%gLeZ!Fsrf_H6c|3T5fVy&;f$g=9{*_cUf->>*xP#rNOJ}wH*bnbi zmGqP&T`Uzunp^7}76wY`BSjW|;3C=g_u=>j+4ItD#xwLK;P^vFci`sv{!)0}<}LXw zr)%WF!_2)L`A81EcuLCQP$#5r_LH8e|AgJdAPX#19EvH;p%-D}&HEb#t%JW6{xWh` z)a3lw{WYn+q+KOUu6cCb>7Al+sRwAQ7uE0OBd5wJ$kprdvwE8=l9?kRA~sAE&Ybb? z?~`xEvr<+(6pWQJ&AX!Gw8E7;dt)u406&~w$$P7Q zd!mgKc6C9^o(|;`LM7q4&R@AE5l0bj-uvRUV5zK15Lj)_guWaSJoSc) }VLSs5) zgMm2|*OBLmI>1l(IfW#f*KwqCD3;1KMs%U-kYGI`spbvQZ7g%9u^yhn7qi?8;ja4< zy%>6>;DiUeN-y{als&Lre|YOS7?}6QNOiOdQzSDDh2u(s@C~}Oh&DegocNfg^Y*09 zV&@~5{6K(K#I>*OjQge6>c=UGR(J#w%TL6`EL2paSPVQMyAeb?On`^E8-^>6kZ}PaE>!X z*I*b+g_OeEX?#>9j>?`3G&S!M5PxvOH2kUmqvYoa2eyq{Yc))0utVHvyMb3r|Cn+e zMu(T5KrwUtdofG<@&Anxu|Ke_C#0?xw+Ro4HaE5Fs=KorFJjP=**s1`Sh3Q zLhNDAV%P`9XM|r-6}5Nsy2@5W5RkMy;b{feo2+Si1KF8B3#@&nW{dW}YjIJccjkUa zuk7%^-!3DgtB+|aLXSIJLy|P6cDJt-zt4T^?MoG)(@_ar@$iA~D6y%VcIfA==?UOe zbkDa?hLCGnp7z=#U>QYRe;v(=@V$BC5EIihzZ=B{C8wqkW5Sap$Q4=~QP@!{ZY{mN zV0?qdtLRaK6rNVr--xJkQ|Npgz)6rXcRsMZ7}+gH!WDD_uki3gr>u0K)A|9s;zU~< zB;Cr-0PH9?=HZI6p-OD`am5L`z`k_(9!}K=R}x1ACauACJYE&Ox#O(gsP!E+7N{ZY zeAC)Y3^qL%R#{+gbh|6;y+oX6qw9avrA5O&zH-onq<8E>94tQZq`wJMHcJm#!xb+w z6YcQ^V>_aAHGjNQ?K>2ES=QbBhPY{GdtkmoQrJeBB4cc3201r3N5#MZ4T207cJ=W1 zkkHz$JC)H$4AKIMKYG#SBr;x9AGM7Tb45=&s!FR2!zb9?J0HK`Bq&%q-+#yxGMbYh z@V`SXw{zp_cp^*8pu^^tvl9G`_$ZNNwRi>RndnF0bH_wyvDwYYAGo;4!ZxRs|B%Gx zQ;QRe)kVb`hSq-B-SAssyBDFR&m{G7wC9;dr|W$TO85Pys{Vqp3vb=_9a4JKkWnI8 zW!1->GtJykGiQ_8;|HM&5(1zE_~7uN+5cQt>LIOgmGr~h6$f&c7i!{6ROsH=%w5)O zZ93v&eQ$`SAsh)0OHey}FFiQ}b($C_jxeg<0oS*>#C659-aPMf2v5jS$!qWUMG0c8wvsD`)Hb9QsTJ@I)QJ=n!Di)Nz zJNLao8*H|d{B%QL!(z(yaNJ-OPkveSW)QEMlHxQX2|-Fh5E&ni-bw9st3ITwCZ;hWjQkS(tK9G8FE zekFIpCObvYHzIBb7d~)(<=T5ERLjTUQtf&I5thIf@BT~6z(XU%rUcyY2xq7TJ4)e1 zrqsQB`b%J{Jo#X_2l_r@H_YrViR2N`n0vg;?A&2$Jkeq8q=?9Jo36wVXn2+H;f2)I z>2eIgBqOo*P#i*#d-WKMVi|TaFu*Ehp_OFA`XgSx9*)Y!Slc z<0z^^a~GImH&&DR&|>#3G8KSBzD|fBr<(~@+~bR2GO)4KSkpPeyuLC~Y_T73u=Pky zv>c`{d~i?h7lH9^3y}gG5|Wb6mz%gD-08z3GX%EF75|sYktx_G)^EEq;EI?XbQe%NcWF!z-kWPW~ zyNo`Qmz~z;5>HnQZA|+%9mN#UP^P@?mX8?%Gz16YnHNGY6=>6Sifs9Vb_6q$2llF=ndy`3u55{iN{nstZBO;L`KFK|>>3=B2~F^jsKC#ZHj+c0No4r~ z+T#9m&<`Hep8;~j0h>n)b-pJmhzLlB=P@6CKJWwxodaOg=bTur?(h)@1gRWi)hHs} zWwW;sHLSH(CsHU3CRKq zD4!Ru)NMkBk(e^JV~I=ppiGq+XT%i=o&^RTK;n;BGGeO4MyQ$q8MSKhQ+1S`tU59Dffrw^^+r60wRqp)*#^t# zu?i-3j)b| zsw3&jE=vpwiT*?0Zj=vKTs*#_pQFQ-Qy5K(%N4X>DA+;orn#w&8Y=s!jsu7bT#vBr z4EKjKI1T#BUa2pUX$#|V@}|N!p7%L{Q>~XzFG}k3C`Gm|_4c@D_JmZ{CnNkQ>04S} zoYTCJqAUSU;V3f)#qrVMdn}MiX@ctd3vOT42{q&cv5`Kk&PE@WwSXNi(rTI#6AU?# zM(3_~X=&vfpB3+wzK-Yo-fD@10I_8HUDcKy&AJ7;h;LgH2&}>6O~DXe=tH#q#B>!7 zqF7-BGXM0h&m#KM3GtO-V~LnEjYx`T?3wwrYw!n1XvUTR$TZpcX6KNWZK zwB|rV4ns2x`_%dPyjflpPP)O4rD}Y6t%kW;Yvwfi7V?>0T{Ik4NK~v6x{>w+0o-}xd6W`E(lXU+{t)ajqSxmZw^d(fq1YOm76*8aEl-0+DWoNTv?*r z(*{>=H*)jn77`K~z|^mY=4&?|2w8)S#iPRWdHkUVpXe}H_r2&`m4DFXIRuqK3%Y?O zI^`oTnD0EBzI>n&UC6E$xR|043x|-VL;>||LmyDXLAKa%2M%%)!-Ind9@WE^YzTym z^fVJbjJ*$r#hODnDCjujn#|)0dfcDjO6ftk>Lqh{8P`Z(_k|x_z`VIZ*>UmM-5KY# zhYc+uicr$kjcyKR)O*HM9UC;F(n3KLFDS!{n3su2^_otq;#%hj@fN56DYGKS$LLjB z&b^)c(e<1eAcpWM&05<%4pyb}T@yTdk2qVJ9AgG(&J3>ppjHD`;4;QApcYT#HuMA843LiY1e1(!fGE)!S~3pD+#%asSfpR=k@ zV4+Kh2p(3Rt23}!P080P*}l3V!O2T1GKIF>pZAr#o(g_xaiN^dTaIpT%5tK)a2TWv zZatfA>Ge4dpVoDiE74>mux0d794t)7bqH?VL?*CCE0AFkxGJiOID4^FQ)Bz$zZj|+ zpEqJj25QCI!&Vp}O2o<#0EjW9}xX;S`Dhi-gdFvd!(Ijve^ zl$w`IGWh683Scj|DHDDzNzIdLLc+Utb$4r%!5Fcr~<_ZJ~ zE`Oq3MMC+&j5Sm}#ksSq_y*Qx8D}#4!5?{Hdx|tmz1Cz_rt|6NhA?L*XZ3`gzs0K0 z1uw|zTd^wcxi8MTTi)Qz4t#xi9L(FcLP+idMX|)P@{%hj9lyn)1?~IShPmIjoIUPK z?Bh3&k?X9Q!+m2HQ0>s6p`r16!))>uld%&NW4~@9$1XgNox4@V>R2OLt6rom8D4Jq za%U1w?T4z(soB=_Be8yY5%`>wH^vRseU<2~Q`MKU#7s{ZjB01I69*4_9KP%&VuZNi zq6qVnMMv}HD=mj_S&5aicub{m41_~AML)~=pyX!6Qc!60i_T#sH(cC6@avTe*9Lz; z!?)qPCDr%(kC)}L(|K%bcyuxKDbh3z$B+T{?QW!v4` zBT13juxbg7Ln~5uN#|z53}dX_Y)***m+R_=q8z zhIn*VVDhQ(*yi9DJz5E)pv8Q4wDt)G+E==?denk1=NYf|yWe}7LbUqEhM2c_*2-B8 zxCnYfVMrs*4S_#n2*k*Tkihr;uz@?%he(g=)Kpw1219BBSI9n>Am#S8%S+I38q z>!u4y;gzjx`x&k}#TWa*7wu;5TBtRStU!XISJcobvA9% ziuHX`{E(fCk5lFP0v7~I8Vvys+(@^x(dVD=$WdS*LPKEg{lYtSb#Yk|XXE5m>iQmr zg`d6HP7J;E+vWG(`Lz^SX$_`RwJ!+c0LDpi4_9MVBc`|>b@JQ~$zGI1ZkUBC+h*wQ z%u8#IOvvYHf$Jv=@`f4#)~LJPT5fn#G#2FDEBq7zp=7tJP&a+#Y}G7Es9h%Imy#Bu zPaN;Y~f+=1n$cYUL>6eY)q0{3#<)`?c z6FX6bb`!A^K;`=Kt-)hs%USQf;J$~o0Sn=@5JC*5586FS{1mgy!A*Ojo=&^YZYc7a zqIqX`pNErk%9rqwBV96q%L~dgx&nJ@(4V_^O}< z7&tMx3BjR0oU-`` zllI8*gHY78G~i7mg&dyHm9yL&ahjCE=H@&7CP?hGVwwq_`@xbN?|LjMjRM)0$pol! zH$MVq;>iq`y>#Oom+$Ph%hK8zCujqW!%x%PE=Y-0S}&Ul=^9H9L)%N zFR25&x8wQ7Ihs@CysT5{*7WgFZtsz^=D7{}co;3HnKH{f%4~AHC0$RR85j(s3O8>* z9UUL{Z>2xGna{Wp)+|Ji?U7<kRbDF3?)A)-|8>JvR}Vf74FZ@2R*7lx_a8rz(ZqAZkq9U)EiI9uM>aer zX9GKVVaC}FPtYVGt$M$G1b~gV@=xwkLduw~`XgIToo97wup|sH$l*JkihO!>U!iJ% zCxWY~o7>sN6c&=g!^7{7OG^PiY4qfq+}zw;fhL!mH8V2{>F*cedp~t*2aLO$Q4G9W z1Ke?H577x6sLh%Pn>z4b*(v)od6hCuzn(lbn$QV%=Wr#)^JO@a5Km1tb@7GUvdN85 z)a{Q&fzV^M_5@30sD>Vv)Nc$fz7{C5wDALsw|KAHdh7tE4N7L-0p zhy%TVND3v)@-BZ&`rilZ-2n2>vLOzn=iCPV28NFm3#zQ71K#LGY^C_ul+%;sX35^i zC&?69So#tRG=gdhsespcOzIX->He1LuVF8OZu)5dbt9@vGNdQqCI39qBrfs)P4@qr z4AOrz{AbVvAGzqi&jS4CvHMhTm+=3Z!5{%Sn8ClUL(;#H_5Pom(Eq_nG%vxqgjSyb zF9TR-HZ%;vh|RLG$%`r{FKPc*nIaJ=z1fJD$L$Il8rT5eTs(7!WAcM_)wlHV$rd6G z0FHkn{mU4?QO8IBSPnRTk|;+3#H)seAsE0jwyqzfD3ZiT(J;jm=6@0;j&8P>mmjt> zte7BYt)^xcPkcucfxQxT_QW>!(1d_C$}bs_7U!K#BEg(f(0Jt_{lYl;y2z`_c6zQO z_d%LxouBtV_KMgT1!ngyEbx!B)GcXmLnO)+0Z%F|kD9Q^vXQ43@NBQffQ5_@BQ>+M zOv=iNE|PHusNQp0GNux_ik=(?zw9(JcKER6we>n?Lq6*fqfx~7IWnM3vidwQ|!%MUGbhF*| zZ`&z!@7K`rWO%CgC+1;&F=jvNYloSe15F@I5rN3s$NVx~y&JgQC}0^Td<6!bo>4N3 ziIT75^(~3}FRN{z0lxe^3FMrvDOV&iWayq<26D52Y2nT%jc2TqgMz^StVQw=)NP1e z&V12uHFzGL0W(7Gp?dW!E?>GlhkJCPK6R~;L_$qf6~qBkg*bt0Ofl~=y>{@8XE#qi z=G7&GxYG;LA2+9sKd?Gw9nAKI-_}J~MS59z?|r{&-Kxl1SVoKunr&3EEUv9mt|$Sx$Y6~DJv?B>dxp7h;j&hZ zW#!I$vQV|T{LGch>EWU)4b$OZ5LZqGlnB3HoY5I?ZGvGpzGO1`T2QV>6{+rVyZHKS zsUno}z7Q-qzGlWJi!C-fV-3ap8jatGF`4R1Ng7F2Z%XD;`8cci7e-_+kgo;Zr%HOv zY^3c@s|rFI?YZ$Tc|M)_Tuk+d(Qt))SQ$(0a3EdW=qtx}*y%9*{UM4*w)MWp7dvYn zW)MtjDCzX|z>-?OHTAQ9@^IR{Toyt=kng(1{F)a^g=S2m3@w4c?)L8*e+8T0RP)4y zIJw(;ARSn8=I`}qwxiT^o3VLsu6JfQa8QjjwE4&ZV8f_~`~ePoD+{8JT>y)P{?iV2*7`D&qf^QvT*KPUQ#`8hYoJ7I?9qzp2~nCY>uc}QGh z6ub%gC!Lf>5ce?5U1|Atv%})o_=!niVLIbUzoRKPF;SJP$Eqz*J%?j8aG_;EZgg)bIJ|X=#ASP2dqDT4bCcfv z;%FZsj>Ja8p&ttmMzHuwMH=^X8t8fNEf~GENk6B?b?3C4uSv8JP*` zzAQ{xFpZOD4`okoAG;%5x0A|^Em85g|0o4Gx==P`dhARi%D~F^YPV<~WmXe~W@Ly= zO)L%n$g)2JuYBYEJ{a|lirkKNNc~<0 z7||ZCD6JmElF$1lGR9D&zy_3)6HEp-O04BFT=n_Pp7VTfCwLa6?`m7bQcn6B*s8EpW^ z7QL4mb4=EEqffP{1+TYr9z_f!`Biu|9UlbgGi6Rf!`HB@qh4twL?RD7(udDV{nQ$) zAzR8zyHa~Sez*6V5AWld|87{R^rAl|wEyHpB})AQmncER)ALCTYZ!T6m$%N_yn*d- za~rs{&R?LZIKi1@NKzAR9t%FOr87~NsXMbn0I}Ltx(eh*8{2h z>a%;4sGE1z__CRhTBq^R-?O9lzbz@|qHs#($im4@o1s+Mzu_;@i(l{z_3(OS2u?!H zH=gs4ccIXkff}g@5MHP&dNK_1Qa3tD#zJr8p-R!x!}qL!CMlDK*CS=6|LiF+@J#z#7k4q>dQ} z4joZ5U|E)&zLOIcdY?4O$lS;4Ysk=Lm^7Z@l>N!g8c)VZPAWL#HvZ5J4qNYSt)X7~__G`mfIwAl1y6E`QL;t?7&5pEp+V>5{+?7l#Hx6QAXjQ(lqHSau6{@h_uRIh)Bv;3m{q5Vv@6V*+Q>4XnpNZ zPSR$l$Fj1{K$$g}bSq#)Hv#-2GE-z~zXU!7GGL4*b8{yOQT$^32=qkN_kAl}m^H6t zJ}@ZFka0Pfs_@|vQW%WqZVx-3pGo3X@KhLaJ|{ajmh@TSq>$r!wXPI6xKLgYuhm~#~ZEQ3iCUBK=K-{OHOo~`O{f-(QpZ}G)%LsD?30kkieTl zCN?LVOEqSsir@y4D zwc%*o-D%u0^?Mssje<1e`y~d--;lhM*4xOxW%@BaJ?XQ->_`3u7Eq2@cRl)biEjsq z=dJCDjGJD>xvNO!Q*v^vKMA(9ob!rosder611kO^`(x6Ux3{Gb7-Lm_3bUn~Oo%Ms&TIET^{OY$U@qHH#90JzZLCTz*O4yRRGN8PCtda} zm3g%CX)Yuk&9AMR|FVjb$=RKR!IH3xV{}F-jLegI<74itHrc6nITHHg(w7V}e=3Cm?3;Y+|X&Q1s*0oP$;ppCbGhQp+%;`y>-^ohVm2 zRZ}?8g90{|3w)AbWhy;!2C~I&FWv4FTaO!U5GqD&5ApNB;`6`?;B@f9eJ+Q+`um}E zLo(~qT1(y;&DsZZF-s2kS{+!zqJK3Pc z3K41O#N*6E?ObExbX+H4Yb_!-z|B4eVqlHAL9 zg=Fc-&7tSX2{M!Ywfaf}LYY=abieSo0JxCm4=>3uPgA=6kex@&+v^MbmlJjVk*#Jb zirE#;nA@4gm+CFvlH8*MFnA_xe9=e7OLo6&EvM?LY zdK{31*KwS`L~7K2N_DPUgu)cu6K%(qi2vPo!0!8#OQ4=mUBci@426NL>4`W4BMvd+vP_k#Vbpy-F`^VdPhi%sb2M$Y^7JAWezC}=yB;|`{({}!kzDX!glFdF4}f@9k(fG# zU$RiPw?vithXeHFV3L6yMmjnSR95}lT>7%OW%dsj(f+}O+e)3WZ{MM=m?G8h?G3A- z4g;{IHGp}xH1BMHLhczglH-*#XApr&iiRw6fa-`@Z(5alxTwkdInF8M_a~@^gJu58 zOp@;zgQ_NdW?GcU_f@`UP$0+T@Kk82YE#m>$RDpITV2mD1E_0kz4^Pou@eGlcO21f z{dx1CH19*0#3^2vU5Fon@Ox49ffKt8EZI??oo_@Nhls~ddhz1P#z4}(Z{aPmhf8AO zvk+L~@9~>_(h09~j+d!0F?{$FmHLZB8f$sSac!mB25!pBZJ)!r+VdY#_ebo2%92Wh zl`iIIiI4jR!xEo8ZR`ihU?@9+hQ?*#-A)Bm{Z0uF7R&omrvF%VcFSGjjhr`W)yj9Y z`VZY!_U!28%Dsne-hd8s{-@2h=)p26;yTT8oW4goR(&fQ>g) zzip?i(--!09lc4xeLW6F-ASPtB|Wdx{%`IR<5E1E*XN(Eh!`{}bO$N) z9#L7GF+hv`k~gB=Ovn*U1?_QJ0Au0FVrku(uFl={$NRbfN<8~q80|SJEvG-@`dAS0 zCL89CZdYZX$J}Y`ZbJsPo_7|l+oh3>MMl6;Aw~*D-Ci}m`{NiHPYVO7Jkp%!4*QX6Qr-Je zg~#g{2|%w4&1Hw_W{#P|T5q668MBcv{y%}3&N-gGPjrY4GlCPi;IE=J34|nw4372i174ZJ`CZ3z6(ae_%YS)Be@;fb2dUigL?N<2yl|VX2V37 zvMhNgVC(Zs=q$eoZ{juEZvToO5%seQ#(uIi*UI=ZL#x#3LadR^zx#zgbIuoPTHg6E zpl)6Sqway3J6>JnsmJim&nYXj-$AYs>3byk4Rsz(t?MQYZ-A}u>$x^g$ym?}=7#;I zs}}P44|eXsoYY6OsN&}BR29_P8;zvLa|5waf8DwxN6YCkqSGWfh6(Iij2^KCIJmMZg_&e$$Dz-+pV z-8=Q*OI#XuVc4MANc87CZbFuseGWI&6-T8zI=B}1N*XzbY}`D{s;dgB99Vj-5-ym+ zDP)y^S6N^;je!<|DW*y$0FTF$Qm#e(JYTB**NSS&W)H|rTBjF%eL_kMr+SJklNU^O zs5g1mnX(%YnQUBvM9yOx)#ef!(d%@~N$qAxnAlae*o(>E;-51L3>6)9U#Xyw;tzF| zH_qpACjy?i2*Aix5DLAK#RtUgIn9V)Lu}WZoRStx{|J9u%u5K~VzJy~u$x19UBH_1 zHwjU*M|#kocW-ZDmbw3CnpK{qShj+c99@EP{{4IkOU8gRVefGNV+G@^MGU@nwK8|f zCjg3(_!0s-Asx6<$8biF3iHSjZJ;hTJ5?sniv8uDQ6>8g;8o<2@eH5ep)Eb>BR(3ijQyXmHQzTx8(@B&WPXOOkQVrR`E^W7*ObYf6>Y6&%#fIedm^w-CYQ1 zX>I=5uP)FLv_Ee4ayWyx8`6`hwim+8ybuJ0seY%~`(&l%_xj|x&vM+GBT^IaM9FO= z?%(wF_r@{?Suz^sW;CJ#{xn_Uc?B+Dy>Kqs=~jYrAk%qSs{ohHJhPvDdmhNQ(z+Y> z*j6jQ>H3flU`D9&@ zX>50m8KQ!FYq~mb<_VRl4Ke@VYTL+-E zx}ev%Z1vx5f8nzAFjc95LT~Isj3s4*V`u{Tmw_(P>M^7p#!FrRNQIwdG6=)zYWXlZ@< z9TD-i{0!I5D}-*F_jTKH_qn3Rhz8!{H!Tk0L+uGEyYjNBwrjPiReO-#*Qz|OTK&rc zv2G;01hzkf78aG+W9&csZ(NvXvl~M=p>nnlEW%yKwq=!6G^ARD`Y*|HCo?@Wk2caT z4R1t8v0Gv81~c|)eZ$zR?o&3Mk7pyZ`^*HZZ5wVgNStr_zels=Z^}g8ufE*jduVfO zeCfZ5&MC0rU%tbi=dd{QN%~&ELr~^^lTkR&YiF95#DKQW@ksN;YpF?U>_Mq4V+t@C zl>ciMEVAtr)R#iR*7D6wkNqP3iqhXgSX&!##vxj!-H_ZI>VtEFQQawg3a}p7_DGtm zgR{0pS-neP-C7Q1t%1i#`^PU?>jlo}bH_Zt3zxNJWPh{+sH`TEAptOk;j3Yzx}QRS zJ~oL2cilZ_s&Y|9z?Xy76Z$-pMo(ww?N4GGJeJQ-M;7RyKWpp3Ka1>Tx1J%c;V8bEd|QE@=Y#FJGLbzS zh{^v|JhCRTkghXI!Yy*XmhD*L4|XPcC{pHe5rUazVaa6hd_PF#o?;SNWR${jrfLL2 zEHVZIeYs;hWq#siDR$?V;#l*H|KfCA^5z*qe?Ok_9a?&bR;jE47onW<{!@zYiGz5G zfthLU8F<=zN2jSKbiD(POmsFx4D`74`s!bzO^q)f{kixK`jM^%?c2>azYt3-<`?-! z$M^({-|9mKzr)Rc^Al{?3`>u=Udk!`tKXB=Eu3AqrFJif5|qy-|FJV-z1AK0kDJ)@ z>#oythi!m4M7id}sQfaZPcC#GbgM23c5fVjO07SJIQQp%+0DQYGy46u&UG86Aw3S=lEo=TMKcaemGx zDqr=%YkvLP_Uog6^21oS0kHCN#{hUTX{|2a4|02^e$D?<#!OjMpLe@pP!Y$%d?f1r zTEm~LsmM3Ia3yHQS7eWV9nypOY`~0~Rf*F);S+lw$2_p^iHC0)=G9M1vBm^0{8*B| z7{_$x;PBu51_U7t2E3hbAey(FS*dl+R(Z3{{2n0=R1J{6ry52TQaPy6xhb|;BhcHB zB4QjWdYeC`TQHCiKF>XU1yx+N5nrTe%td64O_=c;VEyZayWxo?HE9V|l z&@P74j)YtG_qVff=y#xtI4PvEkG7x?kkwSe=gx?|6o}sE^8U(uV0Ybez>gR7KV`wD z6blr@Lp+;X$nR5p<=Oh_cgGz%UVd|Es(chZ_gaz2RCOHPrzkM>mSeWOW`mLH8*EM| z_uB%k>D0pY$|oq;cECcpb@vsi(V5Y}P?RCRTkP?QXRv?myOdp9^k;yf)Wq#9WGSvK z4ixF#sLf9q&qnmZ>KqR(aMfb|^KfJWP2_}pq4Ct}ViRA&;LyHnR_?u#ZPz&38lA|} zqNIX%9mlYKiR5{m?>DeDz3^(+tHS2qwfDk0UZv>13&VOpw7 zb>f_HdTI#~(0g9lKqVMs)U<{m8!383y;S&s20VSLR0uJIJQs|CM<1RPZ^R_guA48g zLkBv8wUx8i!0pRyw}RNS-XCZB$8+C^2Me_x(yY_-A@rcn;e!$X7>jN?sp3qr{mh{Q z*l6WWDUpOOjx!4=6KQ;8$$jP)Y5+rID!OSDiux5wWLk`-%p70tSRRn&DxO|Ue*Z>; z54ra2f(l}V+-oR{=wJGcxiG~@Ze$ub5YKdB}xaNg~ zxzUfrau@2A7+ycupvX#d8GFPBiAvMd9lA3cF?+6gaxM^pXGUk*wuiq)=*VTS#ID;G zKA7N#y%`;}t1L0l{p{()7-BoIJKIw*`$LPB%FK;cSmqXGjbyu_5qWxtMsQ~=j~hjy z@|b(N8%j$f!PCIG#M>KFe8}5YgUMIbP`xI-7$~KH3A5(q-o-8`S{M6UHRPP%+(p8E zeK>^8H5wI8wAE3RYr2zn(mbhfgvT7$%T2qmwKc7|nZwe`3YV}6qU`Dy^pd*AUpVfbZ(J_rVd$iA<6Uyim1V<|j_5czKSwT$Xw7$M^+#h|q`B^o?o8SU8v#vsYHmqJ zxsmj=G$#lpoZjVOE|{8=`YIw!DT0whCj{YhtXN0WQ<2Z9$CUv$LN5{XM7;W|~9KHFwZ~ zSH%L`Q;Ep z=Mo*3=xYkf>;kuZ1pqpV6MmhZ2_CC>R;fwxsya}0u+fy<7R2%mRxU_k@+d5vL_gLq z4BqOckelw6)9p%Kg~&Oxe}##0+SkX%|KrL*Oe?Ofjf;svCa?ouwV(?BdGdWc%lbbr zK=Fx{P@$iO(N+(>wX4=OlX6y;mTO!*7hUZKke%2;dj-7R zpG`BjI|KUJ+3clVsbGv6Lch(9{Lm|u!_zE2P&=K2;c_bME!6mUDq%g8U-I%K_B+1QgX}a|94poUuqSA^07{G3YflZ7 z1(j8+HykkUtgK#c+`f>KS(W6Kt$cL8}zY`JwEa z2S{N06uoc7jJ{}IG+a%HiCGa%#4;tc8UPE5GbXQfPE4z}A{koUku?UQ!^!BxF>ZNV zVsd4%pAAu#6n>7nITc&Sr2lbGJcC-#89)u=4OM{u<^~4s#1%1kiBNX0CmDnoi=JqE zdCWS@)1-wz!M+}c?55?q&j)2H4sX^yI{Yuzi+d8Gj!%20p?pw*wb>1rt{Lf7orXt( zUIx$zl;Q(9MDbZUL^&z8Osszp%}_>J_`WtCeErh0yfS4<77WzM_0(yDS@2gbr8gDx2LxYz%VWeSIHf*2Ht#80-X=x!V`wRy+INInzHIq)hp6yseod2^0rFL=Q?#Pw`otlCB z(*IFJ`wk$Fhs}SAd4Eun)-Q&4?MIbq|98(!;*gys7E)Hxk^Y7n+4WLZmjAiTJB|Q( zf1kL=$0VC*!s4L@0G-@b`-9==AnQk2 zBl(0{VpP=L==kt%Ln50pSgUMM{1$UU0N7&k3r?HpvogQu`fDw@7!@t8vAcU3$gQE8 zQev^NxX8@LIr@u9LQW1DL}F)SXIBLH@pt+7{3=wm=D^3q#0(bx0gr$HLgMvZJ%I){ zNPr-AAeR@&%mKo^F(X2j0wp~>xIhnmd|V0-4-a&2AV41oYkzWaL7pxnw`kl9!oxb< z9!UO-A5~dvcR4e+x*{>;6UbD!wzdWu^iiqXkpkHEMpsoW zD=+`~J>0-;Wo&x9q_}BFi>M}b-lMoEftpQr|NaCBmXw-Wc*gA-mOUTwT{yI9h7(gl z?w2{&>cH)|wa(BGR1@zjj1knER&QK@Gsq$+%!IhF8~u&lLz$l_cHf!X>`;%paTTs7 z8brI4pO#}qEHrgp3jujdK`7JttBn7wkHO#O^iUpUYpbkfn3lVhsRCc;}` zW7Io3K%W8ZC@Rk33qSMX}g<_Eugj_dbuy;eLHWUis&Ctrd@4wq6E=uK)z1g3GR=FXglwq&`=l(3W}2X zZV;CqxDF6poNvtmC9WyCDHC|PYHVz-cfHUWpO~<)umE}ZyFu7}^k^s$T^eCm zBV%q?h;3>N`|EuI@$t$2qG=iQ1S7FkZf8Ye<8uBL)suuli~h#oyyM&i#)e};xp5MB zzXEeXy%nCGo(ihTdwWVm?mOW9@l5-l4xcBvpWz_3bch5Qi?L?+LzSJwzu6xk-K#ml z^>J8xTvt*aoE#aU(N&)la#o$+(-HPSd)9iH;^pCUMQffBVM;3q)LE$1m=MW*=X@En zbz~30x9y0Roih`;743*#$LPY>o{n zv!u>Ql2F@CZzMx@9qu9b2u0uyOhk;D2e1TOpBpBApUbreeG$;Er~lrMZEkMfYuj>% z?RSIS`94mo9I$;>(~|?zM|(HV3+-iek2mq_w&FL7w`CpGdw`lt(W&v@BjT4PXXP~T zlVDus!y^K3$Bj*HwN}TfD>fXU=Lp()_oek;zekVYwLUz?vas!${oENj9N(Mv5&(@p zA=Ylz8@j&6@%^HL4k`9Nn%h2hwxWcV16W~W)jLXJRsb#q-IAGRmpD}!J2t0>qw!a} zeR#g15EX%Ro1OPQKJVj-F-Yt?EbF@MI&*`nKGW0qSBIc-lTEAhA-8SM3(RABYjJKNN-Y>RJ_M=?2Fb>@h!+jbc4W!>Z09{laOo>s>|Wv>3@xF~sLn-Mg-y3WkW z@Bq%qf#zFc=K(pR$Jkj{4;T#%%`6*I>O=_eg!k;wp3|N?8?=d|!-v$aPH#^yo;Y{! zM_+6wmzQTZ06`1Ij|rp<6XxpvR|;uG#rS4^*Vl|l?uUMM^~~0mKXAUi?BDamraM5S z=gly7$C!@jnG$DTa$U9EUx6iN%! zWC~sm`;y+(1sa9vq#Ik#3-}3I9mIR8_dU$$k2T~hBA#;BOa7$7J~*X(aH&*Vu{)bQ z_W>Ua%)`mFlH&zMYpJZ|*n``RnnD6%dSfOVqb#eczrXVqgN(T@%P-84lTFMy6U+S7 z%nq#{mRv<3RTQj1c{9BR6-IjU&KvaiYfSu^%Nyk*DdjAid7yXJ_$@&__EvC)7kP!< z7Y_RaW@Y*niMrGEU?evqG6TgqwRl6e7vDR>@GJM&Lx%gAKww5w=$`6wd}b=2F&;V& z5g|G4gy`>pAW#8S%O;lG46VAtR!bodx2hZ%F$xK&(ALX#8#Y4k zY{7n#k*eCp4bgRr#1Z`_2c|PE0!>$yshF|VH)nHijLgeY_ZJ408N3aI>e7PtxcsF; zoH01ZBRjD%Es?SI^=lK0gXDvq&RfqMYwCURSR^KnBop1CbEWOPmHv_;c|ba>TxgFL!ridd}#Vw}eRyS^)$3a~|(ZrrbkTVUF&X={Thn#l|AEYP}S@lwb?!v17 zpAq`_@FDxi_{#-yH%ZQxWx6v*#QW{)X^t81XveC?@t9tb=5t+3rzD`t5algHzF{bN zXWEN{IiVqYC|@z>V=PkU*LQ-gJ37E-bGnQErj#Druj5EYM>c{`XP&flTl`6;qN-PQ*(3ZH}P+@d-v``uP#^P3aPB?zh~QNE1Voa*zeZr-xz{BSyO2#$?-`heEza={ zuVcIW%!t>fYbz4^`)qT(-#I-!U-Nn>iq_kX0-)*I3ZWL6s1Ty(A5IxhtgoPzg;?=h zzb5cuODj{>j6Vu_U!FcVt)n*{N-NSOs?%sd6!^Pr0e01q8XIA;w zwrA*E4ujZ$WCrmUmfuUdP1Jh1eGA)7&~gVC`@)zwAocd7XX{T@OJd-z+06k(UzEt} zL3-c=1Cv-^l(4530L7CB$JpQ(i4WdnW7EadBzm+d;yrSEXsE^7hcUn3$l|@PHM(jc zY1D|d!L)TeKR36W=N^=yHegO881Qs)e5bzL@V3A#GaqLQ!5SVfWq`ju5&g7O|8yc$ zQEh6foB5-n`zZYq7i`ZWsQIYSdRu3ByUQ2MfAkmXR~`1M2aw~mMl1H}KoNr8u>P*@ zk(snXKOIgY*TDMc_%3$N(W5q?!Qq%gs!)hq{~7!(#$^ZSJG9wyWddB(rsDQVFxaM& z^b^pYaIt+KczD*8F1xfk9Lv4pQ>L!4x8nCyKeB;W3S;@g&wC1F9=?e|!~6R1yH!Wg zANpIEwGm^?`#I<kQUCnevRN@^2i?faVh{2^~+x}hm8q|YPp zIVRcPhtuOH%ig73Lq>^NYIP+a9ul~cjR)Xw4HQm!qy{0-%pQW?Ivm?{K$py)v|LewAl{(G zg*-Bem8M+@(+n0Y%b6X@+BGj+4bg;G6i~ueRI8<}Ql{`%NFEQSgq@pCDNiiO0e#K6 z!so;rDHJh{>4$iL6lVM8s`pK#{=u=pE1IURO;q}9SrD8%hDL!x7 zcpM7yj9qg}DpU114{oTuNyjGrzi?Yf+RMU3_8Uk;&B3qOuq+fTbE;)QHckWk+CG zX}`&uFIU+xw|(4Un#+pBn_diXFS*Vr=JO$u0v|^tLuj5cthODg>_d@e8~`;9hCXC} z2ko}&pqUY%IRO51bBZ7@y&{HMjb8Mo?Qw4aWLgQ=;#c*^etu2ORj1E?Y6r__*~~Eg zA*Kzhdg<9q3k!`-u4`V!lXA~C|83*>Pr$3dumpA$M$WT7fZcP=<$J%MJGZpN#iOkw zb{pBbaXV_p=}skKZyy}3of3B@(2GLs7v9P+_X`vur^cLs>w&}%X!1V3m23-<0b=M5BDZwNa z>$*l)u8M+FAI^xS2r1}Z82FNl3Jp=}cHW%Nv7N-s*+xf!+h)tJzsayn44wIga+bBp zT0xoPy@W$&ZV&oVJvg?Z2tqEz) zIv|d7d&W#aE8FWRMJTK7F6)@zi~|*svYv@Djv=$;0)ekv zB_Y_5l>4wXOX+Vkta4T+>yo2q+zop1mm)}9ENvPZb3R?2OU6o0!${(KVHeo9$6$g1p{uz7HD zq`*youg;5~cb*^CzIRju*qsk5f^slb7E&GXQn&7W^U|{QILBojLT84&KS&XaV0&4) zJ-9M7eY(FqJPp`R`fOwv#+f^xDq^<(k%q*|@ygL@8nEk;j-j6SQ6(@*jRhNEC&Jr~ zhKucmVIU{KYcc*y?anFJ4{Mq5`or6R&nl*gusrhi7aK|lHFzR|>_2Qvd(iBkIu6}s zhc+FFc~NQ|d(AY@Wv8LhsQJ;fx?b38DV7%x&5br&Zh04Vr^*KK#MS<+1OgK~K>CX* z_spofIGL?h+RzOk$2hOh#ajPVfe{z@b8MVl(aF7E$bTitd8s-hdci$yt6}qiQjGa) zx{3GAgt7Y4DUnCtgoAdYfhL$wUVif@Z2xh5(MsD#b5k(%nngvH*j;*%@%j?~EtR<5 zJ3C)C13VUk@KftwK94wq>knd~?zn|#`=gohBBPlF`ovWr_D!$PazU$ECw7gtnHVvXE|ui{@*R%zRgY;^4$Q55%9-@1?pLeyt(x(piFezV@!9^YVH`7i7s z-HUyjZTH}Tn$P$cr$i9%G>t9lwG!J1!KwC@Hn#3WzlXJqkBud8QU8Tj@AIaGvPqw2 zZVax{B7wkYEwI0AAlo?!L|;Zi&CVLl5buHLQ|pbL zu`4;s%C4XCBcsMWs@4wW+W?muH@|KP%Fppd?rsn2FFrf5{#)|8BPS>vK1pf!@_>OQ zIjR(QikIBb(Y$v>Ba*Na)ANN@y#C~5JL6=0>@@}HW?${hC@OthD{A6+U*%>&$HU$H zp)}8Ai3u7H3wpQ#pe?YZ#8hehWv%1*>z%i?Rdj-1M9a#GYE%wda>%499s@gMLsec) zi>98=m^m{%61H?-hm_~*m{TNsII8m$ML}zGdPzCjSRfmc;WXCO{{9e-b`^poJ_jd6 zB*opz5A!O=e5b97GTf2qx2MC32Jr!>f*CIBhw&jXnSzq|IuIO_4E-;(Kjwmk7#8ff zxfhxNzKuLMh7P1&&Q~U3;m9A3wL|AZ6!g;w2}Q9?3}`71iQ^er)L>dkqb+Cn0p7-J zuCWb|I~@GIWIEf-Tv-W;AERS3@-w8Q`LL2Ptj*GD3b%sv;MCsMeqvq>R4@KFe?7*<@D^}8j|+dX+=Vc1LjKlvw{)V`j#;{SZ&n7Gt3zr8TzL|>;14w75(UQ~iop~p zI{6V7j7W{);o^iOS%x`X*8Xv2L^~;$24TQSq|rfFW~D?9B}6Y%Hymyw?>lAB+}8&t zuzJ!L?iUi65{Ss*5duV_T}|TlqMk%zMmWELRvU_&u_XNN(wK{f9i1fkk4f&b3m}G( znx+7sizTaTiy{Ytv<-KVoi*vKKrpEl*Y;N*jG7By%q$vJ?A009b`$ zCehhf>>hAM!C^bzPCOn#d`03pUx;X+tpiHv`ChjUx6?&-GuQ(17n#|QH!*t+`XoX= zVX4dSCZc`TNPWAtbF14Uo#MnLCuLtlz&UU!Sj#~InYm#kyV+&&UXRc;4`{N(1Eq(s zH8}CPxolm|@5XSsUc{uo!)`dOJT7l^p9A&cOnxG$HFyuuBbF_f78~%x?9?o^9{&+J+kk= z;E3sdg?ji+NvRV?0-MSwX}VhgtwOjtaZ@|u}t}E8)Y{0^^Pig2MX|iV9_Cor?4ZRSQsqLFUse|hZ5G8nY8zJ_+z(8nXO8)iF?&nKJd zM($`zo~?y_Ja<&QJL)lxo;F!RYEe|$8#;_Oc*A$O&vK7}22_%i7$7t6UYvjKYo|5X z8eMv)qgD*J9l1a9e_n0e+7nrsvMZ3QLK}|8)jELdH z3vP#=KoGON7+lT8ysE^c350$1y5Y8(gCv@4wvOvP&U%MRhe`uuC&O}*AnFrD;WrDK zjf|y5~Y1(O&_+T*an=IhwpU>He-@e1= z$D(Cntvry4HXGmLd0pU8yCWgqA6!4~!-v7sEBY7Ga>{;X=LJJ^etpjjRUOj+e%|(l znb(ZF2ec|)c1Dtklqp7{9nnsU{6%T?I+cye>o^)wCu3NflWFbOCX9^WdS4Y?$0eR? z*Fs?ROBADG`}CL)3fC4`eHsGBe~xPTY%)n>giE=}C7+({8WVME|K&m<8&O>77ied; zC6MMI;PwpUF=ZIWivMMzL%`|v?~3?`e27nBjZ-jn+d zFM4US5(j&E$OhH@P|mr^+Fvz$7o|CQGgn7eU$<7>4K;uI`@Ks#VjcexZ&R?+1}5u& zFte*$Z#9#6`-c1?W99>d(93s<+L-xUg}#k3(j92Hk(%YKh1wl{WWDDC%B(C)*y-?R zcEIT0rcrUxr{Jxq#eIG8$jO4Wd)`r}pt+vCzq?H)t$tPb4PD(ieN55*ZCMAe4IXMR z`5>HBo4LIuc9Vy{gdh`JzxLX2=B7;bv$vX^XO{4kp)yVEXHjOq;=K`n4YVbC8+LmU zU3aVpqEp3Na^4r({0f%jeH{fn>wY=cTbq8@eyTt2*%~Ykt@quMME*F2b9RCS@Y$p2 zhG=FzUrkMZ`8E7?cct`=js3YeiXcawGjPGm_V{(H5Bmza@o}B%(f;OHInYGM+;sP7 z)l*#W7svSCLkvvQ7St0X0EV8fe%!Ci(8d@!)Fro^QR+s3&h(K2DpSX!8Y2*scV&@7 zXWnzm_tB%>DmGE8KF&j(k%Xi3n`m@VyA5AQ&O033%biBMCI4tbqLz^h^$r}^3jNy>$Qa8=HM4La+ zQsO51@j2qsdHgtDr+*4MJu$sArbwBMc&%UgAj1RO}5`*l)O+UF9&HfiL~(1(VI58?A&0Qb&Q; z9-v{DARNEDJgS?eznjUy{PNgWk!~Hh9+TPxZCV@h)hJko+n==*y>@(>G1_#=;7u80 zUHVUIKyURY8uEuBZ57gRi$@FcmB+h#)UTS6X#^gvG2Yj2_47YRN2d)Q%NILM+avOq z;Lo?va=7M1dbCS#?eX)K@H0#fuN{!Q#@Gj`^2mk^=OHyz;Go@2wb_I8kjkc}8mW*X zCB@=*R;B=C#P%DGms^BQZy zxT^M>LZF3O9S<;NN&ATgbvPpfg=f#P;BV`x8IcNy*!^MHVDhDdzzJd4{w?>dT^-x| zK%Ev?IZ)+g4*aPr3oad=(^(#062sD(W&S1Jd&ZbuF!Ta)P_=gu>oNyX zV}OWA66BcHivKS4;tIKZK?ksG&@=lezv@uJ>S}OE8qREQivgFe{{e9xnE(WCwy{eW z!Rei$;>WpwmAGy#d>DK?eZ*hX5Rr_!V8u)hhjf{=_*`LKRrK|Yjemj*b5hmWJ^ml- zRu-o?dz+_vokH2kd;?@5nb%F~r1CRATrZ|nT%%^yT#fp-KszNrf263PVGN{|7vozC zv6|_Q{=Bg|9y6*=Ch3N5R&xciLCYExV^^fwNTwS|t15Yt7XhnwCN)D_kS_&}J2sqeG*VQTl2s{0H+0qD9U|iacuDIwV}w<4>y#jFy>S%QI%dvoR*3kiaS%criqLS35teR70j^W-iFvY zm*^;H#wFG2)AW(y|NZ^?kB}uZ6JucDZ2?)Rfl=W2Y=Ber)uYIq_xTA=dUxjY#7^?YVhaxD5A4 z%~?^$h%E*NXZ$AHxn5-$4|^xDe%f_ugG2E6;!VtJKrx9EDWJ5AlS%70xe;4G75}nDfKL3MaujqgGU`IW+%G_aFE^LcTt*jDPu8 z+BpR|t=YJr*?*!DRDPTPGDJYtK3U+b%ZHDj%EQMMPc?@6J*F#SYn^91HPxiy`mhaH zlKMjJBSLsUbeqX8M{CQoh>}inWgdBJ^4i%n!tj#2rp?{1Ss7~-U`C`OtM>97Ww>pP94dw1ct`VxNKgu_d}~XB zr~~?+NxBUGVLE-auXBn{fQP4Ay)#sW9^gadvis&s;l z-1vG&B=@JMpTB=lDBVWdhfW!oX|iUFO^)|yM0H%f)cHVSjC>PBKF+>1Kc^VwVoK*=C0rNCnouW6Dh&wgK}}TU5hqRH`N^R}QAB2W>sV5n zZigk>3i{>Se38D7lc0}yABe}kCW;@bMyL=u|X-+ zFb2~*GG^%VO`h@AwT96(`mWi_f zi-AEMf}6BrD%Sl2dN?9}=)Eta8kQn*;)ug?QnSF6YgcI>J+C_@5|PDx;V%lUiX|@Z zt8=2;h(u`~NHPrr{+hTW&EB^=z^Wg|Cqe>OBekYY+me<`P*|lne-euZu+n6_A25U- z@=JPK@lh|2kNktU$&!*1%LP-de+`jkOvh&^C&;gii za9C{xywL}LYtJ`|fTgmE+{=Xg^5)j8lsW$Dis10Wj#8Y1GMAI+oO|db_lH3+!2Tfx zWs&^wr1J|WiQLZZ#oMpK^X;_{Vd&;-6t}xL>7mmz;n{(K(wWO{XBKJ(`8MyazQlV8 z4Xo$6Z_Q0;FUyTjo)=Fe8~L9SM%QfP>rKP`KH6#%Ukb$b;9FTMsGZ0-phcRxUrb() zrg@f zkEK1naalC7Cu9ze5Y0;a{P3%^hbIyrJ^u%*Kbna`HNDmyrhV4Rnwkx9hb$ zB&Ais%EK$UisPp0^EY3cL3#qK_)Oqsg()m3{SLn={@o+3e`sz7DnqU0O zl;-r|U^_GsNcaUO80?g9yhA~AL6;PiG4kv0eZnWLA`%w0d0hm1<3bf^gTdw(l4^iT ze$P~2clT`nQJs~Cc{1+c5L-UxGK!jrguEnhg;ET3`Sm>m{_qwPTZpz(_aFZcvxD_q zJbsh(tGL+o=x>WSh0ERFmN;4rgyh1)={~TAo-zoNEzIa!2O`Im2jMG0837K3ROlDf zF2Vh3nF58<`x*%-s;_mBEcgs7rchWo(dnkrVKR=w{^C&PU*(b$RJjn@_i`bSaBLQ|UrTbr zCoq6^WefY;{vXfiuMespDY+w8rt#n%rB(t$$q=up#|D4nCKNNQCYXLkiCFX3iv>z; zjvfqeTMT;Qz_l>b%swiKg=72Fucc#>ni$}_rSZcdy)Gq`3O6^5-6xa{z&X-BJU%NX z_znx9t*zJUMEXU$>~>KnndT>Y;t>QGrm0IXo8W~im)>7SyhkSf3&s`614bex-rW(6 zXcRdu-hy^QjhK7Hf@wsQHs1a!fsEenRv)4P_joS;f!5FC13H(Z#(4W0?3}{SyoA8w z+CIXC^%-ewc-4yv6c`j3*@hpUR7L=>vU>JZT38k#8aDc-Ap(~bRx&P?-SnlHYK8`A zzP*DY7MG9Bl%FyuyavxW$ednwwcAjPEdrL0#cIq!M!*Mxg|1*~bS-5~zx^q*z0IAo zu0SA6#9yTMX=}@Z*luSj?`W5qaezZu?mV+w*tQzwHy z7dOWGjq|RneJ?Lw|M6J0_P}#)C3kDno3_e8N8%Z>bBn2UOS~ErbHj-e=;Jw{L-jGG z7|%DZ43_l5pQAq*18(Yhx-M5SPl!85r@7eJlEBcgXi(5YCs+f4W;+sv3$Wf2ezC7~ zMlE%FCNjCuX#l*kv$P(n--&F0y~x?PMORXuCU_VN)Zyaax7w?Y8eQ$VI#|^D(t3Tb zVo}nbY7>EKA3JL`MMc3B{w4n~p;g88$5a%nyzo_Z)YDqnNO*FAFu;MESv>)5)n-!7X?R2ghp@1)=fdaG zs*{>Z$Bc{&rt+3R!}-6FV#C$~eJ{RNoYl;RqD9B?D_YvkDcSjBRr|(4w?)K+IUODO z;Ejk1X>IML-`#N9+CEVT)U4%a<-E9Y;L!Y9Bo{|QZSVnJ&{Jd4>^zTnwj~XEo5vo3MEp26JKY7H zMkqI|e%Oe#POpPF&x#lvg6aUSoqGXhNk0b&dOTAs$hK{n?UnnAyubOOdG zNaxLL{&1ATdCefRztgM@(XYP7!+ZB56c+}6-w{SVUMhKk0&smF9814PHk!~9OnZsH z!6d{sU0rnlDe6Y>kX%o2Sd12i&);JZb(rL$xaJiKFg}hEMo-%+y74H!h5}8rQ^++; z?p9l;B@-%av_H&H;r-)cB_4moK!9+S;E7(kJT7YbW3POgPpQ`tz}=;Q)Ni@dz>}7^ z8-y6JHQ;>0Bfj2K&RqzhC;3ys6-P46Sd@u!6aA zcniOmH-0;GFVN)sr&9&~cXl<85Vc?-Jarrz`CP4}vzw8qtLU7-6F9J0HPYA$!&KQ4 zfn~m-b>6x2rhZll-nU&Juph>7$Ya0|kb}UoegMyWm7^aVmkm@AA^Ax9^v5zI=c8qi z%5TQ2&w1)JrF2j58I)~Uw`l&$ZM9elR~iUKp1C!RAT4Mt8A61AONwyCgIKi7RR`Vx zQF7L-)9bfX@Tsx?F|P*?5x|~G>NDek85S)qrQ^N7Q5d#>anlaG7L6+|og12bCU{sk zH+nD2eEe-d9!76x8Njqo!kdprJSS3-<+d7XUKpN(q|8MZr@;_ZWNLqsQ8!}#`Kw5sL6?7!JZ$pv%HLDj0m4u_B z@5K5Zg5Rq%vbfPFXToJmTm4h?QW)Y>M4Stn$2Q>wo$sn=o1u}k^ziKFa(twWf*+QO zb@EbU)D^mSad=sZK6jK_r$R7@qJW1!1&Z2oT2IwESO^i3gWm{pwK@?i4P*3M8wTUy zRE2eMR0xiw#s#;77xEi4+3KH%k{7sWdF4?%?^$F2T+?mU37P+F8ADW0$0Ovy?Wfo$ zu)%>p4G9NIvE^bAzpf#_w0Rlv(<0Y=@2(-yR?qG&4oTfLT%9@FQ*$PWbM7Fve{ovh zg!t5`<9eH%b6pC(9{AwaBSy4sqCb^WP>V^lD{IgJsdMwGX~)m} zaLOzRRfTN1{|~CSI?1Ynw?A}CmvG{+jG9SM@(a14^5EQtkKYWYh&NqSDKku`%J)AK z^DG5g%d`#Ftdwl(!y5*Q^SkX`X2659&@kzoNY`v=4|$^g@hqnQt|36C>!T5zZvXp} z3!-67+HL#7;VwCfTa{>J+9+I`9}tR0lOPo)rD{@bO0T86C+{*_t32Yi{;AA+`Tg1J zM<(My83i3hkfdj<9H9eNHcd1lzd%nQQ|H$D)GZ8hLYdHV%M--LqBf4TbXtDOu;+q? z&rycm=BDsiJ9hWv_!I>lUG6OgwslMI$Xe}rS$kLf01f;d&$-WrC>lsC&fhfol_o+$ z6K`#zl>hP7>2IVR1ktHbC4+Mx2!F@uzlAqb#UvP}^KZZcuXj?ci7(8Q0%dtoiZ#^h zKh$tOrHOdMPK|EC6*q4w=P~sy0@eTW-Yp0_Fz4#6iG~BnhjjJN2l5Lctc7G;!av#M zPFEgE$Ux1WBBc^hrxD>R_~gg%d^ACk7O-nm{_qY-lMR!@A`u11sztF{C(9uQq=v)A zAG7oCmb-$i-gh%2nBO{mNyxhj_{f4uSB){^q7nbI7&z&W|2@lhB{SQ`u@--yi#c+3 z?tLyIPP;dxsk_7)QcwQ75cyg5ta&fH!8_r_A3 zwU&CPH%ZQm-V9Li4QxF8I}HXb(Z8M=>?QyI=LRt9jd!oOZ)^te;d$JhEzfu_ZTuN& za+nn<_J?E;aS5lL$YQsj3WO16MM7%i_bg87FH~{i<+45(u@Pm9x%%?Q1HCwuSGYqb z@b=+G_A2zEyrvv&#+2~nISTkwR94@Kv)+zL#2-DBmwy$1HsQT^4_HatY>9ZW&3efE z$y{3T$CIH@l(H|*7Z3ymGcRcxPx^a{LQ}D>rSgAyNu!NqMy;5UlF}r!<{G#1ME0sz zy-lu+v@{G^lJ!Zs{G=6^=#~v!1UR^SRrx0>P!R+;#zmOMyRD<82~@);h~Z9%P7{m|N8AcD-~H8mv~_e z1x*v3%z zBOhfnP^T%7UZ9|7G(dm}#Wnu5Od<8I(2p&4fK@VdoB3A*&B z`gb{B+Wtc=uS940G?<0I;7JOe@Tv;(DLjqZhjo)yx zHZ_Gv8ofywnMoS7YYsXN+<9U{v}*MI#i9}^ff`S;;X21@;pxEBS0-g>hXo4|?#tn8 z`L55h{xHjk*4v#TQil6eJR3!HqfPw*8j^H?=6E6D8zLqrip|KoB+Xt**Up^9GOdLf zZ!6mLT%h#CtO!wFvx4csayirvCkk*IkO0u9b+Oy#?63e&mnCDqg)zeXPae?$j@`U@ zj`QI!5yu@W>;yyqB)z)jPKD9{Pw=pgs0QIa&(-cBP{j*b%tFtfne?q6f8_k@UW1ni;H9+=RXbM?5Zm1&z~_7U_@`#x8rsK zOlcVzk+LT4LRW0T-U(mR$A|yw>dM2z!>}H5GpTe2xCbw`C0QdsQhWOMg(s4=4Jr4( zI6)D>kGYKs$B{P$CI*Qc%>X}Xt*5u3*C31jTvdx#FkioX>PVsCKlxu13JMAaA>mVd zuC4|%nq+AOwLB8^Z~q+qZBvS3b)rXtH2>6i^MpRU%uu^Tnq%@I0iVQTe~4KL&d?uW z_Z*uRD^PwAx8nzazY>)uTWEv_J;O&Pp}ysd1+#1qta#%o+6Zo@(7hHG%GU;p-Twr_ zbV2(R$gpg4q!QAgHc@2G;^1iV*Ss&Jy#z?7R062wCE|sx!x}3{lmT_i3oiEsG~8CK zH9ef)La+44i?|zE2n{STp?@1xICX#roObc|&V-a_*|5I+yJ2v1>`uO2aJ+y}hk#EN zX35o)ee5(V=5y5*C)p5!1GNeda0PF_6U!}K^_~XJ8WEV(Y$l<&@!Py<@*xztW|^xa11z#H`9h@4g;5gLSh$rH}*DBLF!7slUO@F@8sD5Nk7YUu| zpQ%q8dI~)WFyd9l6^kb1wk(qP-L*azYz%#!89utOE^c-^QQXow%qIp`Z6r1J25P*l ze|=Ii=}HfDb~1Yl1Iz&e;zMR0KU{yBfOU(IbvBwpsMkdPrUy1bfO3UuzE_sV&O4?- zcgcUAAOKcc{OC*}L`IhTGr7CC^=1pX+4}?x^e9+M@c(K5%W>2So6Z2rUB`Gru~%?H z#KdTN;zLu_d#wV0nH`j6Yl_* zRdQxp{1n|BpmxFM5T)lrVcI%20BhIHD*20W)Sf}1)J;&!x2_y6{N&^U$W;Wv?fWtA zBKy*hb&lJiBAC&+GcBlO*y92=*Tiq2gK z7*=x%i3GUuFdPr;BJF6qmU#_V8#^|MHeoq4=Dd_aIa}P$&DEQ$Z=G&X$6=tHZ8^F4 zuV3Yv;R|0-l@myZhO<{L7i9^4&Xm0t$7NJ!YMQ7|l(b~d$rEsmrGS}V*uc_xt+YZE zkd(rYWd@Ifss@!HkaZU)+s{B2X;iJfWQkfk^O>|f!ZR+q6zIM>bMv-aoSquvc==-8 zz5Ftl*(eEb^YzhB6tZC#^y(>uxgA}N`=)PG)yu74@vZ$j5VI(ZGsR;G3Zg+H{8S-d zZ~dT(jrf1&V_x1|Gz$F`5+d8bSS;}|hWf;5BT63TuZWn)pD@nx3CROruB7-O?4o~+ z0S$fwITf`@G~R9)+&HI(u)P&QP3);C2|??aSuP?$wkfT>D@F0d0vL#PB;DX7Tg1PO z)sLLsrp(#%g)Z5iVap_8B0kcYbnZiphtk}ol@KBC6Q1*y_Fiz-DE?Qq6e3&>=HAJ$Za%8FlqSQOi%CY|5)S_?-oJh0^p74pXin;_C!{y^9PM^l#)!frhVk zS&DY=lS<|+K}0GUCH6!q_4Sj+%^@tIkgN6+MeKd#sGG&&WHm5>)v^`3!_&T!tW0@L`B?fQ68(dQs}PEsIcI6BWjVwh%US8X*& zU+yj?t!a^4$*y(W_$*P)j&#Cy2f@>EO85N%)i!PjFVj_W6pprpFzUT9t2ZgFk3XTTeZ%wHjN110CP2 zDOt9c+tT5$KgWa=imdgHGjN0q(-hbpEN^dsObGmvo98**(}=m{LhtI%$8N7KC?!R` zjO||BVRuFVA>hu*FrGN#F)9qV-VCvv7N_eoV}e17FY)w=UU@Az&LNH_@SO?vt!@m_;sxMU4%MDAHpJ*T?f_v0*%AWfUsblY}}?ed;;I2Kf7iMavZnrgd! zWSM=TEKvl%R%3}WW$xz}_YVzR{m)5O)Tdnz)^yF?81(C7)3tt9&Bga|7t2^`)&=ma z2w(+5Q&Q!x^C6%WVqefdiwOZ?0a1ha*>J&mxt654-JLlg* z-1kw7OJI(=!VgP@I^j-EgBTw3QbUFmVt|!_n}mIjiK73ZkxZa48WU#N>4#gaw9H7T zhXX!vue_;u#&_(h7%!BBr)0w+KP(khiJ>)Qg^9O-_DH}SPt;XsAgE1w!{EbPM{bUt}1@Lr^VMx7mRlZMCkt3QzC1O&oKpUBfO~otv^@e$@9)|KRE}qx!RH?w&93F zeM0(+m5iOx8+KKZ4{_pQAuP!gl)gT<#W6xDfV;0%Q;?$CR!R`V{tGLdg4m)!BgA$3 zo6FN>;cuGR*>L|4$^d#5<&D=+!!@sMXWP70B@+YW%~-(Gp-#CwDCs?M_a$h+3}nb? z0EfuUi)mv!*!aQz{w$;6zU%AK6E{oBhEabb(Bm73R=?72Nhj?h8&h!01;SXq=Ioe= zv43IxM!H9f3egcMoWA4w znV=tOF)DNMsXkSQ6V=`ja;qzt14wW3z0HgmmLmw~>vdpGZ&jqYH{S)RKLU3v1iQ$H zyu^a>E}HPDSb!@crtK5Xv|b-RUKFLG_9M zeC55ni8i`EyQn~Fp^6~i0{fRa%1`T;96qk_szL3W1 z<0in-2+1`fE=Hd1FvXxE&GnfFE2*o`WJ@G&HhtyCXoUOdEjuUEChfe?0AOj~!uJRk zOQmPn@g|I>LU#V>w!Xs6jW8ag@ej*H#g(ZsaSLg!n`Zflg?*}=;2kTMpx5;!zVm0^ z72P&-0q_0xI;X&xfkxt|r7Rtcl*VY>>YCl>pI?*=jJFdn_rgC5BrBEtYBS>@)(}eB z3`o)Y?R>S}&BP)5Ls_up-)vHcETungY`fdigLHT?hT0x>e>3Lc4084P)EC%l-~uG- zVBKM83q8Fskd@S;*4E}l>$xSG&fFVfd*TGFr^|ReQm~M^p84;vbe&hUy@7iBD`Slh zCtc=OF~@tXO-#4fG3l&)_V@R9&q0!-TDGpIl4c-?DQ z8K=X?{IB=yH)K!nR`?IIVmKogS!i>vyDYb#lB|%6x)eDsqOUHl z>41V&jijTKsK+Z-U5oIxCw7(#&aLdfY?<3V5#{B1FJ8sCeDB2=fhRNO(^IYNzn7Jh z5$-|A8jZk;NxjbeW!t#uBw+vk88t0WdNVrif2c1SKUEO2i8p9vwigupF0%C72-8)|O1wbR1`uPX_!#r2^SP$PHAk)@Bf=O?Z zPVhbU`k)leQ8~Ng6B5)W+&t%C+l{l;^*S5VoM*xD_v*HG_O!Ne_WScRft$0fFxHWu z6Dt{_7h{KpmOO~FHg150i)-~IAxZ6zQHBgC5@3FSiHq@3U6F}!dlD_^%=+mYjgwJJ zatDw1Rbz1Le9$d!$NI?CYQFLA^wNz|Tts=>sSAyDJv&WAe72fWscMsC7PbC@sByUi0tYSlODzf-^H2OQi>kr+?h-(ezOf2LB1EXw4Jr zag8Rcoeumos@LuV2j9xe`FC@=(Le!s0~Aj6jpt!HoLgH+Xf-;jEd2!I`S?7Ex%A6e z$$C+KRljq^=VxYoI)bG606*`!^D&c%+Qb;;lLVt*u=SFd>b1Qmgp&WXv3rYd3oGt)%{wD`KU16?>5?$R?W?v(ct zJS!Fy>W6i@L}v#|!KG=PkCV06M;lH(FRmQYmz9@O03pGZ#`T_|idauXO3P+tR6tU3 zIoBB?27b}dEv%k&{@T#HNzspDnwU<&Z|l;|LgI2%_AX%W3gE2FQiZj3+GLXHHzrQ? zWjTx!h1UGImWP+Kz<}B`l|s>)oVPORO10bA;*7?_Urp{uqkz+>-ficHud^HcPghP7 zkIe1QBf1KBR@f*uXTjCZCx>E5G?+vgvTF60Rt5qFyv-O7tBL_YWL927t~3+Uf^{Pn z-ASH@Ev4Nt(e!e@=!IQ18gYOtEcbe7l5t$GK^S$=aS=vIQ^E(5xLTBPD`wZ79fcy+ zI9fuc86hd6*sQ=W>{-#*8>i)pom=9!e2KbBtojrr*PGI4gLKpo##T(@tId$F5d63y ze~>?GR?L?K)5s;M!hLIsADe82o%1{zj?AQ-Wf^{OR^`tF3DAT^t^=g49HE? zf!5BfV}QVVGqz>cE^(EkWBF|D0~7fs-+SyJlx^+Z<2>KCew7D7%K~Lj%`u&=w6r* z(+<`BjG=UI!S@$J!ilG%x9{Fo{+~h8)QDIPrp{P#3>sQx(t235Mk^`~qb$QcpZGw{ z7W6^qG(q!D*Mcf;M*DIt4xTZo%rWNlpXG8e&lL@Dww(1 zrt~>H%W32q94y!>d?KY6@eP6=B$nvUQ>J6gx|1IIc*Zgu44_#ACsKQPABBwooG zx&K|}l^9f7D>PPia~BSWtA7jQ-H8U9`(?dzIknvL-Q^vOn(I@SjFp%pD|5}?ZNHFQ4m7#CBMC2m17HSAhbvC~ zmN!Uf%n*3*VaF8RXPIi(>{san*9AUaC01L>q#@qm>TVDJGJ@h$W7_3b9^*Z=L#v($ zab|i`@QdoO&Os%kPDhV&qVADX>&*kReVMR$=+$_*DJyd$GvuN&%v?p}zphGtE~Upe zhk)b2e&{OV$o}gZ=!@N&h-Zafz!84E^^^=IoNa`r`kKCmUC!H=v-aZh$OL6SPL<;3 zl$}I`+TJF7slKKNrZ%k)GJu_0UqMEc^B*diNVxF=-lU!p&0+?hhPX?-X?j6nCF9Sy zM$PaDpHn@2ua~dJAe*G~=iB3eU{z|(boZxjfA{MZN9Lnpa#Cw2Gi*Ll7x?b4#`k=x z>sOYQqmJJ#x#Ka>Q@;okH#SHa2zD>7xgM$vi+x2?&_pmX>7J%hQgCtFN_^QQR6xHZB93RM@f`Wa!?8tTZD^_2(5lT_n( z{ZGuSgM{RLxWY3iSu%BHai8>p%4aGiQFyS1IXc9mw`r(^mDD|`1_bnLj4no%c;q$k zmE64{;9A7RNY9ae|K@0UKg6|4@BGBVD%JV*Q*95{k8^X88PR8`g$a@LtaQvGU()`g zml(sU!dXSl^AaNCU`HV^cn}u@s~B38b|7S|uMZ_P9)a)6u()!&NVMI^fgUF!)Q1QN(g^`=}u_U=uP#Q#hSV-d%qOH=VEk+V}lXYLOu)*omP9jm@v=%m!SL1hP10O`u542KMAG9;^uaY+-ej z%I71LR}G%6^}vUu)F4lq@FtaCa7v=mUv2s!Ba<7dMv@J41i(3GhWSvK-rH*x2Z;f; z8bZ{X!Zr_?tcR#%#6iQaIGibvGHlTd2&lJ+p#~ff9u_@ATNS#P_K>=4hW(1 z`JndhWFpp78Ug}o-%9W>%-HFKKbv}B#G$&r|D|1W(4F`N4=5>C%gNjikaFqTB7O^?~p3^C5#0W#s%0J5s?ttHa2q2TAray9%EKk-K5VEY9?I$OC9n?gcYj%PEhd> z1QuM?JhQookuq%_C#ac5y|K67?;ag_yF{XVfw>PJt2E7NnV&5 zJpHZhtspMcz9*BB1)6hU#`Lz2=&AP~b#Ela?LXUJ?SrE$3b!PDjp4{D(lC|x$_gQg zUM2(2Rs*x!JyCT#!bp%3Fvy7pfG%pJB;}s95hd9a1aa8Twms{IGaoMk3htb0Q8n+d z&TA2Z(y~JJm-`TAoQ2!ljkU8}7*zSQKKJDBd)F;oLMHT?e+lDlgrDH%9ll;wB`a;VkM2()NZHxaNH0i)ayTb0Zan?7 zK4S3k)O+ll*JVl~F1taChH{IQB(w5%ybul-IX32vi3ay`t2+UuHt*;e&h|KleFMG! zJt+6SM<#b|JWV8w8(mrr*XIzZ!!R*1WUlV(NFlB%8@;TCQ#yz;;_V6RbHF#FmR}%m zh+qsvSKIQxqX=de9$5Og(S$%zu6XXl9Eog85l^;$-x;Ox?C)=!Lb*pv&DyC@1uSoE z${J9}2e*ax7Y1=Ibmb$VxZ7qGTqHsi{3e}r0MXHJ%p{k)Hra=ShCc8L8T=Dwek6$z zZfA&cUj3L}ftGFC!rV46(G#z&{T5#m^nBmb$0TcjNavX-`mXuzHvy*~z;xNlU4K)y z$L$g6!n*ng(9=rLT^ludLCSq<%-jM)qiXDAavW$%Bc3g=(?y1?=?1^z{zw&88mc+W z&hL9c(z=m1PL`EnF(dq^Xsa`^1-_QPyF22Ijda(;I;2$fH6G-or#f+@v+e9?4u~7& z2jFdA)_$aY_|6EfzA}xU*;;SK$sTue_gNo-%%@D)#0lV@uSA*vOBgZs0T$Gwve*oejg)iTf9;~^QhPQ%!O z756>;(0r&3kLX7WM+NdD;^+nb#@j=mxW;DvuL;SX|0oo`fdrpbK)WNII$Yix0bSNA z>}m^1eAu&V^i%0^e7!>j=$UnQ^?rW(bTBH?+4FxOdLP0vXgtHtj@c6%*{*Kz!5}jg zFvr1B+bLMiq0nqFttwm56<=TfURi`Q}Mr3KfS z0Jl8V`Be)@%!-dQ#n&V;-NCe^!*83=el}g`tFY`fC_eIlOw~0X?;q_Sj2~&e-GiP+ zS@`^Ua$Lo>>?)_Ge2j+`;W3Jt%_uUqcHe9Ot13q@iQDYiS+*JBK|JZ|iscgM8E@$4GY^g>e{)MbOM1T;&Cx$x<^5lAgK zx@N+}Qxe-_S+f9>$dHa6hOFnwzZez==Tg)jC^@5A*e*5HO3JbX93|6>(rJQh1ze*J zMhJEtqoZvpZ6i0bseBL<;7!efW`So9iWIxAFp(rdCi?M1$9F{?iQZ|Bh(C}CaA_%rzZ}J%u5?J-*9|5b9SUBQ< zOCtVYj(Hrx2%sV;CPM>*HWu@0@wi(VJ z3jE^U>qrzowc(PGNe|lubU6^lW2n!rUQFr+XdzhzFKF2S%;d61T?%1UY^}CXWpvu% ztn`XELfY8Z5|NJCCoOdCLZjK&+W$Z&%twJ4A~BF6*ioRX?|%2XH?BDRtWu!jpbQcF z1N2ChqnW+?yLRbnVPUARPee_v)A{_vKE}f1OhKo_gl}|uF8JOD*In3Q$xK?jewYNE z4VdiAq1mbn9-${72vpC6YR7YrC&^)d^ufs%@v}uTT@IlO4EXE=d(%9OcLNOjGKj(e z{*xWYXrb32iC7ehdp?WK6j-Cxs@oXa0co;MJkN~IwGOJlVlNw4(1Z2pD5FMMPfrg_ zyu0)8qRD5}e{_S1W)gTvoo!(a27lwll~mcC96k&IJ-*wn8U(T8NG2=M)vw8F#>)Zn zcfT|DTrDQN*7gPkX!s5{L5X%A2)-Xi&8RSD{hMFx(Wc04dv(_9GFRr&VM-RC3Z}@x zL=C2N_+nAQ1oeJ6TEu`N7VS3j^u561pq`aqL7A!gmz~Lw#$Xq^m9TbBM}js1QA;CV zwsXC}Ni ztX%|dxAettr6e00g|+Op6{taB(mZduELMC&`;SG=zevFO(EFd-fHBT?WRl>wL|=#! zxgWby0sHTP3g30t3hNXxM-EaRXN)A23a9stPmGDbfH*USvii9NHd?b+0Qw>4~`b8#3%^2%k6fytXU{+NF0@!zmGrE>QmFCrTlyw594*bYl+S)kVkPp*P18v*Wv!=`Tb}6yu_}cp$ ztwOQ7clo=itKgaOW(O!NA@u$YHV+qX1=lX98rrzZ3t%G5%DjJ8n;KpmY~1j539Jat zX9)yX-(K*c4XZ`b?M{9-XY5gz*M~hWb z9p{gt`%0Y?D_WG}{AqdSK?CsllUB5q0u??(jA1dqew>&C2b5qE+!Y@MYH2d;G)Z?3@>SnD!a68RIXvL#$-3 z9cwr&Z(Vw*Ib?T+ce+Nu2BHjlbcy`1Xj0y(HU9N-QjoHNEWJw9pQ4Pfu5X?ZUH68> z$kx-eWVlUQe8mf2%U#tfvV%`ZDIz6Y!}KAjAnoA14O^p40GS6M=2%*P%;6`9=qP=)Y97(0_wSOW4D;`G1>JcuGF+S z@Xd5>1x%7^JfV0S6V2gEQKda@yKv0Q>u0BKf_*cP{`J&9#zmEj8fyPIwPME&9|M7u zIV1+0GT?e4tbzf_tCO^1;i&}1KwEnld;kK>F$gruzHd0-q3$ z9#qjTtMqYtNBgorXeGne2*@fAD?W|{n32+_Kbbv6Vy)*mJ*U!=1bQYD7CjBs>YDv8 z7J%2@*=^5lV7yTj?ftQHKkK03{WMr!ctxtjJDL!d@OAS+=Q^&pS9~z$3IcRYMp(~G zXUR00nh}<3qU7`8{>if@UF({lo|)Q`bn1h3w-}&`L=pC_)d$nQ=hm089BtvR@fg#` zJ$ZCL*Q8Nr`gdIKw9F-0eJ{G+z?Q80tPeDu9m7l~-(*8lI{rRyd@~ImWeM|G`asK1q0v>e}|m;kE;G37S{)D?t+&)5zt zjk<1Iphk~~5f_>`d@|8^Z%ce8zRcZ;tGPUegG=ky}bet>ZJF5%0Z!?R~lZ_f}D2-ldM%#qnpVN;s zj2%8y6qtQHc$ey)1zZFNrM*`vFwa4p7C^SVy%zD$FOUA}eZxF(-vG?RhcaZRyU9+BE_mA-5 z0(yZ<6Sn&6NZX&pjgRNpYG?KCI$yZfg6=ipu*}}?J3soo1((!Puq}hu7V?9B6`mRL z1>c?b?it7`R?4~8FMB8Id|Yub9%bCTv3)qBeH^s{w+Q#%XM)pONS&VPV0N18;vyubXI1`1Rh-H@U-Ct#sIR7pW z-?ciM1%APfdOs21d}Z8vS@_5zhta9`FoT^)mm+zM+e*!HJVW( zURyw6f5Q2GT_~CO{_;^C%s-vg`;1Gb*BK+d=E~a^>3etdq2wOOHh$GK^6$fz*ZDW- z{^NG#{gSRLW++8^Nz4c=pGf&-pk8#O*?VOG8 zMHfA@7C&=Jx64d3V{c7?)E!3c@Eb^9)h`0~_ZXv10SQ*5vhf4Hx4gCyx>nX~ue-JW z3At!*2Sl#;TTp&9Mc+&08lhwk2UXsboyXMiIQkt9>jos#3ygDcKBrN$Z>c5_lvU-u zUh9C|6-*}+9FAR~CE2J?+Q~sy*O`>M^PBY$(sM$_+rCTteRdY>5(qTf0^e zoHp5yL8e6M3o6bf#;>(9SaW@b!Yu4HEyVxN3%621cm4NpQg6vJtm4(wg+t5;7}{cD zk+{vQToVX*WjutsrRvUs09}6i0$bXzG}W06_O%6}Z*1jF_tQ8^ETegRaa>Wx`)5~_ zUG#}AI$0UY#Gu_-uC&v`Nuz<>PMx{n6JM%s=w&L}teXQm6bY?P1!=wr2qKT;*^pv! zk%bw+lAkYsvw3Vth#)DHGuBVISr2~SD&*j6S3K2;!EP&2)QR`x!{8TWj}nZ(XG5q= z#dD=)DLZ6V&#T1QI(GEB!PzO96tVRLuv|XGv8OhX6t*F(Fx0ty^pm%8mG(|;83fb= zF^RB{(kMch8<8`qeQGc_OkKwz5Ns+%rM~-P zcpf@XMFuhxvt>z(vI`U!nZ?Z3;+qyje1qJWFsv3Z;;ST1)#_5z_?#; ziPpt_Wn{3eEVI;$YWKdOa>LtyKWLG zVoXAjTDTD~pgx+gyuqs#huYRPv?4SQ*p%#`m$zCp`neggKh=v^v?Xt1KrQ1DQhN8~ z;P09}$YbkK9rRrvs$^8X%Uy2hH%imu!qSoX(LK$YH)4lyBaq~nLSS9q>45W>?L-~k zZ|lJnKgb7qNFbp}Ab8eiid(E8_~}nU;>9M6SImQZ0ZpZ9B)YzvxaWbotcm z+|_?R(eQNr@Ws^GacJ?K^W6}nicESiAKScgZ#-qsyL4m@Ye^>%y zrq2KCYAgT8f9B?q+M<6Sf(w86X%`)k!aWJC?)@uL*9e&_i{|kymWRfp(GWr6F0}D1 z*j(7VcGhFwulngMleq(=H=J%0LMryA1A${&(hGl-Rgrw?ioJ4WaZgrhLCvwW-ku4p z&P@H{o>&rx8L)zMOiJ-AORN&&<>bNE@nk%_AKv2lHkco{ll2PRAhu}-3I2J`wL!OO z@_2CF2NvDjbuP`_&gwUW1?F#hMawZLfhvz4&j6V>r$vh{uYHgg8#oo)LUDD-&_^qz zXSMbc+7fCTqep*|u%hy``&A>wbuod?8)#& z8;~(bi9;Jh{Z!GiT}w$51N#pzP^fN&7Vljb8uWtV&)@|f2BzV!S)vv(&)Wz}A^%jzR47l{2pPyy*e*XQwr3Vb+%8HWtF zzv@=(Juod;?4)+}e0j&qWj#cUdUHP<#oWQLwX7B6p~+|pWFp9or#L3nj5Njq%>7`H z;L17J)#c~xGhQ=Bf>*o67SA=Sz;UWl*B#p9n7Z>p#37_AlP+m+o`Mf|_D z^`a(6h0(It}NUoo^p?vJ95wkCqm^vUx8_Mdtr%-)Lhz5KVv`#D%D=yz==@k!p+w;^{d2=eP3- zxt&iXgONd+!l_VHRTZPf6h40<|MPDY6)R->mm<-LE%^1RuJMA+ljibTQy9l}S}4=u zfea$DbJmG`HB4M*M0g$noZOrqu&ox^=M2%CqxJ2UF`-(idTsn*W9NVvkEz(w#-OTu`M51_J~0tw|PClQ=QqAUZS?M)ZRQht#u29WH3oVffGm z9SLUJy$N)*F!wrm;hvnGEvKuidrBkYE!W5T$FcM40go?o#@6K$+xk#E6}cjmA95!8fs zHMihIl)wWul_KDTzvA4|NRNV{LlxoP_I7QDVKbQ*a2Gp#7otAEm7BYog0UefH<aoVpl;2Ur*&~72S$f*wIG~W@;yHh3pS?a5h?kety0r{GmMRvruOKh$R0VRgt(Nz@l!R*$bm}JN#0-d+HRy` zDAED#`HA7VfkAuKVCG=x#PWWJ?Iw-7&mjS?G=GrcC`G9*kL4TFU6nqu(5>Zve(~g>^4<_oSbLlc?HR*R3b0*e0Ci(xo#?20Y@O?k7r$ww6aKDl&D^gQf(YECSkVHE zkXHdt81qLm3B1n;>lhFSyI+voSQee#kGX=gf`l-#l~w=yoI#0r_Xrrv5mH+{>B*XL z!}{|%F^Z|bRpZNB123kpn$qL=@2=I|rt4}G+T)~m6Xqu&*TxC_E*-CC z8SQ4|*+&EAAA<=z>%<_DwkhbZa2di*6oI}g8 z22A!TuTM)lQudf$ZOC#c+uG0oK&dUwZ*7Qp@U(B2zTafLe#qOAP&b7!uea5}H7m-Z%xJUrrk3X7s z{WE(!zOH~fFfL2Lpw}T&4qNJc-brleH08k4sj-(ic8aAIPpczpHkaT?)P)k+9p0={ z@Nj@|I6FHPu-R?18{>hS8KBTSZhHf(wTK_w@oAg_o?F}iq6 z!O8|tXM;$+kySrlRydA*<^t;CQSW7DxQ&c>Omh<63D}PxQ31V}nSCDL+nHqjl^k|tP);+_(P2^(N>Ik%=n>TW#a~H0ew$+K|4c$53)`RVGLu)?+$BEU;ICONcUVA zgf^6&MkL{tJ2x+2jF9?n0}(nj7xTxzzaQ1zn6)S5l_!L7Qfe83>}H5UoHV&y5fJgN zi|3twr0w=9Zt%{_Of!h6Um(H0;yLh(J3s5;U>&(MIl*kk;d<`g_%}E&hV%O{oUBU1 zVZpR#N1<}Y}pVhq$G#YnGSlGvN-*k1VmQF z8e^;ejk3A|ND<|zalX-FX>RoZ@#{>C3C3LnITQ`Wl(x}sw4e+xfxelocx|EqmV!Fv zh=x;0YGtVD<57icCs)c#G+JJ>ngzn77xCU z*m~zCoG%+;gPDptA3)a}PONZmf+*C+L=}$wYa{j>Czi@ZQH>imj6{PY?1S0Ll~!Oq z30Ta$oW&}IUY>k7q+lrD6nXbRQVn(G;@G)cwsu_|T6cRw@wc&2OuroedzCvgj>Z@D z$x4^xyo=*&=CFZ*sM_$Uoxyjet}_RSk5weM1=Zzw+1Daicv|U}_eb{8k*4~iBcOrT zlFY|>c1CykcMcCynZ{66T9|U-CkWlHXRsiV??jHUnM)k9<9ZGW|FDOfBzKOu3HK=vUGW>T~OQ;~$m*;#6iZo?p0d z8b+uaT2u`+y zkQyUhahIGNhHG12t2{8HS4Z5rjhy9oSL&%3h&|(9KY@sye$IdAvwAfq61jDFx*xSm zYg)3^Z5f>^6_Ai>_pY~8k(%?59=mU$*9cg4OA{}YIOpc+|F81)1DXY<-|W;N{WZ}2 z?U}NBWLmxXJMr`dyp50F>s|u$bOt}vPv3vjyFoj9aCz|5xb=n zxy>)wGR6?_rn<*g>6V+OLr*=DLcg+`vg0|Ntnr#M|7aY-X+~T^5((03%gIvR))gKR z4@+7W;VsL`VP*bv{jqyInf@Vv`>1wB zVV46g+#h`3so4<98Xk_aZ}8*Fqf@`{lQ#*zdoqc2d+clN^`O%!B zF=aYhh!E=}SaVK&zKNP1PnzWvT5Q`Z4Y(Y^?^xy`$Fu9|sUG{L;n)?Cwj}hzx4zm` z8^7|Eb{;on-v#bSL1_jk+N;y{J$3m@PoC9)&Fx$f%l>_Op3(EESBhe`X!$;sLvzgK z0pz*wOSep@x9THYtYOs!x~PvUEc;j~85S&~riO7Gw^5_T3_;#-P&%ol)S}(dR1O>8 zR4IG$*7VjfiShe|9B;j2X!t2f4l{rDWqY2hqa7`y!mzcR3yrumoTz~Vj%_Vt@3Cy* zfzUwm=M9TQ$R@pDQVnPRle4r8>>wnZT@zFTlfv&#r|`VGkT6CLu8HiSk`RB0_baBJ zb(i01iXw8nb`UEsZ|+<_uXcM6T_btYW`%qqBT#cCgl`C>Nj7^+u^(NITDc=p!!yk7 z3*W=obKuss>jXx_y|9t=uGxpLcCMSsR$L3?D_n64YBb8X{ld+F0+J!~>7tTeyl(gR z3qY?H&nG0?<(j?aMc8@<)=3Br=#EOU60VV(VbYQ&#z-!qn+LXt$uY6UEcWh8BZ>QZ z_oD2xql2P2rh{AVquV}Vzla}3NxGNqnECwK+%z3aXY~!z5^E48_rkveanU>}Hw_BARp4C4D)o$fhiX9OiQH{^CX!X}%GU4`bAg8Ib@K9ILo zyuNRA$UA&)X!2y{NjWY*#m4?H%FxUYh?2Z5bA{lc2(edcyy z<@F4y*-XIZy;k`8H7Zxbd#a`k6^8E_>9TVRRlar@SGDJg535Y;ts5K0`(J`CDZiCt zg?NwUE?3-aXRB#8TMc}O^Y~5XfcB05+oCl_tzss69I^c4WC>?S~6* z;&j!+pjzL!Ug+D=CVCz|#Rl6mTP-FS-L5w`0!xi=uGPnX{fBB&7i?+J*hi)nDFrDB z`Mg)U%fOrEcJo*^l`JKxYw|3Z?_o}2y+&B3ceeQFc=I!*nkbx%no1BvYY;-d2;Mc_ z&jRbir-qmbh0KCX3d>Az%)OYaQ9uOs#wU#13 zC{6K!BRi(neDOi$+fnA-ngrFv%%J#$PCbO>An|Vx`rnI}RP6fwj+~w)4uNas1x)~X z?|J8>%9x=<3XAG5#>o9<}CsHgENQU1W+scMyYxK@M6prrtC^1iF1+DhF2yc^M*Mh@Jy^%sACF<`3;c zL0H*el?hBsE1X`|^d+WAn;Z!6hEZ$bn3?Ejfd>kkX8eLk^|r+xcdRzbU5aWGE8vNJzhE@Eh-#-FbEY#(R7Yxq;cQummc?`m8S5d-~lcP!fh8Y>iS;12$n>hO&YhhKH9jC{@Z#P`DdE_BMPDs1sl zs3+$+h9}^9QRdzaTxNfA+IhBGma8_uw^#Zzb-$OVchGi}j;=3}h~iQ&7Eh2%rV4d) zFY9hiYi_EkUzEVc(99w))y-DpTg#!lyWmZJfzGUYLsw9$Xk%y&1upl`?D3iUWgedj z_(jbDd(??8-#f~p`NFWkDE%%yp_ly`aS51xD)-BtnLQw*gH9tbxE>55vQ)A5|Ke;U z2*V7V%xX75P)&2NSWoy!RA!a6Wc>nB+p*bUh^7AsOTOp8lD>E0Xgd0%mW>?_tLPV1#pi zhOu5P6}98X4xgYr?$`b) z>fz^ebFhn@#UulUvWJYD%IVO{wxA52N;jKRU{z@k>xRzy_4sb;);%$1aD7R@^$_Zl zZ%+v7#I@#i#S4^6JBc-GYc;$iu~f|8398cr|CaN9z_CbG@@5C7J?I-!dvk~`@85gJUBMZYi$c~^xM@Q6AZ z??Hq|bs0E}+0Z^LUb*f>T|_1tpCjV35uMYJ5I~85aGu?fM7r$E&FQ%zi1X zV@J)Ma?aj4OnMz8nmZKfQ+c~-lg;0o&It$jb?9|l!9TCVWNIfTTP;hPmz@ZQ@2CvB07Ir~l6F?b#Kj6i)m5x3TiR%0RDhff4@C>^FqS`VD5 z-xh3zaX`Myg3do&2;+#OlZ~csZLD`xm4o5jjwFde-e>@zeo^ZS&#j|Z;A#9TdSz-! z3__wOqR{`x0<7LNY#Y&MKvM8-p`s6;U{tRPWS8sowqm+jc~d_&U8OHybN=ZUvUKTa ze;ADDFK)~`2WMZA@O{sh72PX^#N%I9`YiuQ8v*@&c=hb`# zPaU`1Z-PM=la7JDKAi5~btEQ^z{DKtfD*I%oAnO$RGcpkc!8YJ+8&$v5%GMKp3aVO zyT=1+!uq(>^KU)hz9BA~B`0PN5wbL5Cd9*fMqmaTemrTuZGn*4yVJ+$jivi`0u%Aa zN;BM6%uQ=<=iRM7uITIeC#KgsEKft}Y3vw}yF9m7!21K^`Z(5&MpAL^`~T- zdjFzy`)Tc{(Bu|kKB306qDEZih;(Fer*j}@c3Ej+dQof>x^xUO>xQe-@1+)}ZD*4r zug>ZG%Kf8N;iKA58}yql5+Y9F(l}sNIA+HKOThH@MgXK=pOpU{-Xb~VfM-pFvJ%*F zZ`spnDR$`P7us$=)CA#<{N0S+8q54+_Uv`-n-J|M*f!pW2~4$RsEV;SYQwGoXk$vm z*PDQ{FIth4=;RBoXoA)?wFR`|p|45>gAsU_{>0+knho=NA+dM)h4!o?F~TpJALqS| zz-_(o=BjXR1Az%6&0vw&`0;lT<^iM2l+$K&3%Ii z5&`K~br`Vxn9;4ZB8-w4nVOLcN6|Nh;$pnz~vNZl%h*7m*`@iMuwA^mNnAf>7Y{ z#m*(N`ZDjD7A53*d;$#x1dWU~yYET=_ zR3Y4Bz)keEjo(RRwsZmqpx2;^cr(LC{eUI{uj`F~qN^Pw$(c{_q z4kwGq=Z3QH=@-X`ev4qf`>wXDA1}~$QE*kuYDp8L{g`-0S0KUvO`lYCh2jKGkik41 zRv#-;^-}Z4)TBkjk4lE9fz+y2p4_Qs;$e;3#1>0)_%OMnzw7p8Q6Beo#*(}>`14NGdke%oy?Lcjj}EJ1nUU9;^}2591nlmC1C2mQvzzbjWOaW~_z<5U?sNvMRrW%$kFi}(E2YM_Ui$)_dpGn7;_h! zNi{Jzpgt`|)Q%I+H*O`0(4MQuZhNMi&N`i+KC0u)1|2QTjpv)+z9IVK=BI#N>H2+7 z7s|uxsmdUI;50J2D>a)~fxUxb<#`F(4)=2HxAN;Y*}7Z7z73~kp2&_wTAYB-Bw$kq zJRTF!{b#$_juKgjj0KExQ87@QxU*r!Gp&nrrmQD!rczwDd-$ zO*$C$p3i9+i1+D5UI)sv69;_{73qxUC^|XZx_#Y`U(>=G4zveu)h>6;f@ns)c)|qzzdq(1vC|f4fupW z019j+kg6SH`}4rOr!Z*eS%ZI?zIUL(@<}rtV;Y(56WSk4tl0MlV3^-^1)+BkSC~q? zuRe&sJU!LDWX{3YKyMIPIS=6{-K8LI!uU1@$^ho(2>JPEJma6`nyT2p}MH(gM_d zY^yQ6(~SigI*lnaz=1@y1@f{2B?wr6JH^u(@?TZHL69T?;ms^8Fc89~vZJN=_y?1u zZj#!yZlYS{>8@uMxr4a#ghZ#~4ao*dPNs98leIrGS(F7;L1?Hq!;Vc{;T}XOEBAxQ zj|PA))7v6Tx1^K>qZlGae3|Qk7EC+oJ9h6wks0>E^=S7yW8O;{>Hec7&I2NXojq^J8O? zh)|?$FhNb)7)3ZyI;_IlT1TS8YITwNpc#?+;7F$$=ZYdaMKpkvWqWub{GhM98~tR! z8+Q}2V~I&p2&wP>>syrv`A=yNYF+Kv3k*`hHH~@`vtvc1bVhem{%GQvq(jQ0YKGL3 zL8c$so1d@reS)LKs?o@-aVyf;Alx_)oz0lH{HQ%58XuaHP&3|zjDz7o@)=u@iA;?y z>>xCS-CG=>_Ywk8;QoDk*10q>mLv7-vYl{!EX>aLh{_%NNNXqTU$oTxKm*C(i<=`uvY!mnWvW^ zd%yQApQF~BcAQU!6$`lQiubbnH=IdQgpc3`4Xd$e!61FhX>N@sHPBGW{UnHYS<@PQW_@%h!^jxW`Dlj=;(fDXa!9T9 znxSoaVeibERQMFz`hsnIVb zt|pv1Ww5qV&?V~g_1X$RkGnnVjfBBs<*q-Nq2il#_23}V7ZnbG=CAzpmr|oO7c|k} zO@${htSn-1h?k@G4Z--GuMU^)cvnwP%kX-YY)+N~+tQQ{C3ytMgPuRKc^CeCJd z+1?WoG@{9_$QtB_KnP@{04$=3$OBXNDbi8=B=~nBW83jzcsE&IXOr^71%5rt>BzFx; zZ?yjw#S_;h2r)Y$FKp1|^fig23mL`>#54fS<8IxrkL2;F$DE;M4e?s)p`DeFykt5H*ci?2f#7ecA58>vV=)!^E#EI{ z9~-!AxCugM{UqUEr>TsIPwsJ?|b3s-x5InWKB``MZbG0SbA8 z(luUzdJU+bp=?5~(-(InUNDv#%=YH&tG|EbekY2h_&0&tpo5kFEl4UqWg9>_Z=i^J zf6B^aN4+0=L_8;})8)!OUAqSnDLbis+3@tdQpZ42rHMn9M)cVcgW|@MSKizEycu+s zwn6If<#JwWX=!4IJinI%_k(B3&X%7Y^6|b04(l{$5HvQ5&0G%X%62Oc46q5D0H3^s zRn1xp!>r^FGmt1~tkazlWo6RnY)G7Zg~3F0A>HSTa4i}FZOaEt?qSSP!+o4;N(RvX zeoab8P*jW(W`s|z&c|n^Y1iHtJvS$C%2~&^Mm>hFU zx6pxgaHOJ@HQ1A=A4+*e+-Otfhbt}3h_A@*)iii8sT1ver)<-pvJi->J4r(1*9rDV z%;+ycK!TY%8T-OyyJLr9Ez5+ZQ1)tVM&W%p z&Ee?rmIPey-so^WO>EA{Ap4Q4v?#O!VZd-#r)Av=5mT0K+$iSmVY)YK#r5*`H(nKW zh5k{l-z}-C_ZKOOV?{RKa6Y$(WEbAu%ou-`(-&p@0+DS5|$r1Agl%8H4=7EG3tAHwms8A_;B{aWSzsE2W4(}qmC89URt{z<6 zhoo&C>9)0z4-~}Vv-PKH{^<7dr0NNxEJY$3ZkBAB#hBHHmle#E3!d4b%%OQYhMd2> z7x|xj+4jd%R~w|Ubw5i}owgyXCwUZg zTm{1_Vbj%1sD>p~)AO4O>YFsnI~O*;9AA(n$*x|QIjpWQ~-dGq}IU}4ScU_ zc737JJcQXL2y|ls0>vgY-+jZU55Hw)%l3%4?6%0RCo~BbrpbtZgT0@Cbp5}qOJ)vs z;ps^#SjkQT7G`cEGK{+*4*gm{m|e=#&6BR$=9|_p2bh{SZ9DHfNs?sC-ZjOHT?28L)j8X!o6eK1L# z8+2^4;`KZJSJ+tw=j@az=g*2NNV1?zJRCHHP72rvxI&ap!)SmCVaUmHEb+WblqtE8 znvhmHMv$hOymc$xgKtU(sgD8mkDBCa9l>lg;#|ik=aS!F(NmNQNr`nhkEZ$SVH}i>8w|K!(MKj7h}@JfnZbn_ zA^^-r`GW{Td3oQ5=IRXnf#b_(iqEd$$rBh5W%$2wwzgyILHyGeUvuWt2O>K$^Q)_? zsAEgwlW@Ax!;^=<2!OVfaY>bwA0L;pZaVBFU=I3$aI9=!eSSoj8idtW1%0n|Etj|A z`(X;J?RUk|cP1=usY-~`o_i8Q<773S|L63aX2U%&Z24!ucX?3oF9@20C!R)E!rkxr zTllulxG!3sZrF+qsL6v+ebYwQm>6VY9hL!-L=t$RQ@ehztE>#%IWgk zE@l6*77*hB3^lgm6%^ahQ#2qX5B3#8t6EihMQCvZ&mRsPv8wR7QsYA!gHiMf!EqRQ z=wv8&68X$JaUFauNQiGE7M}*kf{vC0c|AV3cYN?Pl(l*tHYcbEneyeyaHHpU=kX5m z9uz;<^Vu(u3XWv)m$JXMwMW?!*w(P@SLA~_Ba{VUp61*5BssS@+Hmcy zjyX^PaN4HGgwt=)V9b{JtqK&Ym@BlHqy$KYP3rajlGUOGdkVx?R<77JE!g~*6-fP; z2>01E#>brfl;9A%h}Vn?X9n6d8sC;m@e(Y;#YJW!6x6h)6DtYI-sg;}O^!%JNm}{b za&i%0P!{*wvUE>IQ%_dssE5u4WI+-ty8L34A3alI3mC%cyW~mCZRfEYC*#}sVKE*< zWr7X{k>{XDx*^JB9?+RP$w3ScqSsr+Q+b|ScAIS_Wm1h1dAeVijR$D}W8y+;1pzj# zqFYlM1P=}nJ7)Tfuv~B9XAEQTC{KU9ePI0u!@f%JXq}lq4+%S6_o(psbmXkOu@P^+ z|1kmfXfIYIc%-11)?Luq6eQ1$C|Y1yxL&Vn@+=&bR0Rn0HlZ=nT4Gpj4lfOJqu-tq zIi6E}E)Hwy2|}agc)yu@^F!X1avLFgpwH}_9B-R!wxMangn6JY?_(&{0d1fwA##s|g*MGmjtdJAsq=Phie{EKr0E-Hoa>gwv*s^b_@ z1C15txN;PU1=ZC^waeK$oU$P1u79_1qi0I*j)S5i%8ln+608>JA7SXDgVBPwwhXW& zc^zl^|FaWes9)K6JLm`bD%EQtDG;(3kr}-elvophtZKy9LCu`Dg;2DAg6yP1`KS^7 zBZA({pz;w4!V)#UO^+E=N+o_hC`>?TTEC#efX9expq(au>z%M6=D(^!Xu-xqvmCwk zMp;FGf|gKaWL-M@*7HMz==!wZ)CoKXp_m>GXGcjx3#{3u*c1-VbXDuuPfhNja~;;P z5c*eJ)t+dT8dG2AubMrDA|l)mvruMLGwee~=GhP^J=q($jNdB=yex|P%2DAdWyJCj zgf>^WJzPlp=|2_dMdEGjFk}4?5Q=hp=%y8TiTCi%6u!U~)v%a%S5;O%^&JaOCv?9O z+aVzR8Tz2dyXw>j?{?^bWf%f98FjEgTvKl|wwt89hSl43*>r5HBwZxGvU?&e9Pj~S z_suMxTAq`y68}vFXcX}j%WgZii^9-Am@_&ozAF)0awvR!{Np%ke>9L5y_}7`{(MM@P>FSp=ca z5aFvY;qkX1Ug-?HtZj=F1 zJ8n)G9f_|b$DPApD0=Wn?V0#pUQMCX+@!iM7xqD>Frc>uGVgL5d9F&rSe z2HW0M-%7JLmTOv#7?gI6dAF1d=Ov;tGGZvTqA4dZ$8Xab+n1X0Q&Eb>cV-X#ZS!@u zu|7#j&!BQu)Z&KVCCgCpXJ0KMiX`*9KIi{(K-^@cYm?Z*WJ=i@d0ul@?cXlcyfqeT z>cgbD)4T8Y9K>6(d6CLopEPZ!O_(_A9s08?>Zqc+w8$35R6&jAAjWTvz`+E&9!43A1-EmZb56`n;CM z6@jSEjGl+| zsXHZd)*iiV4SK$x!dD0D`M!>U|IqSOC;MMvJf**jZZXCdI!$sSju7z-HPLR1;Iew$ zsA)`OO9#mDy$ga`dOcs>jtmK`N%6o;K>g5BD0GNjXf@@{f(Q_(9UXF3>GW&kTQE^g z#gzF~LwDKF#_SwB#Ad$}@D2s+oR#dixuTY&Gn7C)0B2JYxGWzUj3BRbK^F20Sh@Bn zI*&o@x!qjqk;@~0h_IFZ<%Mi|P$6r;2NJ^~io3uEMUY5JWB#3{WlsB{_@Q&}P7nL|rcIE7KO!WJdRiaV$D zyrH%p4Nj|z9nTB!Ft7EaG%J56+_O#zSu>56az?AW&#D$28Zi+Qh$GX4K86gtO(8g8 z>jJmNSLRD|Ly}N3l9!SCm%*Y7>pmXNW^A`D#?P`<)KjaLnGV*fO8>s$(}H*BPWv8d z_}|u+{keM$YN=bT#@_ip{pFf-VAyqmAf|i75BkXzj-qW$ zzk(K#$J?%iqJMF9&YTQnB*3=ge5evA7L%|vv6}PivB-xIZ)ID;+*Y{n%CvW_MD1ur z+hyF2OL$v~EN$@j;qo_~%GoPd7qfM66a9z`uL}Yg3~Mz-^=nunqE&yi&lCOFw_k^3 z(esDJ0DF4kJu*wawK|~>2#P}T(4HjS!C3673?6bRkJ{8CT@OqL;n1pchRXCw8e#5u zmYqV2M?kQ`Yi9ccR~rmgsX79LDDANO`QUPk;{q4;$u#wAJ7Y4$LB<=@<}L4`me`69 z#B>x13=9{=OPtKT-Jo1Xvp4?b9hfCSA;;xbDB94^5ivOVDLon{t^NfY?)sM0_w`e_ z1;>FDjgjKPs!X;?Nh$}^&olz2p#BMcEm;e9oG-a0IV%_VZU*X;d2-e5iT1kgb$3&> zb@%tag72;?<^6F-RhzxqA^}+%eYy?$T?*8 zA04kpmX}OuH)JL4u@Vz=#oMh$ZFvNTHE)UP)(%y#YIwgg5v_KF7~QrP!+5=$%@)d2 zmP?#8r8%|Z4B%K1E?O{cj!9&t9-zv7M>{?gf8afId5Cd z#Mj^K?@P-K(jC>p`J{gJX}E?qm2kh3l%NRRUJZe>sWxbiZp@7PQ`^VfD2-bA^{d5JpL~(n5!2@x+QR+H_`OoQrJDiuocp6KZXg3)byh9wvKOJ+FrGdZRA6`O)C^_;ld{Zf5}wfDYtRsZId*q@zil; z+fXc>J9sp6I=#!CbR1@@ujvGON#UCPs*<`K2No>a#`rV`+SkUIAhVrY+5ZiiJ2|%?nY|-sx`X+us?h)s%A@7{-L1^di46Xi zwOwBmw|j{#!N|x2#Q=&>qvM7I*XeVIuGiZ9$(g-RiI*j)9aIVHa^JNaUD{N~&zj1y#YB7Vyx^O4 zHh{mbPdiWBvCLaw7xMjjeoMbHakHWv3m10o+^4J3Q0z&}?l%l@he$?whrgN2*DB%q zWie>Cafx)<>dy6uvuL{ggmw1IyTyCe7i5$4be`3^k*ObZJ6YD!N!Qai=;~a;+v>c^ zp(bgp;ROyd4J|ylCQLbhr`&#ilVzik-#@jjwRjH|s&*6@yf}3i@)?If*pLeNU&VK) zLMeSsGm37nSxS8W&hfsVtf%{obXJo!R<=}obl>`TGe+5cXf=&rm^HOaA{>7%U)qXo z;QI{arT`LAhj|vWhFw&p-BaT<@biLgKlK^8h;w$l(HoOP+Au1D;=O7*|?B(y?6tf)?_?={XGM?AR zY3)CEVKFDq(CuYRd!PHB188>LY*dx;(E5Ws=6WZ4YkVh2I>c2nzHc-RrvG_E!8pe4 zw7KVU+2K#Uj=SAI-z~@bqh}H*7wqULPpinM+4^%LLqD*#5eF=Lb10|6d|?@$D~CxO zY+Luh{ID|2Oc#hkEHIiay#}7qaI6{1Vf7&GM1__0ZhVJ+tfpekD|w>GwRDKCf~#VP zYdke!WAk7qZ8b!d{^)NhDOKlMF zB)qb`C{9-6Jb+2&XaZ2RC-;9I1Mt1R@Di0DZuwZSn}0(;kUZE&_Cx8qauF3&CEhw4L zPosYs9r@(~d&JV&XQ4g&9Feeez!!yP_#N&c-+zGDP-(;LuFA(ZiUjd zhL&9dB2W%H>nNCIVEexwXsm_6LktpQ;ifBFa_%>kzg?~p17R=+#`!b;Ozp(3hEitg z^i}o*K_Uw@d~&ELTnl^nWU6b6sT=cUyI&YtD&RI{G5b5K#}MID{#Q-RNvDAh>ol1f zIOBeA*sKZCdKE8?CpQjfHdkafK5i;0sL%}igs-J0t_5v0DSuQ`K9Tm&zw2bVMmdMs16OyU-osz3K0*Ja^~ zdDd11Hm11wEuYL5N~6Qo(kj2~1+F(;!1O9JwWKj=j5l8FHOQCkDLnjfpkv~=D%WHj zGzn=`0bAv4SiXYAykxC<43eCHMi+$mJF;e9`uvs=>S-KFkam)xj^eVl>95Al&trHU z!c!SALB6|_3hr>Zx#97~<|Dva<){^Wu3#;)(@s=`r_rRmiD7#Mi3MPEfZG?(2EuQmrziqMmF+B{GM4=46YU1d224e_xaA{GJOE*ww95Q z3GX@GTI?|++(*jup9)+4N7%o93f_g2(Zt4(CO8ZgWjLAPeEUfK9GuLAb!xgCwm;n~ zc0&DGOX+oyf+iKf=6S;5sep|eScsI0`d5;(FzY5SjPq*)Lx$RZCq!i73?Hit{J-+D zH~|NLM>5``{aZ;Z6!$hD!UGjswfPgQUMoe_27a>(tyIe;iCtg3{s7~_!-UJaICUcM z5^8CKg3YDj#7ZF2ONVn68_~)E)pVM1F!7RN2Y-sP0&J0;J(Km8z`##~dhg`Ny3L_c zK_J6AJ%tb|jw*!ZEbz~4{qaGP;rAFwR7P2l+so_bg2x@Z*9pcF)(ZaH8u|2BnWQb$ zc73N!WL4|?iJhGXK`T+=$s>U*Kco1&y<5-72bh%)Vd==b`y_3>@WE0{1UyU_>l?bR zC3d9Wu&eh&?m+NESDamIN3$U@*b_lna0AZzbK;JD)#$So!S|L!ph16#2|i zY(4kWk1^eEI9>5+Oi%8j!hTEVgB^s=5P`z;QvaR_?h#Za(SHmIUjt?XyuF?1<^5v`0EP#d^GGzk&Fl4c_=bF_(+Jfs91(Tef@V*K|T?0XKYzN;i(RYUkEYZbpCxLRDQq_uq!yW5g&7SPsqC~@8rgq8k5r$ z>`;ze-{kn_8#Lmd_Hg9a+@1Zw>Wk;AE0XJp7u8wafpeAWSSw$wCVeVuh5LgKoh~Mj zTxhF{M~ta~-YkO=D9?^i74G=_bbn}EX)W!H-qh`({2p!}Z9E$Pd><@p@TE5artPBtPob^h;cL_VsfsWec7?1JWjb;~o zx7*vOQ@%lqxOrF*%>N9QY}Pdrx~g*ZbBU%6rE`>aX`*Pi@*54W!qb`i+{Q-uAXM|0 zu|neq0@+-KytPdr&?~$N64VcH&I(a~G?eD3*=;IMsZjdVl&31n#vk1WNMdphCmN>6KY;Ctxo zd-q@}ST$5gR46-HA?M4|k+~x&JKZA8AVFc{7oHF)CQX)vy_lHso_!~K5gi}{P;iFh zf$77d!(MQZiFk_sKf2yAxUwf~`;8~IZQHi(iS1;9iEV3=Ol;e>ZQGvMPToE9f1dZ8 zI#s7?f7rD??A_g~SNFa8zV6=@_1q|B-OsVJdmo3NM5`??ziRap8EGyNGVCeF{(rRX zl#-nyr_;)6YK>ftv~iL;05)JP;P4Zmzr6P7ELF=dC@kE4LeLkDAwz|Z1C;I4qLak^ z5(%$jrLPwj6T%kL#7a>`=`sjY(dG9DaBu>?BX1d%cXcQ!M4&@5wlXAN#j+I5Qv%@4 z!GbdFy!LUN8g^aTD5tB z8Q!1AHgjs*KsQ-vGACg8;kD0dcQc0+Z(T@IfPsQYd%{%=3K!JOBzze8Pra zmkHM_SgKWCx^7d079C`lF9ttt#XWIQ4r9NN zds3uvrrx{Keuj!)9W4b}Dm{FoXRCu1kv2~I4Op~N_uTWZgoOUn`Qp)$5y?uA*!%l? z$43?VWSHt@0D3}5jltGTwS7~bIF9q!Irm?JW6?^k5~QaC&G-!p!6K8|Uoh zVD|g$zOd?n=}w(?$&V|Fs%UsxGYwSgNEXVG2|+d0R}kPoYu;|cLl2|zQkpI2@bIjj zjFDh0XDl^LDtOm7ZJ2#R>Dx8l)ESx zBq4h2{KEWn=_MgluKmY?uns*>;FT(A){deI159Ln4bKmeL!dT98~!b6##IKt8-BS_ zM`fj7(N@f}ivof_+LHx!eqFIL)w5!RZpwEHNdE8?@GluUhf4i@&~hV|2L?hk5fMDp zMOa>Ra91oc38Z>Z5NB9#UnDR>Hy`PK-h%~HbXaK2l5TMu(qihtq=0W_KPr^^{w;3o+aMnu7QK&bO$kcO~TC*$hF|KfcC*33H)(G;xsN zJgaanB6~VrqX+8$&&jt8gqx|~Q$#UP(Lpyh<1I~mnwJHpzK&{ClSkde;m?~%JD&sr zz86xuVg-c6>}V)sJP>j3QX)XSoMn=6kSo=<PcAng7LWd9 zKdRK2APKw%WnR5k`}U!5zqtdFrGUWqkOZ_NKa(eoQGP@_soI8wVNJzyba*ujhEIOL zHB8jYZv{Mq;JEETL6@V$bsORfzY&3CtdM3pboR*$bNx3xfVhKI`tch`{L{p~>5!oS zA@HdQi}mNr)2Ap=^tb)WZKRH;yGNe_pC)BM*F0_=nvR8IkuJA`tA;}YvW=y5=@(m@ zd~>HBxTlt`q8g`3#>H*Fybepx6o7~kdp&m8y4;o*pKa5Hr0n>nKiD669E%=9_&qD$QW?Y;Qwh-tR_tx-kc9(1uw0B#a@jp-~>1nEyIOd-yHnBRifHV5CtAGI1`;`#Rv54!ibwt%~G z3}AICq8`@W3j~t5n*I_4WUzlQnqR!!W=ZXgP2^dv$}QM>#^r3MJOf}J|00p8!#N35 z{ykN-L9_Zy4yt;w|)c`1olMgR}#gqVFG-#6+sQ+eCrPb8VUEVlbw(9(}Ac{(J zI71`Ra8k$v-61G1O;S;04|7mS*Li?OCQ6JR0^C<@OmkYIOhc9uz^!U$mvq3T=~Ie; zTojq3n*NAlI!3Vk7YUt8lZDzFdYuADMc4?aVp!jR0rZpt1c}+P?t>xEGKUpm8}ELJ z3z)BP$$=D);U|sOq40kAx7dREGYo;88roPi{daAzF8DEu_LVj&;mLj9>DTH>LwRR@ z>wx*yR-%zg1fTTKu3K=RB8GG^A9rvH7u(~dZ(m7AwhUrZDjg3CP}0?Haf31_ZXfO) z&+D1b@caQxWU2oRk5genoZNp6m3sBl30CuZ>aw)xe#fU1c&B$&a7zxzbNU%k=bp2N zNGI?q@#pJv+s!~&AhEtE!BV}IO+a#XNq_b+-|p_g{X>;jbG%l+OLDsXVc}y}?zfM? zct-y|6ErP#LM8Pn^#&(VBq>zM)nup%r>!0;AVAX~W~TCnEAlZHilQyRO0xV;}2 z3-rp`PgZB9|G8bzr2h{t5BM-e9>kL4bd}`u{5jMOJh)(uy+^hiFjXAP>O6Y&wUE;gFzwn`n%u=qAIW~@6 zYJHiNGt=GZNXzXfkh`%TD|_f!zS_gwhUhXn?kN-OsNi+d4;oW5qd z{%1yfZ*m~mkt0P0H0`IOqm+z{Oy%Efvx$@L@Yw@1BctD>Spo|G-xfyU@y(C_Y4#m| z>T3F(!wq$I1IoLwJ~*1`z0p7!+WkC>Y$F%Fq78r%E|d8K2?Y&lJYW*s$q z{*jb%-C07g|DYIm|4@j=^}NJ*-=QhDcrsVsX!aq2oR7^Q(HV*s1qf2_+hm=2w-IcWQhG|4@K(H@kvP` z+gA#7_+;48doJyOScLQH6)@xI$pMnt@x#3Kb{yU1X`YDX|8njcw2jb!poA7(WWM3w z0uh@DP$&ar_*OTF$>YJxXJp9XI`;&_fHh+V$gdtr7%_IZR;x09tWvNQ>KvNYY6oLz z(4`hSxGe7ba)^>$dD+qY)8;UP@3U)*n#Bwuag+({Aax5WXTFGzVB+e?+76Nd@GJNP zbN?k0N46==P?NFX50C?I%YRFm?&$wFhuvpZU#K2S97IS$vfoiVfY4{dZYM=oURkM| z2q-R!enaX=D*~9A)1USNN|3O}M-~{3D7W(f{k?ZU1C=j&pCb2T-*k&ojgF!3YdD!< z&XYI3cl1kRGMXd-*o}LGybf9X)1v~W=*y6|pDQVr0T#t?RzX0igr>#sNJ!t$6bzOU z%bagmjqrm|5!TPGl782qx7sPBZvaQ|f*b0UZL$4N4wcCNFwLQ5P$H-`FQ*hKn1_AgPSU)L>jeR#u;r)X=IQFw3fQdj*(ylP6l`1wSWzn=BFgG z5N^Ok12ZCRb$~Qqb(&yyaq<+mBx!8xD(twK=IT=U-UaWQyZy!H(@*>Ue7868m``w2 zl!Ri{pUZ!!*{Kbi8kY0Pq8QLvsG(C*3zga(8NxMw2iR~#R&~aFhqC|Evow45Pc?CB zeD;~m3mHBSi9~|zsJw1)G%y}Z(kE9c7Y;>IeEBWzyH?+X8b|%hlYmSmwi%tck}=`~ zW330an2K4=aqzIRwl`tYhUP@;3!vNy5+!1VtED(SCNnl5ERYIra8G=oU8udMy?_>+ zk{l1|RH~Az`n*r4tV*vxTzCD{&Kk^M5u;0#_uO~k;j+~<-Cx_HXu z$uYL(wo8H8&}yk9$K<1ZxMbTkzES^!UE%#>Ibb1elxkZi{lZI z`$61l{Eo#mM`I4L7Jr7}+Ph6~X#$zrTrU4*rG4W*y1UoN792?!1Nu{u{o9shq4#h< zEVzsS(4vXa+T0*zMBmK?j!OBLS42elJ@t`JcR+j}Bxo<|qpfw3?-v1Z^q)kT)OHW5 z6F%`SD}C<*f+E89&mKl z#Nzyd{n-5oZPEKz2?m%NfA*%NiKGZXT?SLYObawPr>cfyXT8e=H21*nWEtg*N*Y@u zaLg5Y&9Y%R<1b*@zjG(hjD1{hA`)b3~7op~- zO!%QqEE-fX`!psGp}q9~4UZFzbv4On%{gX1#zUF-?hy6U=Xx%D@9-4QOXV0Mc+E4^ z4g;6zjkP~c6_nUIasB2dC?m;X3mTqxEpq&Q}~S` zz8Akx$;Z~1e0)23f4K_92TgZ1UMAk)E4Q|P$Uk6cNx1TMfLIJAAbJno zuB&*U>U!F2uSJ`X`{ALNcz0a$ezeGGleAEVAkL)1XO5mQCx`&iV(o)9R&F=@a<@JI zwvE8@(zEaN1v6fQp;}1)V$M{`$j2~n|E_4Y_|2$swe@Shxpw1@JvY=>W_3#cPC;K^ z^sxaANEO43xwJ8SOP^2vN~GI(u50*tjSeNnWw8-c1p~hRSpG;QyFIg=Wt;4CcsrN( zgE70@=J-{iYWQFTYw=Ndld&@ecR4tF-&`eS*B}d@_uy!o>Au*F)vzk=5fYB4f-+m`Nt@A!P-#m3Klix*RQl*5x%KNuV*>0VIP z>2~iwcV}_1$&LDCWmAMWufv^ev`Y2QTAF z5UmK-$UzeY5ocD8hk#azAPpTx=SK_{LC?Fwp2|Xn%Hj7hUEE5rr$|~+1vLZ9J*=~1Tkx=zXhUK z2UR%ts3~x{{f(TB9OcE8=4a#A)lga3pM>v45zJ(WBFSZs+-Bq}EB)OHyzd`r>20b; zOO9w8T0%8ykocIq@ml*kt0Pn8@Mu% z9<0LpEvkjj1iE++aM@?+ZZI1X>JlHP=NH=x3AScj$D|bYO6k=74#eeWO>f592+e?uoUJADw zBg5y7wsOg%WH-w70K(Oz3HugvcbWc!l9I9vuiX<^s{yAH^(aWoIYP%y&IgxmDU1yHD17$>71@7q!_7Ya3g9LQHYVl z4bI?irH;`BBQg}OMC`X(PV(FmYH}I!2qR+T5~0`^p+*B|RO6=PJZt_u|JSE`8YW*j zIdd%y_Alxz{!e-jUdHF2fakj)mJw@5E?y|RJTCA|fiTX(NcPAUZ^q9Q;=GXL=x5Ti+W+?vG zlnr>z2@o)1FexMmnCDf2q;y^heYsXs+K<+uT79Eo2i$cj-0tInD?ARapOI+ef9lA} z5{L)4c%YC)uR7__*T*L|o`!)2Kmtg|lW3LOvK{SPIvk(2ELZT}kEX6{b%yN}E;`&C z(zq?DgB_PpqOA%{%@uzokBsWJkEUe|^4-yPJYPp@L_yviA2aHIf)o(KAH%yjPV%(#x{wi)s~i-Trb3GY#k%^-x8kH#cjc6(M$)rbdWi5Dr%O&+*IMAl z)1;?m$yFg?IZD6QKrg_Qnd=(l`}S{nZQ~%8&>`FW88!&(r<#MNHzoM*%quF>G@d+? z*WY)ff}t{vO!i#&}>$<$dm)zPWlz1Ky&s)1Ca~ z>Gv8@54grK@3l)Ac%jztNN4gHk5#~ha~-1o6HvbdC!seGmQG`&?1G+(MTPq(0_Uc* zh0$@TtfUmnLh6+B{RgQTYR&tQX9^P=P>3*~d>Z$)e_C=XV`5GFl2D*LwyReZTKcHw z!WAJdH93@qE&4(s1$e9bqZicX<(x0=k39s@g2 zg^ra7wgtALt*|iQMP2-=3_BtcHb5==5uCXZF`3G(g_U)o>qy5AdQWhO9yhk@ZsUrE z+lP6Ic9vjXzlcWaP#j;PlP+gZ@zxtsA~fvbWG8qr1W&5{gg+1=g})1 zfUSvT)7HYv#F8k7;GHUxy)yo1ay*6EjxDH6@@FgOcV9XR{daKdDt)=f2Jn>!D`aF9 zF5SkseTMglbIUso_XqBub8F!inz#bB@k9CAEAOM$lCsl7rj{n_36uA*u*^I{WIPPX zSxc{x-ha>FlIgK_qDca23GnOyY6wXGrFqGjdErYoj=61&g66g)`z zw+eL_m?ZkXcwFPLG&ZmV6%8JaY=NW6o_Pmgzdk8!nxmlE2FfKx0XCj=F6~7bWo3}9 zDe2ql)~w4<#A2K^%=2>3c@HT9y;}{yUwgMWzvUe$NSj}j4WfdtufEmml2VjzyfpiY z6xdPGjK$BSy>Zq&k&cfuC}v>yTuC36vDMdbboFlGg{J&IG}wA?ZP2EZRjAwTzJ_?y z+m;b_;F_;EI+;I}QU`(KS$!?vL`^>Uc>(uy-A4fTiqp>7XwI;C3_wa2g@M4B9LOD3 zm7CdrwtnqNsv*E6{jPN%e6V?HWTY7MZ$6@e=hd37qfxJQc@)-Cpm5k5-2|g}9z*Ui z?skuY`%Y(mlvwyo`+a`K+;rQz8rh0pda{aTlmneIEBnk8d|N&|p2mCUVqdf4ko&%af6YA`?I*ealiHVuXjw1La(e~h@S*50wv?W#3;+|VZ(zR)QKxb-f&O6gwK{)rR8(WNsK8YsSOj9} z0QEIy^Q%HQ$!f|IFsz1JAZ+dU`E_(70qFu#N!5wo3g<+tg+GUryG0x9pvukLAlV*& z8hlA5O}7a;SpB-02MQrZ(sO@jQrD~f9lZRTv0$p8N#?Mpd|GID)uB-?H^slqZ=T)b z*9CeoYN)V?B1u_n){LRyCn;y;#P{+NuR0U~s*0|;skGHr8#_4zB@Ym1Km*!H2J+G` z2NqqzK($?&e`s-6p?$g6RwAh!(;hDcyXd{2#zKJ^>$pzqTHvtHd0Ao9U;o@&l_u)WHj3v-Pl6E{HStr84F&wapryMDTv5)x@c{T!T zqRxPI3EgCE2hmcKDhSL8XD1eBN`6#k81uF!-y=*=1JUBz{w#oz3rnh`CrM<|tv_I3 zi*dZ@l+%VVrW`7k(MQU*#XHWfJACp4xq#BVga3l){v8yRPACI3E z6g{idTwMx&^9Nl4){)Pc*Sv{&{yIj?(8@CBNJHw&fyv6L9(U~ADj6xo%E&0Z3gf8w zmpwY1n3|-56e0Q|q?iQgY-^lZMlHOw`J|Am$?btL&*`nD4huFSHRJg>X{6K(#geiv<)+(yJyokbB!3qAIYtQMeVp8#b6@TAG zB8>y8zJzCN;!+yNP$Nj2q_KWx^q-`Q1M{nVN``c~^lGAy7#_Dj6exhilr{+AP?QCG z17z(EVp5PQY9t&J?@jg}$)R}7h)Y+MQ^5FYAOFI~&toJB_vwz2Q&Su~X#(_#Q*HMs zV>+kI$dATzIJCg9^0wwVPs1%uPiI*KrQ14B8Q`eHM~0V7 z%Bk_c__l(#6r~eEw1EBSqvHr5T&BBzve_5>%N3N5A>K=<&^+nfsW( z5jph;Qs%c7N@K|Naeu+v@VZ=fkcr2u84E%NDJmk%AVpxnvTUzs6k1=qF5PZ4 zC0O*60QYqf;#|Iw^XQKVK??OC-v0q?x01kq0a%tM744zP**t>k>0{CE=(oCtWe2U# zaYO>HfEMs~sD4KxGgWbS-bVR7p)FIB`|ac05Xj{!Lt3{x9p3j>QOI}7bd%kPMj5L2 zfys{7kuT7}fU2}p5HM<6Q*8PPsNTLdHx)=ljdQR?Rv_3xd09E(=of>4E3EV*5-Wv% zMH@lL&G;}w2P38lK@CDP@l3Fz_2CeO;WTcVP|anpkY%5DJ`bKiRVSAjw9=icPj`}T z{O`?fH%6Bl`UB+%UleL0O1K=R#39FC?0zFHX9YL6oigaMt$-_r?}X=nQ(ogG&-a-QbL%vwSFE8{~6yOQDyg#%u3z z3wS>Gh&d~*M@#J^OID}wYpK~gyVp(2CpZ1KaLxHSgs3n`GR)X6gyM|3kmc=06As9I zf=aYG8bXk?E*KG3N0^LYqR#%4kcc-yVVB#nyO+KBD_jP$c^v#`fryAOB!CmQrU}BU zIAiC9MRleRCpeBxM+BqKi~Cu^m3{_aRl*R$NMlQh`Kv5I;BYWPXCtB} zAY!$^)RgKKP)9Eq3P411zib8&ff;hw;O`v)X4IXI(9R!$POl=YOP!*cF^O>2$x8N5 z(eFp!j;=<-<_1+pGV8;=WBEnRwZm9`RNiBmx1On(^0E~jF)qq$*+Pk%Kz_}fTrVq9 zN-IdPv=)|2$&QjUu0T;99AG#;IDem;UFu0Jm*#pL5Xra>I>~O27$qz8V>Z)9&COp` zW_$|I47-?2sOKW-44T7$&)$bHlz?a7jO@X+#AhSt-|h!_g*}Po!JvS@0x3(ZNehTU zn}OnTtbLs#iT?>%UW%y!6j=o@h`%xXbH6f29|o$&GIrdnsXDsu!FSyR zx^FzCI=#m5jVorm*Wz0H_-kL$kTz2u8b#tPb8~uoA>hmHU>rfF>QZ2j&LJ>4Zjmx_ z_geJh!Z0Tl=SIu*CchkCCEuO;W=SpW*kVr&kfs0QyPe+Va`v_%o?9#3*&enr_)8ll5c~xdaaCP7O$G zHj-MGo!d~j8@<|87)m#m#8~}-ezf(DwQx{AqT$5AwMxA?=?qB{kk$rvp1`nlVNpWH z;2hRL^94@^aBENAl#3woD?a;?HP|!(;oK07lsn|X&qN`+nz=1D+JVpaCa%ok6;ad~ zn~DYtH^_uVmirqyIk_g^?}xXH<#<={!R;U?E zcWA#*X{sp;UsrsBW)w4mDWO;(;o%J$Lq;^72}|qwrSx8ODw1k@d$N|)?=`-$1rr!+ zTVoBYuqU{ksg$c-8Vkx;b;spB|qq9lvbI6&C!~mDztm5xs+6 zwX-p4cLi^H>w=umcUsCSG}#3~F4`2EYO7}Swn7i7Lb`eUrNfG2zFUcE^Xgfryv2=) zc@57rqbaBV`P0QCsg9%}=0HI}aLI^==Bhj96U+71X;W73M0Y~gbNsnEpJUl!xQ?|* z?+Jm@GJW=^9noFdH%q?z&{^pu;hHL-V>A=mcT}2XhTNBPU>oSSP-AUku0NqxiNR$CZdnlTS1p3;vs<*->Apaxuf#Ka&NrZTyav8*>NibF8BL<#8{BTPedX%;UHqc-G2Vx_`TBDF@F#evkos{45vNhm-q(%M zPz5yof!0Fb{<8qSB@y;)y*dLA662>b6qvdb*x%0Pisd0*`5NNC>~Qg`_Vosa3W+(6 zzPejGtE|Y_95uJo^S>%8mA%{=SLxmeWH73ED_m~5II>0mIK?Y!PA%fs|c3eEGYlKvW_e~n2TQ@4tx}?~rU*Ss;yvIO-t~G|FqMJK)z8ZgbO;ccZeVbau+Pc?ak5-El zSmcgnrRl;bosOcp?#B4+`gM-0%ad~(NYTA5$$E@nul=hdMN%IjrYw7292{Eq&Z1tGyX-qF(xsS3y5t)DR*zPXw zXpZYHq5D{L9?`MXWPgmcs)acikKqLOd9nHBX!H9Hmi>N(H;A1bgU3W@vG+G1Z{X-k zKsC4Pc2|Jhmy-A&K@PNPehK|Mi!vZ!*p|(K03YT$^4U`YlbQ##hMH7mVIaGVGt({W z?!8Z*!na`pQ3K*f|88xRA3Xahrv!aZKB^k*(V-XVO|_<@P^e+)gj|M0}I zK61HPO;_J(H>FN!f4p9(e$v|rL81c{a`|`<^?DgPgtes}z=q1leL=wYs73PoRUFdD zQJB!~gf5I}^5{C>a$&l~xiR|ezq_dGqvw0jyy5d9T=i+o#jY!o@l2;+*Dh$+V<0r! z@AafD69#*~Tk^t%XT@E{>=6TD4Drq7V!sNf1E3_WcUZD1zL8|tBBfWNw=ZHDNR{}^ zwA-wW3ELFfnVEL;(#NxGO@(!q%ZQ;v|1-GliY&r%cNK#u9@W!>Wt5BWL>Jb6co;cu z299uB_y(Tp!cdI=32&|)I01YF?vn5V{!Q}_VX@DLH#`R{(}8#Dx}A;rjqA})1eoRe zBgxv-(|)#hyoTGshLWVboCqfOM<*Y~+uwvR{SUjRfyHc_qlwh^;bhCSCLga=Pk{G& zk!)(fFbgl+)ScuWFF=FiKJWFE=DS-6JqnnJJeDCRv>93*r#Z~L7 z4LhKQ9-ECKKK$5;J6t^fm`}!$bf=2q1lmlx@oNTjyA{l#jR`w&c>8u+v&-WocNLQ(TYlc zG(V|IsKRDvj{xbYTcnXA#S!Q$6`|?d<2TxWhScptf;#aqtv-32*amyYm zqHQ#y)sA&yndB{Bk!>9ZdpSnU9~rG|d+*HI{^8Frey=Pp)VmB!W`i`-`N{UCoB_phQ!oI1-7Zs1DGFpAdW`O zHiKStjIqX7U~eRPbw*hvZH%$Al9J8`xOWKI2viZRzIO|?>+xkNACK5a{O7UO#sedt z4OB;0_8NYUE!#&>>hw}f>)2cp5+zYS=%Ri`Xlb-Aw%s2teLe!i`tDGU@8p5zB|RzK}_t-De8CwI}L$r3xjBZw=njckdWuGMp+Ah z7>{{5=yQRBKa(`Aqcu9#xW!*7X!&y zg5zKxL*HC`VaMFbOE`>12y$E70y_4Tk#*^mMA)`lY#Lz9HS02*?Fl6XCClJs ze;e)nPmt<_^)m8TDhgO8kdcwMmLWR<+5xx!v~B-%c60iq*fI7et;yH-UF(R+_sb?H z5OBrQ@fMzMapG5Gpd}@irfKV;*mwe6_tW+JalL>p^owfKsZ zYCQ!4{o`(yuVS#Fl$z}j8ZS_S=l&f_CBj~pQHzL(0LYl}iHU4J0Nd%gw;@JY02O7{ z0=0Oa>+h9#r`Fmj@J@J99V3V{of&Px4&MZ{LDtMpwF`^n{SVHj{fcY)oB)dk|_3bD*l0Lm&vuOfy~N5dB!NL4eFBFb%{5BaEM( ze**BF5L-0~C>P0tROFBb#6#o}+?zSB@-PPFG&x>(j>bLF!v;G~H9vI!XbW)NU!0#D zpdWU;5E179JJ#CvQjuVRmFIZ4J%;as3(Ci>zS^xUp7{IfK`%z|0#v6v>)nI|(ug>nxf2tn z1!PJ-5Fs+#D?an?e=0WfZeQScTvg0)7`x_?lXMMlf=(y=dAM;-)$AW zOYk>By}gY?xCY_Gjd7K2paop``>`{xh10`!?Y0fagQql*=P~7wsEB|x7GYsmJom%I z|KLH^s|_?_IipcWWSWR8R#(grv}vIebbv)*_AVc;lUR#jCV$W81Rl3v??05zYsHT+ zZqRYKefoN`=6(6Nn%nw=*UTTW8WRTpWSFu}BJ9Vw?!Ws32M4bKl;-@pTi^q+a~Bg! z4CeW{^GveTJtZ(!HHVtIoSn{KiK6;ARsnv`w$dax@9xe{K=`{cC_9f$iw~Lp%UJUB zboJ%VbvK`UJji%eYZBFAz1wGQHsZW<8=QvMWFxBPZVgC;mGMKgtD~F)OtJ4PNf}ST zL|W>E>(v|dSLUljnX7<&DVka05T}40%0;mrI9LK;o7{b7&?E1h8;?q@AF_%4H$-#a zgdp7hSF`s~P{KI}GfI;gI(|67f||R(0W4~QSWXivMRqqbB0Gr4&YhNqX~iA0m?(A` zC01Zc%EY+SPi+IsN0 zZ$SIBh{6ZeeGZQKmJW0=#=g_qjYq%Ja)zjA$M1@kz^*I^@ zpH92PAp!hzcV_#SEq>dZ{)?9d_EU-X?3twb2Jn5h6nuQ)N%azhhRE(J#Q<;3AJKAP zYw|Jrd_Yr{Iojtsjc)Kwm)xJ8)@&a>z$XhfeAAszbOu`+KOdc!h#4tTt!9AWHip|? z1YEglxz87ZCwknofJZ^5EOHcnr4v$Rkr{UXuNHtV^h{m;I5=CNceV`(g!AXzxZIzF z4WISx>wJ|}AY5N#j%M9^Yi*cliQ~xf43Kh(#oEDJZnjc5T8rJ5snrT>uLeDyD8+S| z%z4}Z=l7WwwtV<*v!owvyh9pN)ElAg_Re8T zd|BjRZ7D4&X`rRY9sPhYB#XFs7Cke!)!*<=9K(I?XLK~#2wB5ppIA-2p&g7AIqv-q zUz8+EG7IU@RC=|SVg!s^a$yW-NPc__qPU4tV6Y>muH%U3neBbB_x9f`r6>D;4PkV`Yxcl(oCzVON-*1FHEJD>LM;hbwJ+ z&wSZTCv=hT4&wbS&E37>U92N%6OAg4R5bVVD(0phd3_0X9iqmep$}*Iw3(e@%URrl ztYr?j7Ia&^Kv>kAA?7eD{zqn|{a*m42f|5hSZd%SG5BJZ zq``>DUGERCy(OWfuX$$qH{1O}iKbjvK7fuJx~laDzG*G>`J}nSpZXCwXCt+oS_V;H z*_|`Exz%G5l0hk3J&;m;oq-AsDs?d;g*#Yj9^Q)Z6{RwdA29YQf|a7K_Nr?>SENobR0#D0E2A9DWZyOIokhzk#| zfXr7!6$BxJlzH5By=%iGrWR=!`mKSZX}-oe|g{5SEPmoqDZ8F z?)=w+%zYCp5=uZPQ)W|-{iZ-%bvtk|4c2063=)2aMwON>XS_~OXD7yZhf*LY4}$%} z5Duh!-UwC6zXh>v0brnt7%n=)8Vx9^${Wzl0Z86EV^PI=jcNgi`Wmgn;lEME;ne!F zxYnnvmexA3&|HCX{JGMrr$;I5(a+Cfb1K(MvpYDMmsj(v{m`$r$n+$Ip|3fbcZ)Bn zR~yauYYFF{W z5>f`rKyr@>kfuyTXA8nE&CD^guZqc;3y^I-OlUaJ@Ufx9CjC#DW{%eZ2{Zs|r=~_l zN!hcD>4Oe<2Ry9?cu;R&4PUtAmr<8-+x~I>yPMbj^!T!_&~*h>vc^tBHy(`mIo0)w z!<$R^eTy?N%o%&q`2yGVcTI~GPf`g&|FVehE;DWJoUYc^L)Ak_SqkrQw3^rE|%z47QBYfU8=c8WmNDDJT>E`(%dSj^f%ISyEj^0 zIl74yzEp!{s;DiG5MqeS;O02H?uvjGJE}j> zW1=+&Bf;#CRKZyyC>$2)n(Z%bNFwr>?evh6E{#>y7t?x;`$3HYQs?)=N3PqV7+^pG zYKm&#g3VhV%hv75y^*i{(kuFeZM7h)zb>)fnGBcEjz$dhDaF;~@Xo3(i?^)|s{XT5 zo-5oX`R8*DpsE9H*gmxs0>Yy!z#Np4mhQ7{&OdAWhiTP4YPu}lvHAkCE|%|Aq{Bp` zcwX!h2T>Aw>(Zsw)$03w>vRsf?)Ls7&5Iws&(qB8Ye{uV#_omowlbeF_-lPQD@1;Y z{;sBpHd^DD%PUKP2^F^1_)Kq!_J^^qJMfYsk8`!^{QQyO)*h@PDg+M}zM=KcP}r>Z zt6|Mn7kHL2<*)`-Md!M3VEx}%rQIg|_rxGsLTk-e!z9Q^X;?F|KRo=|REl>5yo35F zw8JeRs`*}U%w(sE2TN;xmu=PQu1w@Cv3J{yaV_n4aZYkCPjJ9^KY&yl?-TC!0PC_g zv^vcvo@WWy7E{|#6bqb)+CzludJjW1>tY3P*uLY~>%CPM?hsa>n9gTN|6G5jE1c@) zRtSlbZ$#qrRQK%5gduCQc}J8x7ZlnW`<_8!j?#>Ex+}bm9k2Fq5^IxA=+P8U%rpEz zkYFr%+159Ep6T8@6YRegr=Qj+LJQvBv6xXM= zT+=JL9w=OM7070FS-5UZSWwWdY2)#MW1*lXlx9A=209;^o;2Z%Z3>}%+|`%mLcm7S z^d(&RiT^WVf`3Qs-Z0nC6dQB1KXxm+ChgEeS7)`|6jTPEax}*^(EiR`AgOpoF!L3o zD)!!x*zRxm@7*G5*te4p{2cUxqVNp@9D{+b0|YmYu}}-G-cDP-*%)-5SWn)@Jqozm zJsKqjrY+{WyMH-czoS(i>?Bfq8FB}aX=X~c1rLc3`8#?yU+u0h-~Q_iX1li?dY}e) z_Vc5-3tw$wQ&~}*^6U1VHy_IR_Kh%zFv{;}bA!vf@K>y~92*k?y_=htimjC49e0)* z`hS7oy%3;0@>HbPsPX3+$JOypy~3=fws$Qr6IuBB=P3;DXJvJ_GohTEsKXIaUS>}8 zn@UgIbEq(Tic(Fijc3>F z;~U@C*JrK&UV?x`SpzYimh2xD@mA4;m)V4@WxF}uSKmf?c6J4>UZq;s5ju`VIgHhW$ATlV@UD&id9bhW! z))*W=5(-1Awns);-bqPG0muRK>u&HQ=S6PfTzAlSCA73eh@8>0_jd!OYUJD=Q--a-RGsCt6qzW3h%# zfG#qwU&lNr=-KpuZ+Lb>{db?eYfvM`##=w`5NfU(GjX>cCGJzW43`Tn*7k5tD+MGC zYOLS?0qX%P4l^-mM-;@jZE8tMUA?{7e7@ePF$G(bt5J+m1}gLYA+#V*`JFV@#DrDF zT33!>OW-*a5?Oh;xgu-}jBSP!>k1QfP5$rOH%!>;yiU!H_4^~>eV_Pd6HWUy*uTvX zl+sHQcsqjz?;@GJE=V~O4E8BjZYCH~4xkg_jmUVYf|Ak(A{1;4u2L(1)9X#fueuNL zHj&T&1V!`u0WKYV8(W@7?YIFnLlQ9eoaMQPXfNlL`2GK$Z~pyTy(JmuY5+0D&2 zW5o-0a*xmE0rZ~$AH6+cZVy>HPZw-lhO>J**q0K7(v04hHir`ckq{M}1iRlwYTyoI zEYUQ8{ic%$J2BC$q&O!8CgkAH1Zj~Y&%8~-%gC&(A;t8DEJFBhmTkq332L@ZY(uXy z_q-6;d@b&N4{@;U^O#F8Osj%v7?akW^5J;en z)TdNO))VrvWzx0lm}HgpPn6G*(LL1M}Up`QVA2Rzl_Q?@xoP}|%XE2!Hl%99TFdj-l-A>$+ zb{yuVm!yomf!Zo@@yU}n8qZES`~#(XhZ55EcH^BnhPfS4`0Ys_C;ew@?x_`LEPM|= zSmr=!1DCw4ImA|FqRSGXGuW_xGmjZR>0f)0lktn4gaet9qPEE3?@kP$p17$3=Z7Oq zje4bwUR@M$RKBp*(Of3-wHuUQgI(7xWpq?YEv~5>P*5|u07^be{HwXe* z1n1`Z?IDwAMc+kf`! zRCJw!r*rWDshb(Mn;d-(@nmw+gq{l_7k#}rKZe)BDHGC~eK>J&pewWJsdYW@Nv7pS z`>06GitT+q?G1ONU0Le>BQ?a+xVi-5`J#eQ8dS1LO3Y|-JoTv^`JLH$In_u2X2LOF zzeZf|DV{wwcp65k8r1PYO3=Osn|7OyNjZ*v4zCei9SLV;mMj=deX zu5+;pz2v3T1S@xa1ed4!d~ilEbPPezD5mLU3VXx{;$h0RFK^!9w8~6Ll1=RY{fGu> zTR8g@$IiWWVv=}%Zic?!AGT6=<}A=)<&v9T_h4O^DmlTNluy-BwWiUqSCVnEMy@SQ z9CYPF!1r7<9zN;W}A;0|i#Pq)6Z-eTwXZzv2p~o1dZ`%})1(XpQ zFeXoCPu8`>e^fEdaP`3>38bY6^Y>`uLQPWz`5D(mm0R2%jKg$>o9l@0p%%Bg!lOZHM+ZEM8}k@Xvdn#syy)cdp;auYEZMbV4Lwh2tv#j``WmH-R8(#ssCdknL7)N`GChIxN(*wBEYbImxCwquRBZK3%3; zv+Xf@!2u6JNc+co^fSJxvm`Z?hJ%Fk3~3+DIJM@SVtq}!C z3X?7mI}sBD3yzA}^+aE8u>VnqbNp!%QLRpoC3A_G`aE^YgfrIS)^J#e&fK_${BkAg zY#5SDDVt{^Aqa*G#|s|zOMi2fpp&ZNkLpk0l7h}Q(sAMH1VxxfKNna!n2N%PlwytP zvfGuO6iOelV6A{2vkNL%?wsvr<|5?RM8@XE&JXO8CY$}_ay*UKQK*KM?vbXHslErj zfrbB2Ii6mHsfSwzT7%v;q-xG?*Vz=SM2TktzZVaIGLsj#_~B}t7?LhjzJBF^#MXjv zv4<+#bC(A!`-9MFF>!&H=NGV-V1Ucti%%~Juirz?T+ zMjd^Xu3{LoTQaYFRzWedkp2Gmw?N(lE|LBQ)w81VD%6ycEEV|iuy5@@SDWfie^$2U z|NB7R+i-^!-+5OD8M<$20{XGgKk!r?-&u3^);CkYn7!bqm+X=)*u9~(hGYPc7Qsb# z>}qK6ueHk+%go~nU}~m>Wrn)d9q4-UGnprt8rVyxLAK{JEwyR(`cu6=F#N!kcXDFV?ciN!horUgtEPUL|utZHn^%0O@BzKRf-^eJ6(Y7`7|tIyz6?a|>Q6W)x7eWS^kWGa96mHop%Yl~%TASDslX`qF9g z)ahri2ty#h!KZ4g+w-yXn#wOrQD6+N{W2)g5& z?|{JSt`?$hzf`}TD?N=bx1Tx7Cl1Yl2v?fPpE!jISB=axN*&flX; zeP8nJ_kZs!k(@#pEx`br`oG+@e1-@5~c|7Ger#X#aK7lATL?mK{e_v4v^Z>to!)uR%bRYX?0G0z{9O|lWMWWmD7Y<(u+Ol>KfB8*eA<~HW8xvkS3Hn2ml-qCpt0+gW68A*>0P?C zY?Y_0qPzQZ=Gx?Pk=u4f+z%lPG(%AEcMd=3zeGq{G;1IZZvsr0Yl-oon5n1XMmd@H z3Nich8lJQTO(QEw*w&I4466-d-U()?LmZ5|j2k@6oNKKdSP}%5{^E^wd;9?H{8H{& zqyNBL$H$=3fY=?-)C+bV2=274T@qU+w>5}2%DZVZzw;O!)U5T=LD_HeFD8I&ZjM3p zPNO=l$Pd(iS}Hsyej|c@@kLZE|CTWkVu0;Ct0N8yHOI5}s`5)wkcNBrD$TVGFBHJn z3%Eq}#HuA6fle4#XGqK_u+ zlh;9zMtFGm<+G6w=t}6QLi*Uyfq{V_1EBsLY&}uXcQ0`_cvqF;)RbNgUl5O&#O7GR zb2-4E2G&YQJTFUgNx>F(x+XA$E{VqNd@)f3H@Rd!bd^9e*LHBaw>Ok#cRxr3g8W=> z)k_95N90m{V>>LR-~bK@>R>ZFMvsR)-;E&#*}Q1~y{ooNufGr-B+u*tz1xEVph*q0 zdV%?rAeIFmDfC}+nLAW;=#wGj6ex@Zp~<_}KV?ai=_Gqt-M$s!g|a#Vg7)CBa_}~; ziA`m2`4IPhV3y>R-@`g1w{z(55EzbZkub_95tt&d0IigG?XpG93_`EZd)OZ{PH4VN zmRytyVNgR1X>lYogB`LtyHD`^gxyCv3d-=~Htt{_|4jEJ1Wot!dh;B|nE3NZ4=Ewx z&RKh#GSSzr6;l`S4S&1ojr4x#;iuLiKT=g3 z=*DmQaBSKn0NX|;GqjWYn|&EmJP`*M**`zBFe7491TXt_Ti^L6%ntkOyW=_5@% zv`*tp(hAqTG;f=(Zkk}OTesGBlg=tcBBV^aPr+=x#4xGmOck8(oV~JLv9z)Nd(7|o z=>f!F|M}RdP~{r?Eka2pKR5^Y~O$~6dZ}D2m#;b-md$w9~qV=92z1tEx zs0gfl-S~eqFVn10T zAh;X4UB{Lj@n3UqTF0?7GRMbjVLCju1~x3kKxvcp_gtLza2g?AP%#CXy#BGNI$YV} z5%0FCxoJu=HVtx|a!si@7vFDil`T11TubBM3N;<5IYdNG$$lmjWv?JJ*mO`-@~B06 zWHOP0%;*Nh9)9eh=|r1)#*-#wWeBU=g&7qg-n~wA=~zo)G?YK29e<$FAW7jNEB&9}QU`+CE|!n31d%?UbbBeXXm|9qZr zt}OwY9uv4Sn{~xH?%Rvt(oc4EL>JG(ryL>zYud;CzC%psHZWwyu0aHW3}o(?;u`eH zMkRUAKHv3@RHc{QhG{ch*kK-DsJssZ!Om(+E1p-?M#q~SpY-G4eP6zNOv}EU$k)4A zBB`>D;4!!=ypG8O?wT)@&Iqly{Gd}1HNKSmEm+z$9$NG@cxH7uV@p#qBjLCyuMWf@ z^?Wx|@8pEgU|N0_!b4p1Wl_x|iy?dT`rWb2%=2)G^_@0+J^HgJ0?{6l6_0^mBlPvH zzoMHv7H36+#k08nu$0hr{TV_P^O5PSsrK<1?&R?UhlCiZ783*qLETWO+utAsy96gz z|F0L|A2ba5WP_JDsB9Fi`-yRBY@yG-*8N0XAL;OXWcpw>)?=V zZK@)MF8*4Axns78f$~kT(u)?F0 z-M1q@$3D-~<@Mgv!gX2$c7~89Ki_bm#W5jbnf&TOEd%VFBd%RebV-}G_IXxeH}CDo zbIOC3~y zOE_w3T(pkheLj0aHvm-EUpak{WDuL{hFr4Md}|TAclSPgJ;SQA)28AF;ZxVTGf4E@ zvx1>Ufvu0P^R}VW1OeY76OQK5cz*Fm^pB3w(fnC|CFScDvnkBd=nQqgW%mVDDM#Nw z@k-=%o>EZ7k}YX&O%^UWS<#&f)eEH>o~*Ue;6qhS@<uZdE!C1W+u2CJFaST;-kg`qC=@0UbyWf<8pG=+&S_-(MK!3qa znY;r43c%b)@&DRU2u?_43X4J`sX5h@Z-kom@Pjq3K26|&A+Wd-sWZi4z=yEa{ZNTl z=t~fUw=;HyX)2AZtwbnc;LNsKkqVL(gnMy63s%y`W@&M%ja|EWt)&=dG8RaJ_72hb zG&b(v7V>7`#tjV*M{dug2M?WWt}Cz)^RuaGE6I6_QlI^y>_T9%qaHi-!LIqV(l%5( zHWVI~xZ>u`A$&pHRkQx8_&xiSa0)gVGkstKE zqvNqTg)S1pDk^X{Oh@+|rBXUE;22G=^-c=p(ccydai+_J74--L1Fb1D_(YwJxU+># z5L`iS4*w=69lm_?|Fm@oCH#}L`~y^uL<62J71&suIJ`$~aHY(LdAoBe zR`Epr0PH)95$xqc;y@2uD1S1Pjo(zAxrZ$1?*`!ha&r%^G5Z(|8Z| zo{A3bSy^O`hV}Y?HUDNb!+9qlIJ52O@o!?Al|!<7&4LAv#^l*(|C~WPFn%dh0Zujm z)V&eZ`oZG6{AOqlkdDlUB;uU!UO7SxrWe;GKHfm;UNfd;1qi=E%-&tg=G_YmV%Gy& z!}lZvb^<{Q2V#?rC`d?_w2PkQOb@4To+EtKAqK>faHdD9f=wJirylfq*dyEX1R6l{ z#awTd`AB?_Rx=oiKpunnBKp_@^FY^DrAhsAT-=XvvK$Srr7+eXhFqwpo%CQ zf>SMQK07he%CxsxL<2?&7ysH-pO7eE#;6y-j^@l zB9wgjecrU#$I_02?jhy4;Kw(tRkoprgg%Lx9qI@B2h(~rzc(p7?U#~b?-c)id5?2P zY%l*yI*H$sq~uj^SCw8@p6>)tsI_WVtz>k%ps1|)6k09qIC8rSpdgr+u@Rndtg6X* zyTL4XnP_n=)7qW*=&)jQDbXa|;lIl3#L!tnJl_^8c^fixPNbNhIou4%@mF6mn!6s% zoD#sDk0nJDwva`O5Q&e7`Sn?)?PpXEXSZVZb7lBHp?O$eKXI3X16YV0o@ntW%}t9| zE&lkMJy7E}SNERO5Ra?YueW$0LXZx##0{$gaiLjQn|glo-Y!`SM(c%Obj4XLt@k_M zS{X~p0wo$8pWNa~ke4YV)nf*21mjgI*x*;jZN=a+#EmC$fApEWtY!$@l5m>ok0?N{ zzXuJP>C0-1t-oc2#jw5J>$bqad~I8m9H9}5q5WaAQ%PDf6pRT$?AIF5sKDOsDYQFW zz`vNqJv6_roH^d+s zndS4V0e^M<9sPuGfpONS9tnb^SH~~F3a@Oc&#@ix0SP#G86~W0)v%QOJ3dQP{RKDi z2~Bn5(H;%W8f?A^>1sf!eIyo_wAvV56CmL!OSJ)k`OpE&?FwaK56qim1`9z-#;z&) z&B^@jaW?j5nGc?O^N4H(lbF%4BKE&6+|4&n|?JQhx?ee!J7Mv z#>ETpNA|NY*~Xzu{qE4WzqAZL%HDXqlWh9-z$1I#h@RskI?49;hP(BYD;g>+f7Ga*7POhrRVF$R-fNC6kzDUfmRwXEmjvy zPPwVpYN_Arlv&!oRD*+N^Y5dloIVFh*d4(>x@91xMSYF7TM|g%I!rLF?sPNdb#p7) zqJn3Sc=)^@BmF&Ezo|N-+*VkHfN$ib51a2kYjF9*vWBHY$f<7N!>Exq>jD4sEh*UC z&+9=p<^icM(WgP5F2!RV-}~PE;^U6M>s6VDLO$EXv~IxrlLbpSIlO$e-#;BXKA|8j z{^!(~tWwLooHt)6U}&Rx-b^1V7Oi~j!w7&A&YC?0)RUk6{lYe$BK(^3=m~}Rl^Blf%1Z; zj0bIZM`Kuve1y@uR^&_Lb5SW%UbbA#z>nWdJ7_X$z$ON$?<)TKZjd?8FYM3f)xNS; z;^X_Atbk!wB}TPcmlG5Q;dHA53YzIM!BpcaD~s6)d-|U{>R^h-^)ZXT`KDCz1nZe9 zOyemLfB$k)C)I~kHgOz?lEPPEuY#K}Q0rZn{!me{}qT4Ir>IWigh z2?tofIa#7qr#kX+sks23VH1GvM484&Sbq-I5oO~k3?_x+5fIxna&(v;4P2tMEhU)_ zmm}Rb_DJjbpz1Gh5j_xZ(~W5kTByaxwEScStx9wuXyQuJFZVsHo#tTviSKT{PwzhX zNH7ukAW{Uxx1|^FxU|=<04Y?f1^@^@NJwySJ&@%kI>pP%E)ZqQ|NK!WNPp1v{-bu~ z!9$3TG`!yf)A0_+@lT#Wv6sV#jd-R@wTvS!5!)Hpxhi*$XN1zG|adzW)!wmtmQ z2oMPDx(ISHuV&o(J*{!RLogJQmPFn|K4|aInQ3p`0j__Ua<$=Q3HF%90)PpLI7~pl zqd#NzCcnt3kWFixS(dre1R*BnnUW14CS#p^(vk7V;C6zGz=I2H(J>{^bLsyeN?KzfwK{nMD9_fGt zAP3@2S@#70=2{gxxnaV*>yD>sL^j=S(_rrwYDJ_(ENxeVaqO&p#>D0?>ECH>)O7dSeeJD%-68*r&if3+8f9?B3GQ6(>VeM9^e$Q|bI`_5b0PavZsByoPvlTwa z62Nj=cH8Rhgzpx(Yce6jAlbv&5;{!8*B|Grov8j#?1tRA90}$6e-wnTrEboUBf~uN zA8+g?SS5iNs8QG#Fl_HUs4Av!e>rZ6IXYnwm?bXmU)(=}3lL=LaPLok3P{3Kf)j8o z@yML($?YZrzx5?p#{xKE6VGai5Q&a9dbZ|5Yp5yHjQDW{0d2icma3EE#1t`StZxQx z-SD8j+Xs{I^$PC41foyH*glByGlrYv=8UA}WeADjwMT(OBC|cYm256N@?mC%U@%;V z!cL_d=}2PHDQ*LMa|Y&hE6sQcypy2+bFuUMZ;gl|JUe3vW%gHbzmO(%IqNOCns;oj z>08}^_GD60(cvqX-~*X4RGeOCy*IQeug`M7*3RB-Pq?#m<;dW*u3Oe=dIM}99$gA7 zdbiS*Yb}KHYS>&|@15G2^`}@puu9mgJ!JJi))D(a_}F}8Z8*A*rV0a>NG*2>)C+Rsua&pX~@ z`zau}PvW(oKoc&J0o&7<(-L|-H!G}r528J6w}?5vbFtv87@GCI(0SPu$?RrZw-7z^ zvcqH_!hbq3B&S;B4Q?rnE=~ZmbNCJTUz^d3Pps1JF9LdP#Z`=({!;9DpNMk#-in_w z@C>Le4#c&B@OI{tafc0_CLcpvo=^U@x_QU_@1qxWd-CaJTjZk$bhCE8kFMSPV~um==5|Yp~BNvb$Uu$yx(v(>%=t z*q7C-c02$Jf8C(}0wyXW7g!{>R`WiSYhPUf&&@+J$DH)MrQrkoO?q_fP@+*3a!QdU&M>rqnntn7P3QZuV}#@{(#y*J>p1d z4bmizp1k_smel0Gpq0_V4rYf1#Z-vxxvHVwIsF)={-sWh=?N|9%Uy>r+_T|_nTm~_ z>__4)sM-Eyy7IR+yM%p{RKLA|;?MJN_5L~l0)N+z)GgOICT)zeat027eeDcdqZchX zU@$v8&+`gVEf;3p^tnb^*^@kkEow?79QDq~UJmAsGTDt(viFc${PsTfk`Qeh&K&>3 zd2VI@OYUP@!TNPDS;w#X0x0K-7zAZ4>b8sF%QBJMdlD+pWt?c65E=v+_|#a@4m>w1 z)CUO}(Rq&sFRR29E7Y^n{wyj7e7L+-c_>>l(J(6=MKR=Wu7+138am4f){^E!tzIK8 z`P0k&LIYjz+7aGPDXQU_owj=kzwzsE0RTL zx&IB(mC>^py`++;I&q@b+e8_ERc`adQ@xE87GBorfnon@lGkZIk}^|nrq&yiOWU+$`9Ita zh?TP-Z;e0by`ldeRibR&fmYn*I>u3#Q&i=%<$18AmXkxc8jA?N)1av#LpF?+B>usi z(8<7$6fdHz$tPXi9$qo8>%<#%tCGR-yvra795c9nVI>uP%+>s1e$*YA_4#aVIO|B& z<-$8!Yi%yZLNSHuaIqjRk*)xoZ5)@3u=#FI>TvS*i~5mwv`uRX6*EH=dq0SCk5jKJ zyJ<69rgV3Csu2uzSnUF8 zjE`lR>ywVJAxI=)I4Y;{>>TBRuYjBbs9DtL_xPgWm~^K0sGZ|Si9 zko|FPnnPkU6M?CMdTd_9%TS4}`t2;Ep{bQhSFJDI1PXtBLrg&iyNH75@TUemo=s

}jI@8Ji?rw-CL6u4q(@)q^}=#6 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 literal 0 HcmV?d00001 diff --git a/control app/Readme.md b/control app/Readme.md new file mode 100644 index 00000000..8529fa35 --- /dev/null +++ b/control app/Readme.md @@ -0,0 +1,110 @@ +# Ghost ESP Control Panel - README + +## Overview + +The **Ghost ESP Control Panel** is a GUI application that facilitates control and communication with an ESP32 microcontroller over a serial connection. Developed with Python and PyQt6, this tool offers functions for WiFi and BLE scanning, packet capturing, and custom command execution. + +## Features + +- **Serial Connection Management**: Connect to and communicate with ESP32 devices via serial port. +- **WiFi Operations**: Scan networks, list access points and stations, perform de-authentication, and send beacon spam. +- **BLE Operations**: Scan for BLE devices, find specific devices (e.g., AirTag), and stop scans. +- **Packet Capture**: Capture packets across multiple types, including deauthentication, WPS, and raw data. +- **Custom Command Support**: Execute custom commands directly from the interface. +- **Logging and Display Areas**: Real-time logging of commands and responses, with a display for scan results and status updates. + +## Table of Contents + +- [Installation](#installation) +- [Usage](#usage) + - [Starting the Application](#starting-the-application) + - [Connecting to ESP32](#connecting-to-esp32) + - [Available Operations](#available-operations) +- [Code Structure](#code-structure) +- [UI](#ui) +- [Troubleshooting](#troubleshooting) + +## Installation + +### Prerequisites + +1. **Python 3.8+**: Ensure Python 3.8 or later is installed on your system. +2. **Dependencies**: + - Install required packages by running: + ```bash + pip install pyserial pyqt6 + ``` + +3. **Ghost ESP Firmware**: This application is the firmware that can interpret commands sent from the control panel. Please ensure the ESP32 is configured accordingly. + +## Usage + +### Starting the Application + +Run the main script: + +```bash +python esp_ghost_control.py +``` + +### Connecting to ESP32 + +1. Select a serial port from the dropdown menu in the **Serial Connection** section. +2. Click **Refresh Ports** if the port is not visible. +3. Click **Connect** to initiate the connection. + - **Note**: The connection status and errors are displayed in the log area. + +### Available Operations + +#### WiFi Operations + +- **Scan Access Points**: Scans for nearby WiFi access points. +- **Start/Stop Deauth**: Initiates or stops a deauthentication command on selected APs. +- **Beacon Spam**: Sends random beacons, a Rickroll beacon, or AP list beacon spam. + +#### BLE Operations + +- **Find Flippers**: Searches for known "Flipper" BLE devices. +- **AirTag Scanner**: Detects nearby AirTags. +- **Raw BLE Scan**: Initiates a low-level BLE scan. + +#### Packet Capture + +Captures and logs specific types of packets from nearby networks. + +1. **Capture Probes**: Detects WiFi probe requests. +2. **Capture Deauth**: Tracks deauthentication packets. +3. **Capture WPS**: Logs WPS-specific packets. + +### Sending Custom Commands + +1. Type a custom command into the **Custom Command** input field. +2. Press **Enter** or click **Send Command** to execute. + +### Logging and Display + +All command responses, statuses, and logs are displayed in the respective areas: + +- **Log Area**: Shows timestamps and command-related feedback. +- **Display Area**: Shows structured responses, scan results, and status updates. + +## Code Structure + +- **`SerialMonitorThread`**: A dedicated thread handling serial data reading, emitting data via `data_received` signal. +- **`ESP32ControlGUI`**: The main GUI class, encapsulating the UI setup, event handling, and command operations. + - **UI Components**: Organized within tabs for WiFi, BLE, and packet capture operations. + - **Command Functions**: Encapsulates individual command calls with error handling and logging. + +## UI + +![ui](01.png) + +## Troubleshooting + +- **Cannot Connect to ESP32**: Ensure the correct port is selected, and ESP32 is properly flashed and powered. +- **Unexpected Disconnects**: Check for physical connection issues or try lowering the baud rate. +- **Command Errors**: Ensure commands are compatible with the ESP32’s firmware. Some features may require specific firmware configurations. + +--- + +**Note**: This application is intended for development and diagnostic purposes only. Ensure compliance with local regulations when using network diagnostic tools. diff --git a/control app/esp_ghost_control.py b/control app/esp_ghost_control.py new file mode 100644 index 00000000..5e450191 --- /dev/null +++ b/control app/esp_ghost_control.py @@ -0,0 +1,326 @@ +import sys +import json +import queue +import serial +import threading +from datetime import datetime +from serial.tools import list_ports +from PyQt6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, + QHBoxLayout, QComboBox, QPushButton, QLabel, QTextEdit, + QTabWidget, QGroupBox, QGridLayout, QLineEdit, QMessageBox, + QSplitter, QInputDialog) +from PyQt6.QtCore import Qt, pyqtSignal, QThread +from PyQt6.QtGui import QFont, QTextCursor +from functools import partial + +class SerialMonitorThread(QThread): + data_received = pyqtSignal(str) + + def __init__(self, serial_port): + super().__init__() + self.serial_port = serial_port + self.running = True + + def run(self): + while self.running and self.serial_port.is_open: + try: + if self.serial_port.in_waiting: + data = self.serial_port.readline().decode().strip() + if data: + self.data_received.emit(data) + except Exception as e: + self.data_received.emit(f"Error reading serial: {str(e)}") + break + self.msleep(10) + + def stop(self): + self.running = False + +class ESP32ControlGUI(QMainWindow): + def __init__(self): + super().__init__() + self.setWindowTitle("Ghost ESP Control Panel") + self.setGeometry(100, 100, 1200, 800) + + # Initialize serial communication variables + self.serial_port = None + self.monitor_thread = None + + # Create central widget + central_widget = QWidget() + self.setCentralWidget(central_widget) + + # Create main layout for central widget + main_layout = QVBoxLayout(central_widget) + + # Set up the main layout + self.setup_ui(main_layout) + + # Refresh available ports + self.refresh_ports() + + def setup_ui(self, main_layout): + # Create top bar for serial connection + self.setup_connection_bar(main_layout) + + # Create splitter for resizable sections + splitter = QSplitter(Qt.Orientation.Vertical) + main_layout.addWidget(splitter) + + # Create main content area + content_widget = QWidget() + content_layout = QHBoxLayout(content_widget) + splitter.addWidget(content_widget) + + # Left side - Command panels + left_widget = QWidget() + left_layout = QVBoxLayout(left_widget) + self.setup_command_tabs(left_layout) + content_layout.addWidget(left_widget) + + # Right side - Display area + right_widget = QWidget() + right_layout = QVBoxLayout(right_widget) + self.setup_display_area(right_layout) + content_layout.addWidget(right_widget) + + # Bottom - Log area + self.setup_log_area() + splitter.addWidget(self.log_group) + + def setup_connection_bar(self, main_layout): + connection_group = QGroupBox("Serial Connection") + connection_layout = QHBoxLayout(connection_group) + + self.port_combo = QComboBox() + connection_layout.addWidget(QLabel("Port:")) + connection_layout.addWidget(self.port_combo) + + refresh_btn = QPushButton("Refresh Ports") + refresh_btn.clicked.connect(self.refresh_ports) + connection_layout.addWidget(refresh_btn) + + self.connect_btn = QPushButton("Connect") + self.connect_btn.clicked.connect(self.toggle_connection) + connection_layout.addWidget(self.connect_btn) + + main_layout.addWidget(connection_group) + + def setup_command_tabs(self, layout): + self.tab_widget = QTabWidget() + + # WiFi Operations Tab + wifi_widget = QWidget() + wifi_layout = QGridLayout(wifi_widget) + self.create_command_group("WiFi Scanning", [ + ("Scan Access Points", "scanap"), + ("Scan Stations", "scansta"), + ("Stop Scan", "stopscan"), + ("List APs", "list -a"), + ("List Stations", "list -s") + ], wifi_layout, 0, 0) + + self.create_command_group("Attack Operations", [ + ("Start Deauth", "attack -d"), + ("Stop Deauth", "stopdeauth"), + ("Select AP", self.show_select_ap_dialog) + ], wifi_layout, 0, 1) + + self.create_command_group("Beacon Operations", [ + ("Random Beacon Spam", "beaconspam -r"), + ("Rickroll Beacon", "beaconspam -rr"), + ("AP List Beacon", "beaconspam -l"), + ("Stop Spam", "stopspam") + ], wifi_layout, 1, 0) + + self.tab_widget.addTab(wifi_widget, "WiFi Operations") + + # BLE Operations Tab + ble_widget = QWidget() + ble_layout = QGridLayout(ble_widget) + self.create_command_group("BLE Scanning", [ + ("Find Flippers", "blescan -f"), + ("BLE Spam Detector", "blescan -ds"), + ("AirTag Scanner", "blescan -a"), + ("Raw BLE Scan", "blescan -r"), + ("Stop BLE Scan", "blescan -s") + ], ble_layout, 0, 0) + + self.tab_widget.addTab(ble_widget, "BLE Operations") + + # Capture Operations Tab + capture_widget = QWidget() + capture_layout = QGridLayout(capture_widget) + self.create_command_group("Packet Capture (Requires SD Card or Flipper)", [ + ("Capture Probes", "capture -probe"), + ("Capture Beacons", "capture -beacon"), + ("Capture Deauth", "capture -deauth"), + ("Capture Raw", "capture -raw"), + ("Capture WPS", "capture -wps"), + ("Capture Pwnagotchi", "capture -pwn"), + ("Stop Capture", "capture -stop") + ], capture_layout, 0, 0) + + self.tab_widget.addTab(capture_widget, "Capture Operations") + + # Custom Command Area + custom_group = QGroupBox("Custom Command") + custom_layout = QVBoxLayout(custom_group) + + self.cmd_entry = QLineEdit() + self.cmd_entry.setPlaceholderText("Enter custom command...") + self.cmd_entry.returnPressed.connect(self.send_custom_command) + custom_layout.addWidget(self.cmd_entry) + + send_btn = QPushButton("Send Command") + send_btn.clicked.connect(self.send_custom_command) + custom_layout.addWidget(send_btn) + + layout.addWidget(self.tab_widget) + layout.addWidget(custom_group) + + def create_command_group(self, title, commands, layout, row, col): + group = QGroupBox(title) + group_layout = QVBoxLayout(group) + + for text, command in commands: + btn = QPushButton(text) + if callable(command): + btn.clicked.connect(command) + else: + # Use partial to pass the command directly + btn.clicked.connect(partial(self.send_command, command)) + group_layout.addWidget(btn) + + group_layout.addStretch() + layout.addWidget(group, row, col) + + def setup_display_area(self, layout): + display_group = QGroupBox("Display") + display_layout = QVBoxLayout(display_group) + + self.display_text = QTextEdit() + self.display_text.setReadOnly(True) + display_layout.addWidget(self.display_text) + + clear_display_btn = QPushButton("Clear Display") + clear_display_btn.clicked.connect(self.display_text.clear) + display_layout.addWidget(clear_display_btn) + + layout.addWidget(display_group) + + def setup_log_area(self): + self.log_group = QGroupBox("Log") + log_layout = QVBoxLayout(self.log_group) + + self.log_text = QTextEdit() + self.log_text.setReadOnly(True) + self.log_text.setMaximumHeight(150) + log_layout.addWidget(self.log_text) + + clear_log_btn = QPushButton("Clear Log") + clear_log_btn.clicked.connect(self.log_text.clear) + log_layout.addWidget(clear_log_btn) + + def refresh_ports(self): + self.port_combo.clear() + ports = [port.device for port in list_ports.comports()] + self.port_combo.addItems(ports) + + def toggle_connection(self): + if not self.serial_port or not self.serial_port.is_open: + try: + port = self.port_combo.currentText() + self.serial_port = serial.Serial(port, 115200, timeout=1) + self.connect_btn.setText("Disconnect") + self.log_message(f"Connected to {port}") + + # Start monitor thread + self.monitor_thread = SerialMonitorThread(self.serial_port) + self.monitor_thread.data_received.connect(self.process_response) + self.monitor_thread.start() + + except Exception as e: + QMessageBox.critical(self, "Connection Error", str(e)) + self.log_message(f"Connection error: {str(e)}") + else: + self.disconnect() + + def disconnect(self): + if self.monitor_thread: + self.monitor_thread.stop() + self.monitor_thread.wait() + + if self.serial_port and self.serial_port.is_open: + self.serial_port.close() + + self.connect_btn.setText("Connect") + self.log_message("Disconnected") + + def send_command(self, command): + if not self.serial_port or not self.serial_port.is_open: + QMessageBox.warning(self, "Not Connected", "Please connect to ESP32 first") + return + + self.log_message(f"Sending command: {command}") + try: + self.serial_port.write(f"{command}\n".encode()) + except Exception as e: + self.log_message(f"Error sending command: {str(e)}") + + def send_custom_command(self): + command = self.cmd_entry.text().strip() + if command: + self.send_command(command) + self.cmd_entry.clear() + + def process_response(self, response): + try: + # Try to parse as JSON for structured data + data = json.loads(response) + if 'scan_result' in data: + self.update_display_scan(data['scan_result']) + elif 'status' in data: + self.update_display_status(data['status']) + else: + self.display_text.append(response) + + except json.JSONDecodeError: + self.display_text.append(response) + + self.display_text.ensureCursorVisible() + + def log_message(self, message): + timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S") + self.log_text.append(f"[{timestamp}] {message}") + self.log_text.ensureCursorVisible() + + def show_select_ap_dialog(self): + selected_ap, ok = QInputDialog.getText(self, "Select Access Point", "Enter Access Point name:") + if ok and selected_ap: + self.send_command(f"select -a {selected_ap}") + + def update_display_scan(self, scan_data): + # Append scan result to display text + self.display_text.append("Scan Results:") + for item in scan_data: + self.display_text.append(f"- {item}") + self.display_text.ensureCursorVisible() + + def update_display_status(self, status): + self.display_text.append(f"Status: {status}") + self.display_text.ensureCursorVisible() + + def closeEvent(self, event): + if self.serial_port and self.serial_port.is_open: + self.disconnect() + super().closeEvent(event) + +# Application entry point +if __name__ == "__main__": + app = QApplication(sys.argv) + font = QFont("Arial", 10) + app.setFont(font) + window = ESP32ControlGUI() + window.show() + sys.exit(app.exec()) From b5386552b37335debc7f1f44e8c5d30570a1e893 Mon Sep 17 00:00:00 2001 From: azzar Date: Wed, 30 Oct 2024 16:12:38 +0700 Subject: [PATCH 04/58] new ui --- control app/esp_ghost_control.py | 307 +++++++++++++++++++++++++++---- 1 file changed, 273 insertions(+), 34 deletions(-) diff --git a/control app/esp_ghost_control.py b/control app/esp_ghost_control.py index 5e450191..e20b326d 100644 --- a/control app/esp_ghost_control.py +++ b/control app/esp_ghost_control.py @@ -8,9 +8,9 @@ from PyQt6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QComboBox, QPushButton, QLabel, QTextEdit, QTabWidget, QGroupBox, QGridLayout, QLineEdit, QMessageBox, - QSplitter, QInputDialog) + QSplitter, QInputDialog, QSpinBox, QFormLayout) from PyQt6.QtCore import Qt, pyqtSignal, QThread -from PyQt6.QtGui import QFont, QTextCursor +from PyQt6.QtGui import QFont, QTextCursor, QPalette, QColor from functools import partial class SerialMonitorThread(QThread): @@ -40,12 +40,15 @@ class ESP32ControlGUI(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("Ghost ESP Control Panel") - self.setGeometry(100, 100, 1200, 800) + self.setGeometry(100, 100, 1400, 900) # Initialize serial communication variables self.serial_port = None self.monitor_thread = None + # Set dark theme + self.setup_dark_theme() + # Create central widget central_widget = QWidget() self.setCentralWidget(central_widget) @@ -59,6 +62,23 @@ def __init__(self): # Refresh available ports self.refresh_ports() + def setup_dark_theme(self): + palette = QPalette() + palette.setColor(QPalette.ColorRole.Window, QColor(53, 53, 53)) + palette.setColor(QPalette.ColorRole.WindowText, Qt.GlobalColor.white) + palette.setColor(QPalette.ColorRole.Base, QColor(25, 25, 25)) + palette.setColor(QPalette.ColorRole.AlternateBase, QColor(53, 53, 53)) + palette.setColor(QPalette.ColorRole.ToolTipBase, Qt.GlobalColor.white) + palette.setColor(QPalette.ColorRole.ToolTipText, Qt.GlobalColor.white) + palette.setColor(QPalette.ColorRole.Text, Qt.GlobalColor.white) + palette.setColor(QPalette.ColorRole.Button, QColor(53, 53, 53)) + palette.setColor(QPalette.ColorRole.ButtonText, Qt.GlobalColor.white) + palette.setColor(QPalette.ColorRole.BrightText, Qt.GlobalColor.red) + palette.setColor(QPalette.ColorRole.Link, QColor(42, 130, 218)) + palette.setColor(QPalette.ColorRole.Highlight, QColor(42, 130, 218)) + palette.setColor(QPalette.ColorRole.HighlightedText, Qt.GlobalColor.black) + self.setPalette(palette) + def setup_ui(self, main_layout): # Create top bar for serial connection self.setup_connection_bar(main_layout) @@ -84,34 +104,82 @@ def setup_ui(self, main_layout): self.setup_display_area(right_layout) content_layout.addWidget(right_widget) + # Set content layout stretch factors + content_layout.setStretch(0, 1) # Left side + content_layout.setStretch(1, 1) # Right side + # Bottom - Log area self.setup_log_area() splitter.addWidget(self.log_group) + # Set splitter stretch factors + splitter.setStretchFactor(0, 3) # Content area + splitter.setStretchFactor(1, 1) # Log area + def setup_connection_bar(self, main_layout): connection_group = QGroupBox("Serial Connection") connection_layout = QHBoxLayout(connection_group) self.port_combo = QComboBox() + self.port_combo.setMinimumWidth(150) connection_layout.addWidget(QLabel("Port:")) connection_layout.addWidget(self.port_combo) refresh_btn = QPushButton("Refresh Ports") refresh_btn.clicked.connect(self.refresh_ports) + refresh_btn.setFixedWidth(100) connection_layout.addWidget(refresh_btn) self.connect_btn = QPushButton("Connect") self.connect_btn.clicked.connect(self.toggle_connection) + self.connect_btn.setFixedWidth(100) connection_layout.addWidget(self.connect_btn) + connection_layout.addStretch() main_layout.addWidget(connection_group) def setup_command_tabs(self, layout): self.tab_widget = QTabWidget() # WiFi Operations Tab + self.tab_widget.addTab(self.create_wifi_tab(), "WiFi Operations") + + # Network Operations Tab + self.tab_widget.addTab(self.create_network_tab(), "Network Operations") + + # BLE Operations Tab + self.tab_widget.addTab(self.create_ble_tab(), "BLE Operations") + + # Capture Operations Tab + self.tab_widget.addTab(self.create_capture_tab(), "Capture Operations") + + # Settings Tab + self.tab_widget.addTab(self.create_settings_tab(), "Settings") + + # Evil Portal Tab + self.tab_widget.addTab(self.create_evil_portal_tab(), "Evil Portal") + + # Custom Command Area + custom_group = QGroupBox("Custom Command") + custom_layout = QVBoxLayout(custom_group) + + self.cmd_entry = QLineEdit() + self.cmd_entry.setPlaceholderText("Enter custom command...") + self.cmd_entry.returnPressed.connect(self.send_custom_command) + custom_layout.addWidget(self.cmd_entry) + + send_btn = QPushButton("Send Command") + send_btn.clicked.connect(self.send_custom_command) + custom_layout.addWidget(send_btn) + + layout.addWidget(self.tab_widget) + layout.addWidget(custom_group) + + def create_wifi_tab(self): wifi_widget = QWidget() wifi_layout = QGridLayout(wifi_widget) + + # Scanning Operations self.create_command_group("WiFi Scanning", [ ("Scan Access Points", "scanap"), ("Scan Stations", "scansta"), @@ -120,24 +188,57 @@ def setup_command_tabs(self, layout): ("List Stations", "list -s") ], wifi_layout, 0, 0) + # Attack Operations self.create_command_group("Attack Operations", [ ("Start Deauth", "attack -d"), ("Stop Deauth", "stopdeauth"), ("Select AP", self.show_select_ap_dialog) ], wifi_layout, 0, 1) + # Beacon Operations self.create_command_group("Beacon Operations", [ ("Random Beacon Spam", "beaconspam -r"), ("Rickroll Beacon", "beaconspam -rr"), ("AP List Beacon", "beaconspam -l"), + ("Custom SSID Beacon", self.show_custom_beacon_dialog), ("Stop Spam", "stopspam") ], wifi_layout, 1, 0) - self.tab_widget.addTab(wifi_widget, "WiFi Operations") + return wifi_widget - # BLE Operations Tab + def create_network_tab(self): + network_widget = QWidget() + network_layout = QGridLayout(network_widget) + + # WiFi Connection + wifi_connect_group = QGroupBox("WiFi Connection") + wifi_connect_layout = QFormLayout(wifi_connect_group) + + self.wifi_ssid = QLineEdit() + self.wifi_password = QLineEdit() + self.wifi_password.setEchoMode(QLineEdit.EchoMode.Password) + + wifi_connect_layout.addRow("SSID:", self.wifi_ssid) + wifi_connect_layout.addRow("Password:", self.wifi_password) + + connect_btn = QPushButton("Connect to Network") + connect_btn.clicked.connect(self.connect_to_wifi) + wifi_connect_layout.addRow(connect_btn) + + network_layout.addWidget(wifi_connect_group, 0, 0) + + # Network Tools + self.create_command_group("Network Tools", [ + ("Cast Random YouTube Video", "dialconnect"), + ("Print to Network Printer", self.show_printer_dialog) + ], network_layout, 0, 1) + + return network_widget + + def create_ble_tab(self): ble_widget = QWidget() ble_layout = QGridLayout(ble_widget) + self.create_command_group("BLE Scanning", [ ("Find Flippers", "blescan -f"), ("BLE Spam Detector", "blescan -ds"), @@ -146,12 +247,13 @@ def setup_command_tabs(self, layout): ("Stop BLE Scan", "blescan -s") ], ble_layout, 0, 0) - self.tab_widget.addTab(ble_widget, "BLE Operations") + return ble_widget - # Capture Operations Tab + def create_capture_tab(self): capture_widget = QWidget() capture_layout = QGridLayout(capture_widget) - self.create_command_group("Packet Capture (Requires SD Card or Flipper)", [ + + self.create_command_group("Packet Capture", [ ("Capture Probes", "capture -probe"), ("Capture Beacons", "capture -beacon"), ("Capture Deauth", "capture -deauth"), @@ -161,23 +263,67 @@ def setup_command_tabs(self, layout): ("Stop Capture", "capture -stop") ], capture_layout, 0, 0) - self.tab_widget.addTab(capture_widget, "Capture Operations") - - # Custom Command Area - custom_group = QGroupBox("Custom Command") - custom_layout = QVBoxLayout(custom_group) - - self.cmd_entry = QLineEdit() - self.cmd_entry.setPlaceholderText("Enter custom command...") - self.cmd_entry.returnPressed.connect(self.send_custom_command) - custom_layout.addWidget(self.cmd_entry) - - send_btn = QPushButton("Send Command") - send_btn.clicked.connect(self.send_custom_command) - custom_layout.addWidget(send_btn) - - layout.addWidget(self.tab_widget) - layout.addWidget(custom_group) + return capture_widget + + def create_settings_tab(self): + settings_widget = QWidget() + settings_layout = QFormLayout(settings_widget) + + # RGB Mode + rgb_mode = QComboBox() + rgb_mode.addItems(["Stealth Mode", "Normal Mode", "Rainbow Mode"]) + rgb_mode.currentIndexChanged.connect(lambda i: self.send_command(f"setsetting 1 {i+1}")) + settings_layout.addRow("RGB Mode:", rgb_mode) + + # Channel Switch Delay + channel_delay = QComboBox() + channel_delay.addItems(["0.5s", "1s", "2s", "3s", "4s"]) + channel_delay.currentIndexChanged.connect(lambda i: self.send_command(f"setsetting 2 {i+1}")) + settings_layout.addRow("Channel Switch Delay:", channel_delay) + + # Channel Hopping + channel_hopping = QComboBox() + channel_hopping.addItems(["Disabled", "Enabled"]) + channel_hopping.currentIndexChanged.connect(lambda i: self.send_command(f"setsetting 3 {i+1}")) + settings_layout.addRow("Channel Hopping:", channel_hopping) + + # Random BLE MAC + ble_mac = QComboBox() + ble_mac.addItems(["Disabled", "Enabled"]) + ble_mac.currentIndexChanged.connect(lambda i: self.send_command(f"setsetting 4 {i+1}")) + settings_layout.addRow("Random BLE MAC:", ble_mac) + + return settings_widget + + def create_evil_portal_tab(self): + portal_widget = QWidget() + portal_layout = QFormLayout(portal_widget) + + # Portal Settings + self.portal_url = QLineEdit() + self.portal_ssid = QLineEdit() + self.portal_password = QLineEdit() + self.portal_ap_ssid = QLineEdit() + self.portal_domain = QLineEdit() + + portal_layout.addRow("Portal URL:", self.portal_url) + portal_layout.addRow("Portal SSID:", self.portal_ssid) + portal_layout.addRow("Portal Password:", self.portal_password) + portal_layout.addRow("AP SSID:", self.portal_ap_ssid) + portal_layout.addRow("Custom Domain:", self.portal_domain) + + # Control buttons + button_layout = QHBoxLayout() + start_portal_btn = QPushButton("Start Portal") + start_portal_btn.clicked.connect(self.start_evil_portal) + stop_portal_btn = QPushButton("Stop Portal") + stop_portal_btn.clicked.connect(lambda: self.send_command("stopportal")) + + button_layout.addWidget(start_portal_btn) + button_layout.addWidget(stop_portal_btn) + portal_layout.addRow(button_layout) + + return portal_widget def create_command_group(self, title, commands, layout, row, col): group = QGroupBox(title) @@ -188,7 +334,6 @@ def create_command_group(self, title, commands, layout, row, col): if callable(command): btn.clicked.connect(command) else: - # Use partial to pass the command directly btn.clicked.connect(partial(self.send_command, command)) group_layout.addWidget(btn) @@ -203,9 +348,16 @@ def setup_display_area(self, layout): self.display_text.setReadOnly(True) display_layout.addWidget(self.display_text) + button_layout = QHBoxLayout() + clear_display_btn = QPushButton("Clear Display") clear_display_btn.clicked.connect(self.display_text.clear) - display_layout.addWidget(clear_display_btn) + button_layout.addWidget(clear_display_btn) + + save_log_btn = QPushButton("Save Log") + save_log_btn.clicked.connect(self.save_log) + button_layout.addWidget(save_log_btn) + display_layout.addLayout(button_layout) layout.addWidget(display_group) @@ -215,12 +367,19 @@ def setup_log_area(self): self.log_text = QTextEdit() self.log_text.setReadOnly(True) - self.log_text.setMaximumHeight(150) + self.log_text.setMaximumHeight(200) log_layout.addWidget(self.log_text) + button_layout = QHBoxLayout() clear_log_btn = QPushButton("Clear Log") clear_log_btn.clicked.connect(self.log_text.clear) - log_layout.addWidget(clear_log_btn) + button_layout.addWidget(clear_log_btn) + + save_log_btn = QPushButton("Save Log") + save_log_btn.clicked.connect(self.save_log) + button_layout.addWidget(save_log_btn) + + log_layout.addLayout(button_layout) def refresh_ports(self): self.port_combo.clear() @@ -233,6 +392,7 @@ def toggle_connection(self): port = self.port_combo.currentText() self.serial_port = serial.Serial(port, 115200, timeout=1) self.connect_btn.setText("Disconnect") + self.connect_btn.setStyleSheet("background-color: #ff4444;") self.log_message(f"Connected to {port}") # Start monitor thread @@ -255,6 +415,7 @@ def disconnect(self): self.serial_port.close() self.connect_btn.setText("Connect") + self.connect_btn.setStyleSheet("") self.log_message("Disconnected") def send_command(self, command): @@ -286,7 +447,10 @@ def process_response(self, response): self.display_text.append(response) except json.JSONDecodeError: - self.display_text.append(response) + # Format the text with timestamp + timestamp = datetime.now().strftime("%H:%M:%S") + formatted_text = f"[{timestamp}] {response}" + self.display_text.append(formatted_text) self.display_text.ensureCursorVisible() @@ -295,20 +459,96 @@ def log_message(self, message): self.log_text.append(f"[{timestamp}] {message}") self.log_text.ensureCursorVisible() + def save_log(self): + timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") + filename = f"ghost_esp_log_{timestamp}.txt" + try: + with open(filename, 'w') as f: + f.write(self.display_text.toPlainText()) + self.log_message(f"Log saved to {filename}") + except Exception as e: + QMessageBox.critical(self, "Error", f"Failed to save log: {str(e)}") + def show_select_ap_dialog(self): selected_ap, ok = QInputDialog.getText(self, "Select Access Point", "Enter Access Point name:") if ok and selected_ap: self.send_command(f"select -a {selected_ap}") + def show_custom_beacon_dialog(self): + ssid, ok = QInputDialog.getText(self, "Custom Beacon", "Enter SSID for beacon spam:") + if ok and ssid: + self.send_command(f"beaconspam {ssid}") + + def show_printer_dialog(self): + dialog = QDialog(self) + dialog.setWindowTitle("Print to Network Printer") + layout = QFormLayout(dialog) + + ip_input = QLineEdit() + text_input = QTextEdit() + font_size = QSpinBox() + font_size.setRange(8, 72) + font_size.setValue(12) + + alignment = QComboBox() + alignment.addItems(["Center Middle (CM)", "Top Left (TL)", "Top Right (TR)", + "Bottom Right (BR)", "Bottom Left (BL)"]) + + layout.addRow("Printer IP:", ip_input) + layout.addRow("Text:", text_input) + layout.addRow("Font Size:", font_size) + layout.addRow("Alignment:", alignment) + + buttons = QHBoxLayout() + ok_button = QPushButton("Print") + cancel_button = QPushButton("Cancel") + buttons.addWidget(ok_button) + buttons.addWidget(cancel_button) + layout.addRow(buttons) + + ok_button.clicked.connect(dialog.accept) + cancel_button.clicked.connect(dialog.reject) + + if dialog.exec() == QDialog.DialogCode.Accepted: + align_map = {"Center Middle (CM)": "CM", "Top Left (TL)": "TL", + "Top Right (TR)": "TR", "Bottom Right (BR)": "BR", + "Bottom Left (BL)": "BL"} + cmd = f'powerprinter {ip_input.text()} "{text_input.toPlainText()}" {font_size.value()} {align_map[alignment.currentText()]}' + self.send_command(cmd) + + def connect_to_wifi(self): + ssid = self.wifi_ssid.text() + password = self.wifi_password.text() + if ssid and password: + self.send_command(f"connect {ssid} {password}") + else: + QMessageBox.warning(self, "Input Error", "Please enter both SSID and password") + + def start_evil_portal(self): + url = self.portal_url.text() + ssid = self.portal_ssid.text() + password = self.portal_password.text() + ap_ssid = self.portal_ap_ssid.text() + domain = self.portal_domain.text() + + if all([url, ssid, password, ap_ssid]): + cmd = f"startportal {url} {ssid} {password} {ap_ssid}" + if domain: + cmd += f" {domain}" + self.send_command(cmd) + else: + QMessageBox.warning(self, "Input Error", "Please fill all required fields") + def update_display_scan(self, scan_data): - # Append scan result to display text - self.display_text.append("Scan Results:") + self.display_text.append("\n=== Scan Results ===") for item in scan_data: self.display_text.append(f"- {item}") + self.display_text.append("==================\n") self.display_text.ensureCursorVisible() def update_display_status(self, status): - self.display_text.append(f"Status: {status}") + timestamp = datetime.now().strftime("%H:%M:%S") + self.display_text.append(f"[{timestamp}] Status: {status}") self.display_text.ensureCursorVisible() def closeEvent(self, event): @@ -316,7 +556,6 @@ def closeEvent(self, event): self.disconnect() super().closeEvent(event) -# Application entry point if __name__ == "__main__": app = QApplication(sys.argv) font = QFont("Arial", 10) From 25bafe6486a5ca3a8338ed39a19af48f3f917f37 Mon Sep 17 00:00:00 2001 From: azzar Date: Wed, 30 Oct 2024 16:13:13 +0700 Subject: [PATCH 05/58] new ui --- control app/esp_ghost_control.py | 87 ++++++++++++++++++++------------ 1 file changed, 54 insertions(+), 33 deletions(-) diff --git a/control app/esp_ghost_control.py b/control app/esp_ghost_control.py index e20b326d..c868b838 100644 --- a/control app/esp_ghost_control.py +++ b/control app/esp_ghost_control.py @@ -153,25 +153,33 @@ def setup_command_tabs(self, layout): # Capture Operations Tab self.tab_widget.addTab(self.create_capture_tab(), "Capture Operations") - # Settings Tab - self.tab_widget.addTab(self.create_settings_tab(), "Settings") - # Evil Portal Tab self.tab_widget.addTab(self.create_evil_portal_tab(), "Evil Portal") + # Settings Tab + self.tab_widget.addTab(self.create_settings_tab(), "Settings") + # Custom Command Area custom_group = QGroupBox("Custom Command") custom_layout = QVBoxLayout(custom_group) + # Custom command input self.cmd_entry = QLineEdit() self.cmd_entry.setPlaceholderText("Enter custom command...") self.cmd_entry.returnPressed.connect(self.send_custom_command) custom_layout.addWidget(self.cmd_entry) + # Send Command button send_btn = QPushButton("Send Command") send_btn.clicked.connect(self.send_custom_command) custom_layout.addWidget(send_btn) + # Help Command button + help_btn = QPushButton("Help Command") + help_btn.clicked.connect(lambda: self.send_command("help")) + custom_layout.addWidget(help_btn) + + # Adding widgets to layout layout.addWidget(self.tab_widget) layout.addWidget(custom_group) @@ -253,7 +261,7 @@ def create_capture_tab(self): capture_widget = QWidget() capture_layout = QGridLayout(capture_widget) - self.create_command_group("Packet Capture", [ + self.create_command_group("Packet Capture (Requires SD Card or Flipper)", [ ("Capture Probes", "capture -probe"), ("Capture Beacons", "capture -beacon"), ("Capture Deauth", "capture -deauth"), @@ -265,6 +273,36 @@ def create_capture_tab(self): return capture_widget + def create_evil_portal_tab(self): + portal_widget = QWidget() + portal_layout = QFormLayout(portal_widget) + + # Portal Settings + self.portal_url = QLineEdit() + self.portal_ssid = QLineEdit() + self.portal_password = QLineEdit() + self.portal_ap_ssid = QLineEdit() + self.portal_domain = QLineEdit() + + portal_layout.addRow("Portal URL:", self.portal_url) + portal_layout.addRow("Portal SSID:", self.portal_ssid) + portal_layout.addRow("Portal Password:", self.portal_password) + portal_layout.addRow("AP SSID:", self.portal_ap_ssid) + portal_layout.addRow("Custom Domain:", self.portal_domain) + + # Control buttons + button_layout = QHBoxLayout() + start_portal_btn = QPushButton("Start Portal") + start_portal_btn.clicked.connect(self.start_evil_portal) + stop_portal_btn = QPushButton("Stop Portal") + stop_portal_btn.clicked.connect(lambda: self.send_command("stopportal")) + + button_layout.addWidget(start_portal_btn) + button_layout.addWidget(stop_portal_btn) + portal_layout.addRow(button_layout) + + return portal_widget + def create_settings_tab(self): settings_widget = QWidget() settings_layout = QFormLayout(settings_widget) @@ -293,37 +331,20 @@ def create_settings_tab(self): ble_mac.currentIndexChanged.connect(lambda i: self.send_command(f"setsetting 4 {i+1}")) settings_layout.addRow("Random BLE MAC:", ble_mac) - return settings_widget - - def create_evil_portal_tab(self): - portal_widget = QWidget() - portal_layout = QFormLayout(portal_widget) - - # Portal Settings - self.portal_url = QLineEdit() - self.portal_ssid = QLineEdit() - self.portal_password = QLineEdit() - self.portal_ap_ssid = QLineEdit() - self.portal_domain = QLineEdit() - - portal_layout.addRow("Portal URL:", self.portal_url) - portal_layout.addRow("Portal SSID:", self.portal_ssid) - portal_layout.addRow("Portal Password:", self.portal_password) - portal_layout.addRow("AP SSID:", self.portal_ap_ssid) - portal_layout.addRow("Custom Domain:", self.portal_domain) - - # Control buttons + # Reboot and Save buttons side by side button_layout = QHBoxLayout() - start_portal_btn = QPushButton("Start Portal") - start_portal_btn.clicked.connect(self.start_evil_portal) - stop_portal_btn = QPushButton("Stop Portal") - stop_portal_btn.clicked.connect(lambda: self.send_command("stopportal")) + reboot_btn = QPushButton("Reboot") + reboot_btn.clicked.connect(lambda: self.send_command("reboot")) + button_layout.addWidget(reboot_btn) - button_layout.addWidget(start_portal_btn) - button_layout.addWidget(stop_portal_btn) - portal_layout.addRow(button_layout) + save_btn = QPushButton("Save Settings") + save_btn.clicked.connect(lambda: self.send_command("savesetting")) + button_layout.addWidget(save_btn) - return portal_widget + # Add the button layout to settings layout + settings_layout.addRow(button_layout) + + return settings_widget def create_command_group(self, title, commands, layout, row, col): group = QGroupBox(title) @@ -477,7 +498,7 @@ def show_select_ap_dialog(self): def show_custom_beacon_dialog(self): ssid, ok = QInputDialog.getText(self, "Custom Beacon", "Enter SSID for beacon spam:") if ok and ssid: - self.send_command(f"beaconspam {ssid}") + self.send_command(f'beaconspam "{ssid}"') def show_printer_dialog(self): dialog = QDialog(self) From deedd85f0f87eb32c74f30e77a320281882eb459 Mon Sep 17 00:00:00 2001 From: azzar Date: Wed, 30 Oct 2024 21:59:36 +0700 Subject: [PATCH 06/58] move to new location --- control app/01.png | Bin 247266 -> 0 bytes scripts/control app/01.png | Bin 0 -> 321339 bytes {control app => scripts/control app}/Readme.md | 0 .../control app}/esp_ghost_control.py | 0 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 control app/01.png create mode 100644 scripts/control app/01.png rename {control app => scripts/control app}/Readme.md (100%) rename {control app => scripts/control app}/esp_ghost_control.py (100%) diff --git a/control app/01.png b/control app/01.png deleted file mode 100644 index 3567a2dc19a6dafc5d3dba51a58814318ae771b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 247266 zcmd42bx>VP_cnNNcMlLGxVyW%ySr=f;O-FIHNoB8Ed&q2-Q9u(|90;CyZ61{Ox4W% z^Hoh(!KvNn?B2bkpY^QOy(5(rB$43X!Gk~`Bxxxz6%Yu@69j^QfrSQof@=ivfDbq) zDQy=J2zl_&A6N=4GCt4=?<%h4YUgNaZE9?%1!6Ma5vu@t5&qSy4Ps^aMvf5=bbt8M z?P2X;=IEhj?P_NZlC*MkaU~X4RU#I3ba4IXXh*DM>|kzJKyx7s0uh6x#e~&74NliQ zT=fpT7#=Otj4vm0ryv{0A%DpwbQNh_5An(@XTH-esBVYo*@#pL>GmsBh!?Bi!^Y`pc- ztq+as<9*@L{o)W1@&BWC_ztcu@I)9DGMG$Sp<}JPZ_BBY^Ia@^J>3C95b?nsIqBc+ zk!!|HUm24;ebnr+aOQAJi_Tq2eXg|nWNEeAzw{($6AKYqG-39rlbwo^2{Zb`LK<>(cj&xg~V1N-zh7JGwDGY~}CkE+6f;PhcYR7@2 zkV>ag<3uI6PbqoSEKE&3=lhvURkd!=f)Nv@H(&15%Gn)K5HYUHO5{IxIcNkCf0Ou9 zCzrbStVT0eZLLGsGS$?|0B0bKis;bdowjn;oi(cew^*cwV{k#lc(KDO>gpfL)XE71 zQdbUaBHIFONu(2L0a23V&e8uC1FcI?7&XSr%PTLLY&2uVoql({xMdKinNw)8_o z9p`2}o!ZZ-pTo=VJArI@VP?l_(~p>-Xxc<2g7gD*8rPtTralfRL>&R_W#bBY8ak?yq)GlOr#lZTFR+E)n zw@?&2qJ*rf8peBA{SC_dcYh)U?egL0De2X7FI!#HAdi~8pBnu7wRo3729V=MnFJPG zqf#q@2sylA$?h&Jm(5=gJ>NI5ir#2^_*d;uD2| z-zWN%RDDm7flBInMOkddoK#{n zTuNpJBmc3#%4#^X(dL3vwyu=yRX9>fdOCD2G_sShNV!IRp26E*LK$bQQv2Gf|MNS= zcR$+BG-6z3}9WCKP48Z)s5y>GItauSEozPG7InV836v+?kuJ( z=Ih&a(!An8YtUdJFKlgHCO*r?j~;18j~)FySL5d$KbxY)njC$Bwh+Z6tgS&p+zyaoQ3&*xWP{QO5M$>JObfTWP`JWM|*Yn6R+6 zv!gq5SA`*rr{W+(+AC?F~d{$$*?qN2h@Dv=Bl zJTRu(aD_U3#tQSIkKK|!B=!_ux0@n;Rpz4DeTzhBqau_%JiPV#K;CgNgZ^wOj;|FUSZ97m$_BF(A0 zZ5w^Y9i=6uocyp)Qj1dxXA1Jy!mEPx>WYQ4>?50{s-k9}`@&ACMn)cPHwLRF%$4jr z8%dTu#jdy0oec#{aZx5*9|}&trfN;3_2<>an4n6F%sjPhXnmX)Xy#j!Zm-`lbEuzI zjDNK(BKE~lSt+QqR>qnmxTJOI07lH>zv`qV_pn?vmtR*QVEh(q7`-W>8ETToP{vDF z%r>-~2JdZ%a+gU_e|3mnVd)N@4gk=hgjTIl;Ps3oQB_%0m0M#|lemnmEPXuRFR6)6 zuj^BWw6RSmF0+m`hj04lHtOo?OXsaSaX%6h(PfpD6SPy!jf*FCuF^fuSG5xrN}5tr zQ#adO4vK#qHR`CSm^|!K3Tj((WEEXqUG3_7tf|{H>FjN9n_RDXZ0M)vL%}VQ!Hp zBO^0DG&F?Wu=L!0kfy1kq-6AcYN}_KptiYr-fzSAK1DW>tg*RS!Ms8HY~A~U-muka z%dM=7W59?hVxfNOkL5Un3dxeMdX@9ai+^tSvy0c;r34=BI+%}E?bZEOqQkV#Yo8}O zzBOvX)b50;;M=lNBm?YAK1!!3mwRK`Fk=_l()NwmaK-D!ajeWB7QlQ>)R23AuSV;3 z62loeP%UZh1j?w%ekl0$=RY_lS0t++WdRB}Zu~Ta*Q+UtPNJs8s^KrAKy%5^0sLYCR8}@qrGMJ$C|fK)ipJY^YioA)#c^&4?f*$fL}|aLT*j+UeI~%CPgb3} z@!zk0-ndZ2!Ng4O{yoGvKQ}+W+|k}%*z>%{2=n;#v;%S)qi@0F|GgQEwX?HRM)Yzh z*_D!#(mdt=dVS6JKK@8|<8l7i%*@QLNB4EkT|q$sBnVh->2eg-W@cndKYpNRX6W12 zX_3W`nEqgs7j)hp+->Q3IlGP&6Jf?hEL^fng@%FIp;X9DZ`7ju^#jlhJ3Bi^a38S+ z%Pi%?SStOPF5s6t8*eWg-uD+9f+S=0(=#(@XD27oV6zQTM4p?0QS`dao+ZV_EIqHc zHIm5h`M9>6xDX9rf2HBv-rtXC))?qd1B&o_JSu^Sj*1#rYF^ zL^qLZjtHVil4i+}Q?azP+&!H6lJw!jhtc6-2@fx?HaAaCuB+cW@l(33P6c1SeEEP5 z#0TK}NYxUB(ARy(R|{)NNlDk&=Z84aaO4NWPe(;tR&3>LY;3K0p4*W+z!SP2k1M`- z-<{$q7O9j|MFr7~fsfe(yktgCY1^71YB1d7b^0iP)8ETjxzFZ8?JKRGL1&Zes{c$Y=kv!^32#l=)$%!|LMw9Qd#+jHTB>xj))~c3S1*C^%G_dc5vUV@baPY5nk?c zVx@Y{W5qt8#9O8es;g6?hMXj^b~3PfI$GRK?wXx>gvC$14fhs6`LFobzR4ER^1juS z$MPFiYaR6P*QEYMO4?^m-8=Mv<$iQ}8Ur2N*SK=VkqU%D3QEe^%;F>LXmNB%ummZw zhkeeTrBq;bcb-&te9u-Wd2XulwU-9q)bGsJkay?$K_y=B)zcnuSvZjU*|Pfl(h{D% zwKbe{BH0aKQ5e8uL`6j-YkbdaFJ5mA-)=K9cFz$3rxAGAO}ftebX<0egoNY(!hQEn zhJgQ*>&MYV@@hxF>nwT0hwqx$-hA(8$64Im+~SI4)7m-hmv_s6An|8p%ft>4lmDxa zBr&Sg{oUQLn)=-AQKS3rw*(=eC%Q1g`=YC*6F`>N1^<@?OTX9aJQRUHi{no$+C4bH zmz9;RDk>_Pukn95u{77lKJR&Z{pG}!{l{NRX02~e4BsBxYJB!+OJJa(x33STJO)je z_wYA<54S}|M&6{->voQ%F-|?rw{*L`dT%@#9QfX^X*RnYOrjgL4-P#2?3qhr&_A}Z zvvYM^svkOW?}!!1V+5pDoJ=E={(Y?3^QpL`gtFOmByKwt0f%R7Y^=)M+;<6 z7uAD$^Rd+|4*OrrXYLO@&uMS`=Nb4)ox~W6rQa0Vmpbfqw!+ zFbmdEoLbshX>De7PlkSs9{qTe<1Sq>j@8={48rm zOmTVn>!NA=+^XNx8F?WUd{tGIDhx8gC1796TrUeJfRy+>|GwHRme1k?tif0ckT>5Q z{0%M~L}*sWo|k6-rFwG*0MXzf!HhH1m44@mh7T*%yq#%IXO?)#J^qA_@VoyWPi~;n>`XEKcwDzBe<=ng(9x zYO`!zb#*iP`ug^=6iLUq{NBR=svYKat=n-_P)8L`C_F|L!nUl~v%QP`@%(U2=-7ER z+&Xn28#=IM2cSx0clSCT05^$baDq=uQ;$Gbl4KkK+^W|>P7$yWb8>PLZci3)nwy$J z!Fp|)zGoJ19hKz0kCFJYR903tz7sEK;C;GSH~RYenqEltIP*o4@=pxDJ6}6VGS`k6 z*-6WWpouC32(8=6yjLoNekM+=M8lNe+p`njdrg3Go&7;y-Df}l$Hh9+qza9y?}}vT zQELuqfcEc}ZEIrV;^HWDbae-SWm*k5ej@IMc5Yt8n$Gv{j^lA#D( z!D)aO?gyDI=bhp`yZLL+6eo^Ox8(~iqQfdQh1JXOos1f4STTFked!i8)h2freP7FQ z%*#a~i@l^;+ldOI2r2=ON>qCcH^if(UDu&e$U%S}uqTo4cm{JON=4!85|z@ zGU=cRizF06p52S%<0yxf<|-?Ir-~m;<)Kg}Nvkio0c)0)e^X8wlRihGg4G^6Sh%vL z#)ASKuBfAfcX@4%aKem52MBKnAYk+jz!!S)9Xpu?*x6IAo?ebt!*ku--6j6m8E7#; z$dU$WHCiRu0x@_!7zX7LN;sg;2o+K|pxF8oFio8*jZrJMs32lu0%S`Naf*y}RN*18 zn99^-=Ge}*Pd<}LOO?!)7j}AVGr$HBkJVGb27!c7po232&Nvo|4rk&J2`xYCs=rWY zIh9*C5RL-VzvaY%i&$)HYkSsva{&%gDNBAAKayg`Que)`?yx;hi!OD}jqu7-4@+Db zaKb36s6Q(c@Fj|;$43(&7NbK3vU&pPwAG|^5kwjD8=7H3N1YI=7)dHYtoN@hctq%M zXP!3vE|O7w5YsmfQRS_7HN}?f8@tjyg=APDDFCxRbVHb~KktPG5yPn_R9~LL4Em-E zT%sevDJv-&q_^p&DBH1H4i5lwcFzYQvQ$mm3M)TsSA%>a9 zmG#m5Nd#b|H^!r8EX#GKBNSlyKx$Ik(7^f$Sdc`WS3+N!RuuDT4orUWT61i1xR4Rv)*b@dYb9|19q9!N)O%|_8R0cc~(ny@LPGP#S{&bS4#zR}T9 zIUv!r`}mQi>V)S{+VJx7Qm5$uII9laqy%7U1;B_Wl0B!{Aucd+gn*t ztpjwG2Z;W^4+P)5-YzelMAX%h(iQjseN8DyU;shH_b0h3#^`97i*QHP4+G`SDmhd$ zXV>jvKm)`Z>K7VwUs=$&mS}aCPUUF8?z-uP| z-707uk9ox4y?Y$d^-8fyxu>s!yIb$>*x-a|M!HQ}>?lnGJ`3cmCq=G5F<-hr84sPL z+T=P=1uMj70Mc+tKou35H4L7I1>rO}bXuEyf5>>2WB1W4n|z+2f4A@b`I;$63E*$+ z0H+0*%;9(jYr+2hem^0vdvfcV!+>o~7YE=5IPoJpHUP)HeSNy90R?Cp`nu5pdH2AU zQ*&$UqR&B&M{4GTMH!HQaH!G{Gcr#7TwT>`^}I4!c)UG9@HkymR?*Y5TW_$OY6Wng z5AaSb+xbdrKBvvzL0!i#c4H>oL2}vD*5#Fz4{K{{b+i+((8ZRW$S5e3`x9A~0Ht~w z(*$Y+{*O0D(=~p#6$Jo^#{-;9LqkL70{A*=czC$;579;@;MxRuQE63G)7e_b0u1PV z{KzSg900r?;mM~v82~g7fM4pUshMSDW_}0n9ZjMPE-ydMEH>T;bL((Fqj7X_V6d~b zMd*2bJTX0T)v>p;8wUUi0R<6Jk4|(S7)xGW{`}?XUNI&<-msFSgeq!%b{0do?W6hn zpVgybXn4Vfi`f4shQ9dux3{-1w|n28JA=|W9dkcmN1IRO@Ztcqh&TqF#&2yvI3<-% z95j46))e*Y5&TnkC@-g30ZJ4Y={d=Ng2r z0Zi2Jp0j9(@7GI}$&W0W7B83KhiN80Lug4vJq+uPfxkEVZe-v6|lS3t*( zqp|u`D4k*u|C9>Re3{ZW|64xI{PO?(3aBdH7E*nmU&Z}rw3!L1)V-FErV9|3m;WtC zPAJR$AHU+{>azt6!VBrZ!g{sE_5{O5hzD$r+k3_vL4JK`o6$BCqRTyZnOk`afO8k3 zn~44I?DWYFpas}07;T#U-c@k6ZGHSYJ-0J_m9{R{=|KddZ@D)|q=1-TZ^1BKJ3Hj| zVr#(zZ8Fdd^84RvdLGmIXRbi@ZHipA3-&MD?@>98FmoA%y!7}$WV~v+bog08nnDqq z=TrKYI%oxWRb*c6qx9sh!~!(uKMl4QDZ8)3WLCn**bDu4i{qE4o>z$Zdx6lmo6Ap& zQ8pI0=uBPF{gsP1Q;8tDy7+=Y+}t^LYyWWJ{z>@z%Da2ILjBeQ4JG46!Hk2fw&O-qaXRbP7(FZIg#+#9bl=eWhCyE(ZvnG}~ zbLs6V)#Hgh+kYE|NbA=6r~Ll7*iHgxpud22>Wfq1z8ZXc&mYzIN)j^scy*HIjjH&Y z7}rkAWeP(}4=o-PWYsouOe7t}!U%@Chuu-{~BYBBl34VnN zN{6vxd zXvFjh0a@Tp)UMTy+$N1q)b5l_4;f*&p~dt*{uQicwF`SF#ZBr#ck?3;6Y5ILg5M3H z8l86ZEq-c$rJE>@?ey|S1V)WuY}NNhIcLe0qU}=)2zPJyPvWh^dq`wpDr)+*21s)lozKFk}9w%b;_MTPR&l& zmn|{=;qU)x0>uteK{%kemh5o#NMrc{5xXV5(1gqUvViqd7W`WWlV9CoII-=RH80 zyjs}lt47c4)NJqaR#8#c7nW8MtPu{RAKq`R)?whD5D4!q!(&DVlr*AyRMC&rS^5V| z#xc_w=mgWRoJ&$DMLuwRkWds1_Z{)Bt@k3IXLAr5LBl5{q4+~y|I-|xIjQ<=2hEm) zH5KHxzqRpGIqBB6wiEC=cHl(Lh}V9n(PJQ-i?883db=~fE}A~^S-DwB;)YJUd1NWW&a7&_F9s# z>yR38v5EK-Q>q#cah6=Z8*#{;)4NP$vTbUv2^L6@a`UZjrT)l>y6 zR0gBIK&Ps4)-!#mIGSc4Gir+F4~QujT>ujXvB9FIko^dR9Y!GxsOi88i14d})(H#< z(r2G09}9KEMZ>57yZzn}J0u60NsZEO1dbX?p<94&hnfNjBCe9NY;z-=zIv6m|64@T z$KP!vaO-khQNKn#lzpdOJf$I#BOZvKkq@;$&h$57=WhJv6)~qnOMUeHoVU zq+d(tx+xSomDB1gP7tEeG+&O zf0mpdpiwFGvfMGV=OXfbY~&crfbVI|Uv%#K3RBK}myjk? zj)pp;PhO-Y+D+^SzNI*&og6NKBV-N?i`CdrSpqOOxNe zVe|{)Tq#k~0fmSPAjT=AxmlHhPkP++8AllRbB5JLGC_iAsW5D+=@LQf>ehAJq06^m zo7#K97VuB)Oj{F)K&&mQV2BS?4QW}NNG^=kDqbNc3oR;MP7u=SAry6zRA|V4h7P;-rk}qm5y&9Vns+gP|&06 z8=eN(H=N=Hc4y-s)w+<$+AlKV#9tNfbCys*RA_<9sby+1?E|AD{5FQR{O#&4E(33U$!m zz#4HVnl@_oS)s&bfG7$-b(8&FEGR&W4q89&)|K_|5l9QUMKHzFCoI0zBZ@13%o23s zr0b)F?H|G!$Lst@-)uNQ*+zcWK`Sna{lCZ^u}}3c9FN#91s-C)_ODHQ!Eq$ne@Qb# z6!yQ(J?j7A3XlsGZD#drISre9a3NKjJg|9%B%R3M*F_|*%n+9WTz&}d11V#YL}}(; z7g;Y4UCRg%=R`PY6jB-R)nG!Bv^;zW1s+fs4<coT$1a>Cc z%Z5yV&89F~3P($eOAD3^+GY&2HM;sGI#>NXj3OI>M^;ZLTH@56`-WU7SE78%^=Ke@ z2{^*|C5s|pA=C)2v0`(|J!R0|;m`b5!k<&i`K=0?z4XiXhb z`E?8yTZpdfG8p;LTId=~2^0}<*yVI~#XGE4$Zb*`6HN2~>3H;PbNc)P2jqq;gnbkP zXMa$|b-f*5ApZEV!!W}t)aaMcR15?S<6Y$8zH*}x8lO0FHm~Pq;_qee=7EKU*jLsO z#>h7Tf?U#M#>x?=73#rlb5PLqtg+BXQ6{Z?%jbYQKa@`xwI_`42VV1DXh|`4aK79> z@9l8iofsPVI1!N3x)(a@!>v|hhDqvMJxnl@eYzJ-6hD2QmE5F>fcS)-QHjUjg+6)V zg;xfo3!_2DEAK^3li_CV;qomcuJ|O3+6+^6 zKZ*Hnoaqvq354`@u zXDM!{eOGu0M}DMW+@VL93(>K29MoL5>bHbDZ~XyO-y7duj820rIHWD<(}%wJ1lVw+ z2Ke9odHi7q7acf`e79?>=bCC9J=n2XEj!bU{vlQ&zyf^q%*^QGeZm+nLck$r_j#;W zB+QD+wn9js_CU&$!1jVyK4CK~j%)swHl(5fmcc!{- zBzJFPjHtK-0kb3~3%(wGP1Z=roqQ3AP({CI=S;b7E^2zMlCO4&-nhH@yPxpP*;O#~Zu$Eoe;_JkAMw0dG z0|pToBpULC4jI4#t(|u}vcDDYC?TdSs+|f+&cOesWdDgZm!IDoe0?YL4VzVsK2og} zApm5%ZbDUt$}&2Gpxc!UD})O96El;Uqiko01TC^OK=mSKM-{3^*uF06Zu91&HV3G3-&o#{qh*qG_VNcIg^K&?xp)P3-(GmOag;9Y6Yaa(dz3&oS z=Kw~pN;64WY-vNtjo16uMjo&i{ryVfUizB`O66qv(T<53XsH#&YlxO4laDL6N>ods zSGg7>!vP9rMu}9yAxna=@Wykc57sJ0(BVNGJq#F9M_4)(qhJpdD@6e!1Bf_d%?Yz6 zgi7Z#tOqH6&ofvVocze>S9n7aF!bKt=!@;THy?Zhw#@u;p7BZe^vWTnIn3<>hQlSu z@kySDdc@#Sq^zN^rlC-)QNxHbC-B5k!X#2?VkBsn;c zVZjkK80jWuK!Dl&%uEGv$Dx?GZS!rVze#YaTnT?20D!KGY56+|F~aDk2+Mr9oEa{v zIj%i5}%#C!YWb&a}2)!V8iD zeY_J~`V}(Cpf6}TGw6p2%2I_9?QZu*XUjI}p$29*dt7eqXu+22gQAM-@mgGvC47)A zeKE&65bshmnD%gLeZ!Fsrf_H6c|3T5fVy&;f$g=9{*_cUf->>*xP#rNOJ}wH*bnbi zmGqP&T`Uzunp^7}76wY`BSjW|;3C=g_u=>j+4ItD#xwLK;P^vFci`sv{!)0}<}LXw zr)%WF!_2)L`A81EcuLCQP$#5r_LH8e|AgJdAPX#19EvH;p%-D}&HEb#t%JW6{xWh` z)a3lw{WYn+q+KOUu6cCb>7Al+sRwAQ7uE0OBd5wJ$kprdvwE8=l9?kRA~sAE&Ybb? z?~`xEvr<+(6pWQJ&AX!Gw8E7;dt)u406&~w$$P7Q zd!mgKc6C9^o(|;`LM7q4&R@AE5l0bj-uvRUV5zK15Lj)_guWaSJoSc) }VLSs5) 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

}jI@8Ji?rw-CL6u4q(@)q^}=#6 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 diff --git a/scripts/control app/01.png b/scripts/control app/01.png new file mode 100644 index 0000000000000000000000000000000000000000..693c5c3bb30d3598853055250ae325ba88d5a274 GIT binary patch literal 321339 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‹ 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%0DG|-Qe!VY(MZW5n7BKRlz4b<*Ubl3 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≥{Xdny%sUThrz^P=-j`R%2jMgyUO$v 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 literal 0 HcmV?d00001 diff --git a/control app/Readme.md b/scripts/control app/Readme.md similarity index 100% rename from control app/Readme.md rename to scripts/control app/Readme.md diff --git a/control app/esp_ghost_control.py b/scripts/control app/esp_ghost_control.py similarity index 100% rename from control app/esp_ghost_control.py rename to scripts/control app/esp_ghost_control.py From af276e9f93a5156d3d8e2a8a0b93679f1448f771 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 17:47:34 -0600 Subject: [PATCH 07/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 57 ++++++++------------------ 1 file changed, 16 insertions(+), 41 deletions(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 5d664ace..00aa5244 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -2,8 +2,8 @@ name: Compile Generics on: release: - types: [published] # Automatically triggers on new releases - workflow_dispatch: # Enables manual triggering + types: [published] + workflow_dispatch: jobs: build: @@ -17,20 +17,17 @@ jobs: - esp32s2 - esp32s3 - esp32c3 - - esp32c6 # Added esp32c6 to the target matrix + - esp32c6 steps: - # Step 1: Checkout the repository - name: Checkout Repository uses: actions/checkout@v3 - # Step 2: Set up Python environment - name: Set up Python uses: actions/setup-python@v4 with: - python-version: '3.9' # ESP-IDF compatible version + python-version: '3.9' - # Step 3: Cache ESP-IDF and tools - name: Cache ESP-IDF and Tools uses: actions/cache@v3 with: @@ -44,42 +41,30 @@ jobs: ${{ runner.os }}-esp-idf- ${{ runner.os }}- - # Step 4: Install ESP-IDF + # Corrected ESP-IDF Setup Action - name: Install ESP-IDF - uses: espressif/esp-idf-action@v2 + uses: espressif/setup-esp-idf@v1 with: - version: v4.4 # Specify your ESP-IDF version - tools: true # Install necessary tools like cmake, ninja + version: 'v4.4' + tools: true python-version: 3.9 - # Step 5: Set the target device - name: Set Target run: idf.py set-target ${{ matrix.target }} - # Step 6: Apply the base sdkconfig - name: Apply Base sdkconfig run: cp sdkconfig.defaults sdkconfig - # Step 7: Override Build Options - name: Override Build Options run: | - # Set Serial Flash Size to 4MB idf.py set-config FLASH_SIZE 4MB - - # Enable Compiler Optimization for Size idf.py set-config CONFIG_COMPILER_OPTIMIZATION_SIZE=y - - # Use Custom Partition Table with Default Option idf.py set-config PARTITION_TABLE_CUSTOM=y - idf.py set-config PARTITION_TABLE_FILENAME "partitions.csv" # Replace with your partition table file if different - - # Enable Long File Names in FAT Filesystem and Store in Heap + idf.py set-config PARTITION_TABLE_FILENAME "partitions.csv" idf.py set-config CONFIG_FATFS_LFN_ENABLED=y - idf.py set-config CONFIG_FATFS_LFN_CODE_PAGE=437 # Example code page, adjust if needed + idf.py set-config CONFIG_FATFS_LFN_CODE_PAGE=437 idf.py set-config CONFIG_FATFS_MAX_LFN=255 - # Ensure that FAT filesystem uses heap memory where applicable - # Configure Bluetooth and NimBLE based on target if [ "${{ matrix.target }}" = "esp32s2" ]; then idf.py set-config CONFIG_BT_ENABLED=n idf.py set-config CONFIG_BLUEDROID_ENABLED=n @@ -94,7 +79,6 @@ jobs: idf.py set-config CONFIG_BT_NIMBLE_ENABLED=y fi - # Configure LVGL Font Sizes for Montserrat idf.py set-config CONFIG_LV_FONT_MONTSERRAT_8=y idf.py set-config CONFIG_LV_FONT_MONTSERRAT_10=y idf.py set-config CONFIG_LV_FONT_MONTSERRAT_12=y @@ -103,28 +87,22 @@ jobs: idf.py set-config CONFIG_LV_FONT_MONTSERRAT_18=y idf.py set-config CONFIG_LV_FONT_MONTSERRAT_24=y - # Save the updated configuration - idf.py menuconfig --disableconfig # Ensures non-interactive save + idf.py menuconfig --disableconfig idf.py reconfigure - # Step 8: Clean the build environment - name: Clean Build Environment run: idf.py fullclean - # Step 9: Build the project - name: Build Project run: idf.py build - # Step 10: Package Specific Build Artifacts into a ZIP File - name: Package Build Artifacts run: | mkdir -p packaged_artifacts - # Define the paths to the artifacts BOOTLOADER_BIN=build/bootloader/bootloader.bin PARTITION_TABLE_BIN=build/partition_table/partition-table.bin GHOST_ESP_IDF_BIN=build/Ghost_ESP_IDF.bin - # Check if files exist if [ ! -f "$BOOTLOADER_BIN" ]; then echo "Error: $BOOTLOADER_BIN not found!" exit 1 @@ -140,25 +118,21 @@ jobs: exit 1 fi - # Copy files to the packaged_artifacts directory cp "$BOOTLOADER_BIN" packaged_artifacts/ cp "$PARTITION_TABLE_BIN" packaged_artifacts/ cp "$GHOST_ESP_IDF_BIN" packaged_artifacts/ - # Create a ZIP file ZIP_NAME="${{ matrix.target }}-build-${{ github.run_id }}.zip" cd packaged_artifacts zip "$ZIP_NAME" bootloader.bin partition-table.bin Ghost_ESP_IDF.bin cd .. - # Step 11: Upload the ZIP File as a Build Artifact - name: Upload Build Artifacts ZIP uses: actions/upload-artifact@v3 with: name: ${{ matrix.target }}-build-${{ github.run_id }}.zip path: packaged_artifacts/${{ matrix.target }}-build-${{ github.run_id }}.zip - # Step 12: Archive build directory on failure (Optional) - name: Archive Build Directory on Failure if: failure() uses: actions/upload-artifact@v3 @@ -166,13 +140,14 @@ jobs: name: ${{ matrix.target }}-build-failure-${{ github.run_id }} path: build/ - # Step 13: Notify on Failure via Discord + # Corrected Discord Notification Step - name: Notify on Failure if: failure() - uses: Ilshidur/action-discord@v2 # A Discord webhook action + uses: rtCamp/action-slack-notify@v2 # New notification action for Discord/Slack + env: + SLACK_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_URL }} with: - webhook: ${{ secrets.DISCORD_WEBHOOK_URL }} - content: | + message: | 🚨 **Build Failed** **Repository**: `${{ github.repository }}` **Target**: `${{ matrix.target }}` From 78de908101f1de90d254bd6309298bc811c41f3e Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 17:49:46 -0600 Subject: [PATCH 08/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 00aa5244..b7de926c 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -41,13 +41,15 @@ jobs: ${{ runner.os }}-esp-idf- ${{ runner.os }}- - # Corrected ESP-IDF Setup Action + # Manual ESP-IDF Installation - name: Install ESP-IDF - uses: espressif/setup-esp-idf@v1 - with: - version: 'v4.4' - tools: true - python-version: 3.9 + run: | + sudo apt-get update + sudo apt-get install -y wget git flex bison gperf python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util + git clone -b v4.4 --depth 1 https://github.com/espressif/esp-idf.git ~/esp-idf + ~/esp-idf/install.sh + echo "source ~/esp-idf/export.sh" >> $GITHUB_ENV + shell: bash - name: Set Target run: idf.py set-target ${{ matrix.target }} @@ -140,10 +142,9 @@ jobs: name: ${{ matrix.target }}-build-failure-${{ github.run_id }} path: build/ - # Corrected Discord Notification Step - name: Notify on Failure if: failure() - uses: rtCamp/action-slack-notify@v2 # New notification action for Discord/Slack + uses: rtCamp/action-slack-notify@v2 env: SLACK_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_URL }} with: From 0f6db340ecdb55a5a692562be07fa1466feb2d42 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 17:54:47 -0600 Subject: [PATCH 09/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index b7de926c..07e44521 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -48,17 +48,20 @@ jobs: sudo apt-get install -y wget git flex bison gperf python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util git clone -b v4.4 --depth 1 https://github.com/espressif/esp-idf.git ~/esp-idf ~/esp-idf/install.sh - echo "source ~/esp-idf/export.sh" >> $GITHUB_ENV - shell: bash - name: Set Target - run: idf.py set-target ${{ matrix.target }} + run: | + . ~/esp-idf/export.sh + idf.py set-target ${{ matrix.target }} - name: Apply Base sdkconfig - run: cp sdkconfig.defaults sdkconfig + run: | + . ~/esp-idf/export.sh + cp sdkconfig.defaults sdkconfig - name: Override Build Options run: | + . ~/esp-idf/export.sh idf.py set-config FLASH_SIZE 4MB idf.py set-config CONFIG_COMPILER_OPTIMIZATION_SIZE=y idf.py set-config PARTITION_TABLE_CUSTOM=y @@ -93,13 +96,18 @@ jobs: idf.py reconfigure - name: Clean Build Environment - run: idf.py fullclean + run: | + . ~/esp-idf/export.sh + idf.py fullclean - name: Build Project - run: idf.py build + run: | + . ~/esp-idf/export.sh + idf.py build - name: Package Build Artifacts run: | + . ~/esp-idf/export.sh mkdir -p packaged_artifacts BOOTLOADER_BIN=build/bootloader/bootloader.bin PARTITION_TABLE_BIN=build/partition_table/partition-table.bin From 4c6b08cb4c9cdf9b607033564259fab1ad78c6fd Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 18:00:19 -0600 Subject: [PATCH 10/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 07e44521..e24852d9 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -46,7 +46,7 @@ jobs: run: | sudo apt-get update sudo apt-get install -y wget git flex bison gperf python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util - git clone -b v4.4 --depth 1 https://github.com/espressif/esp-idf.git ~/esp-idf + git clone -b v5.3.1 --depth 1 https://github.com/espressif/esp-idf.git ~/esp-idf ~/esp-idf/install.sh - name: Set Target From 42d049cffbd4bf43d1b81d0fc1b3493f08d689a3 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 18:01:46 -0600 Subject: [PATCH 11/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index e24852d9..e295fb6b 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -152,13 +152,7 @@ jobs: - name: Notify on Failure if: failure() - uses: rtCamp/action-slack-notify@v2 - env: - SLACK_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_URL }} - with: - message: | - 🚨 **Build Failed** - **Repository**: `${{ github.repository }}` - **Target**: `${{ matrix.target }}` - **Run ID**: `${{ github.run_id }}` - **View Details**: `${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}` \ No newline at end of file + run: | + curl -X POST -H "Content-Type: application/json" \ + -d "{\"content\": \"🚨 **Build Failed**\n**Repository**: \`${{ github.repository }}\`\n**Target**: \`${{ matrix.target }}\`\n**Run ID**: \`${{ github.run_id }}\`\n**View Details**: [Click Here](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})\"}" \ + ${{ secrets.DISCORD_WEBHOOK_URL }} \ No newline at end of file From 265a4a62197e764ad697bc124c8b41af828db695 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 18:07:14 -0600 Subject: [PATCH 12/58] Update CMakeLists.txt --- main/CMakeLists.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index e9ba23f6..4b1c3618 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -18,6 +18,4 @@ set(required_components bt nvs_flash driver esp_http_server mdns json esp_http_c # Register the component with the dynamically collected source files and include directories idf_component_register(SRCS ${app_sources} "vendor/m5/m5gfx_wrapper.cpp" INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/include" - "C:/Espressif/frameworks/esp-idf-v5.3.1/components/wpa_supplicant/esp_supplicant/src" - "C:/Espressif/frameworks/esp-idf-v5.3.1/components/wpa_supplicant/src" REQUIRES ${required_components}) \ No newline at end of file From 7234f5dd1678386c9f953d623a8972eff9852833 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 18:19:49 -0600 Subject: [PATCH 13/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index e295fb6b..7f356639 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -35,7 +35,7 @@ jobs: ~/.espressif ~/.idf_tools ~/.cache/pip - key: ${{ runner.os }}-esp-idf-${{ matrix.target }}-${{ hashFiles('**/sdkconfig.defaults') }} + key: ${{ runner.os }}-esp-idf-${{ matrix.target }}-${{ hashFiles('**/sdkconfig') }} restore-keys: | ${{ runner.os }}-esp-idf-${{ matrix.target }}- ${{ runner.os }}-esp-idf- @@ -54,10 +54,11 @@ jobs: . ~/esp-idf/export.sh idf.py set-target ${{ matrix.target }} + # Use sdkconfig instead of sdkconfig.defaults - name: Apply Base sdkconfig run: | . ~/esp-idf/export.sh - cp sdkconfig.defaults sdkconfig + cp sdkconfig sdkconfig.build - name: Override Build Options run: | @@ -150,9 +151,10 @@ jobs: name: ${{ matrix.target }}-build-failure-${{ github.run_id }} path: build/ + # Discord notification using curl - name: Notify on Failure if: failure() run: | curl -X POST -H "Content-Type: application/json" \ -d "{\"content\": \"🚨 **Build Failed**\n**Repository**: \`${{ github.repository }}\`\n**Target**: \`${{ matrix.target }}\`\n**Run ID**: \`${{ github.run_id }}\`\n**View Details**: [Click Here](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})\"}" \ - ${{ secrets.DISCORD_WEBHOOK_URL }} \ No newline at end of file + ${{ secrets.DISCORD_WEBHOOK_URL }} From 2564a80c5e657a813f39b6a7199bfb5a5d7e7aad Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 18:26:06 -0600 Subject: [PATCH 14/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 55 ++++++++++++-------------- 1 file changed, 26 insertions(+), 29 deletions(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 7f356639..90221099 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -60,41 +60,38 @@ jobs: . ~/esp-idf/export.sh cp sdkconfig sdkconfig.build - - name: Override Build Options + - name: Override Build Options in sdkconfig run: | . ~/esp-idf/export.sh - idf.py set-config FLASH_SIZE 4MB - idf.py set-config CONFIG_COMPILER_OPTIMIZATION_SIZE=y - idf.py set-config PARTITION_TABLE_CUSTOM=y - idf.py set-config PARTITION_TABLE_FILENAME "partitions.csv" - idf.py set-config CONFIG_FATFS_LFN_ENABLED=y - idf.py set-config CONFIG_FATFS_LFN_CODE_PAGE=437 - idf.py set-config CONFIG_FATFS_MAX_LFN=255 + sed -i 's/^CONFIG_FLASH_SIZE.*/CONFIG_FLASH_SIZE_4MB=y/' sdkconfig.build + sed -i 's/^CONFIG_COMPILER_OPTIMIZATION_SIZE.*/CONFIG_COMPILER_OPTIMIZATION_SIZE=y/' sdkconfig.build + sed -i 's/^CONFIG_PARTITION_TABLE_CUSTOM.*/CONFIG_PARTITION_TABLE_CUSTOM=y/' sdkconfig.build + sed -i 's/^CONFIG_PARTITION_TABLE_FILENAME.*/CONFIG_PARTITION_TABLE_FILENAME="partitions.csv"/' sdkconfig.build + sed -i 's/^CONFIG_FATFS_LFN_ENABLED.*/CONFIG_FATFS_LFN_ENABLED=y/' sdkconfig.build + sed -i 's/^CONFIG_FATFS_LFN_CODE_PAGE.*/CONFIG_FATFS_LFN_CODE_PAGE_437=y/' sdkconfig.build + sed -i 's/^CONFIG_FATFS_MAX_LFN.*/CONFIG_FATFS_MAX_LFN=255/' sdkconfig.build if [ "${{ matrix.target }}" = "esp32s2" ]; then - idf.py set-config CONFIG_BT_ENABLED=n - idf.py set-config CONFIG_BLUEDROID_ENABLED=n - idf.py set-config CONFIG_BLUETOOTH_ENABLED=n - idf.py set-config CONFIG_BLE_ENABLED=n - idf.py set-config CONFIG_BT_NIMBLE_ENABLED=n + sed -i 's/^CONFIG_BT_ENABLED.*/CONFIG_BT_ENABLED=n/' sdkconfig.build + sed -i 's/^CONFIG_BLUEDROID_ENABLED.*/CONFIG_BLUEDROID_ENABLED=n/' sdkconfig.build + sed -i 's/^CONFIG_BLUETOOTH_ENABLED.*/CONFIG_BLUETOOTH_ENABLED=n/' sdkconfig.build + sed -i 's/^CONFIG_BLE_ENABLED.*/CONFIG_BLE_ENABLED=n/' sdkconfig.build + sed -i 's/^CONFIG_BT_NIMBLE_ENABLED.*/CONFIG_BT_NIMBLE_ENABLED=n/' sdkconfig.build else - idf.py set-config CONFIG_BT_ENABLED=y - idf.py set-config CONFIG_BLUEDROID_ENABLED=y - idf.py set-config CONFIG_BLUETOOTH_ENABLED=y - idf.py set-config CONFIG_BLE_ENABLED=y - idf.py set-config CONFIG_BT_NIMBLE_ENABLED=y + sed -i 's/^CONFIG_BT_ENABLED.*/CONFIG_BT_ENABLED=y/' sdkconfig.build + sed -i 's/^CONFIG_BLUEDROID_ENABLED.*/CONFIG_BLUEDROID_ENABLED=y/' sdkconfig.build + sed -i 's/^CONFIG_BLUETOOTH_ENABLED.*/CONFIG_BLUETOOTH_ENABLED=y/' sdkconfig.build + sed -i 's/^CONFIG_BLE_ENABLED.*/CONFIG_BLE_ENABLED=y/' sdkconfig.build + sed -i 's/^CONFIG_BT_NIMBLE_ENABLED.*/CONFIG_BT_NIMBLE_ENABLED=y/' sdkconfig.build fi - idf.py set-config CONFIG_LV_FONT_MONTSERRAT_8=y - idf.py set-config CONFIG_LV_FONT_MONTSERRAT_10=y - idf.py set-config CONFIG_LV_FONT_MONTSERRAT_12=y - idf.py set-config CONFIG_LV_FONT_MONTSERRAT_14=y - idf.py set-config CONFIG_LV_FONT_MONTSERRAT_16=y - idf.py set-config CONFIG_LV_FONT_MONTSERRAT_18=y - idf.py set-config CONFIG_LV_FONT_MONTSERRAT_24=y - - idf.py menuconfig --disableconfig - idf.py reconfigure + sed -i 's/^CONFIG_LV_FONT_MONTSERRAT_8.*/CONFIG_LV_FONT_MONTSERRAT_8=y/' sdkconfig.build + sed -i 's/^CONFIG_LV_FONT_MONTSERRAT_10.*/CONFIG_LV_FONT_MONTSERRAT_10=y/' sdkconfig.build + sed -i 's/^CONFIG_LV_FONT_MONTSERRAT_12.*/CONFIG_LV_FONT_MONTSERRAT_12=y/' sdkconfig.build + sed -i 's/^CONFIG_LV_FONT_MONTSERRAT_14.*/CONFIG_LV_FONT_MONTSERRAT_14=y/' sdkconfig.build + sed -i 's/^CONFIG_LV_FONT_MONTSERRAT_16.*/CONFIG_LV_FONT_MONTSERRAT_16=y/' sdkconfig.build + sed -i 's/^CONFIG_LV_FONT_MONTSERRAT_18.*/CONFIG_LV_FONT_MONTSERRAT_18=y/' sdkconfig.build + sed -i 's/^CONFIG_LV_FONT_MONTSERRAT_24.*/CONFIG_LV_FONT_MONTSERRAT_24=y/' sdkconfig.build - name: Clean Build Environment run: | @@ -157,4 +154,4 @@ jobs: run: | curl -X POST -H "Content-Type: application/json" \ -d "{\"content\": \"🚨 **Build Failed**\n**Repository**: \`${{ github.repository }}\`\n**Target**: \`${{ matrix.target }}\`\n**Run ID**: \`${{ github.run_id }}\`\n**View Details**: [Click Here](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})\"}" \ - ${{ secrets.DISCORD_WEBHOOK_URL }} + ${{ secrets.DISCORD_WEBHOOK_URL }} \ No newline at end of file From cb82cae7998494425bda092ecff6591c908e13b7 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 18:34:41 -0600 Subject: [PATCH 15/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 90221099..e366d65b 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -71,6 +71,7 @@ jobs: sed -i 's/^CONFIG_FATFS_LFN_CODE_PAGE.*/CONFIG_FATFS_LFN_CODE_PAGE_437=y/' sdkconfig.build sed -i 's/^CONFIG_FATFS_MAX_LFN.*/CONFIG_FATFS_MAX_LFN=255/' sdkconfig.build + # Enable NimBLE for all targets except esp32s2 if [ "${{ matrix.target }}" = "esp32s2" ]; then sed -i 's/^CONFIG_BT_ENABLED.*/CONFIG_BT_ENABLED=n/' sdkconfig.build sed -i 's/^CONFIG_BLUEDROID_ENABLED.*/CONFIG_BLUEDROID_ENABLED=n/' sdkconfig.build @@ -79,12 +80,13 @@ jobs: sed -i 's/^CONFIG_BT_NIMBLE_ENABLED.*/CONFIG_BT_NIMBLE_ENABLED=n/' sdkconfig.build else sed -i 's/^CONFIG_BT_ENABLED.*/CONFIG_BT_ENABLED=y/' sdkconfig.build - sed -i 's/^CONFIG_BLUEDROID_ENABLED.*/CONFIG_BLUEDROID_ENABLED=y/' sdkconfig.build + sed -i 's/^CONFIG_BLUEDROID_ENABLED.*/CONFIG_BLUEDROID_ENABLED=n/' sdkconfig.build sed -i 's/^CONFIG_BLUETOOTH_ENABLED.*/CONFIG_BLUETOOTH_ENABLED=y/' sdkconfig.build sed -i 's/^CONFIG_BLE_ENABLED.*/CONFIG_BLE_ENABLED=y/' sdkconfig.build sed -i 's/^CONFIG_BT_NIMBLE_ENABLED.*/CONFIG_BT_NIMBLE_ENABLED=y/' sdkconfig.build fi + # Set LVGL font configurations sed -i 's/^CONFIG_LV_FONT_MONTSERRAT_8.*/CONFIG_LV_FONT_MONTSERRAT_8=y/' sdkconfig.build sed -i 's/^CONFIG_LV_FONT_MONTSERRAT_10.*/CONFIG_LV_FONT_MONTSERRAT_10=y/' sdkconfig.build sed -i 's/^CONFIG_LV_FONT_MONTSERRAT_12.*/CONFIG_LV_FONT_MONTSERRAT_12=y/' sdkconfig.build From 643700884b4d3c408f3c5b18dbc1ddb4a1de050d Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 18:42:35 -0600 Subject: [PATCH 16/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index e366d65b..b84313de 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -71,7 +71,7 @@ jobs: sed -i 's/^CONFIG_FATFS_LFN_CODE_PAGE.*/CONFIG_FATFS_LFN_CODE_PAGE_437=y/' sdkconfig.build sed -i 's/^CONFIG_FATFS_MAX_LFN.*/CONFIG_FATFS_MAX_LFN=255/' sdkconfig.build - # Enable NimBLE for all targets except esp32s2 + # Enable Bluetooth and NimBLE for all targets except esp32s2 if [ "${{ matrix.target }}" = "esp32s2" ]; then sed -i 's/^CONFIG_BT_ENABLED.*/CONFIG_BT_ENABLED=n/' sdkconfig.build sed -i 's/^CONFIG_BLUEDROID_ENABLED.*/CONFIG_BLUEDROID_ENABLED=n/' sdkconfig.build @@ -84,6 +84,11 @@ jobs: sed -i 's/^CONFIG_BLUETOOTH_ENABLED.*/CONFIG_BLUETOOTH_ENABLED=y/' sdkconfig.build sed -i 's/^CONFIG_BLE_ENABLED.*/CONFIG_BLE_ENABLED=y/' sdkconfig.build sed -i 's/^CONFIG_BT_NIMBLE_ENABLED.*/CONFIG_BT_NIMBLE_ENABLED=y/' sdkconfig.build + sed -i 's/^CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY.*/CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY=y/' sdkconfig.build + sed -i 's/^CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN.*/CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN=3/' sdkconfig.build + sed -i 's/^CONFIG_BT_NIMBLE_ROLE_PERIPHERAL.*/CONFIG_BT_NIMBLE_ROLE_PERIPHERAL=y/' sdkconfig.build + sed -i 's/^CONFIG_BT_NIMBLE_ROLE_CENTRAL.*/CONFIG_BT_NIMBLE_ROLE_CENTRAL=y/' sdkconfig.build + sed -i 's/^CONFIG_BT_NIMBLE_MAX_CONNECTIONS.*/CONFIG_BT_NIMBLE_MAX_CONNECTIONS=3/' sdkconfig.build fi # Set LVGL font configurations From b51eb0153f7939a7d30a3f84ad806493500d1c92 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 18:51:32 -0600 Subject: [PATCH 17/58] Create sdkconfig.nimble --- configs/sdkconfig.nimble | 2708 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 2708 insertions(+) create mode 100644 configs/sdkconfig.nimble diff --git a/configs/sdkconfig.nimble b/configs/sdkconfig.nimble new file mode 100644 index 00000000..768b194f --- /dev/null +++ b/configs/sdkconfig.nimble @@ -0,0 +1,2708 @@ +# +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Configuration +# +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED="Not determined" +CONFIG_SOC_TWAI_BRP_DIV_SUPPORTED="Not determined" +CONFIG_SOC_DPORT_WORKAROUND="Not determined" +CONFIG_SOC_CAPS_ECO_VER_MAX=301 +CONFIG_SOC_ADC_SUPPORTED=y +CONFIG_SOC_DAC_SUPPORTED=y +CONFIG_SOC_UART_SUPPORTED=y +CONFIG_SOC_MCPWM_SUPPORTED=y +CONFIG_SOC_GPTIMER_SUPPORTED=y +CONFIG_SOC_SDMMC_HOST_SUPPORTED=y +CONFIG_SOC_BT_SUPPORTED=y +CONFIG_SOC_PCNT_SUPPORTED=y +CONFIG_SOC_PHY_SUPPORTED=y +CONFIG_SOC_WIFI_SUPPORTED=y +CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y +CONFIG_SOC_TWAI_SUPPORTED=y +CONFIG_SOC_EFUSE_SUPPORTED=y +CONFIG_SOC_EMAC_SUPPORTED=y +CONFIG_SOC_ULP_SUPPORTED=y +CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y +CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y +CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y +CONFIG_SOC_RTC_MEM_SUPPORTED=y +CONFIG_SOC_I2S_SUPPORTED=y +CONFIG_SOC_RMT_SUPPORTED=y +CONFIG_SOC_SDM_SUPPORTED=y +CONFIG_SOC_GPSPI_SUPPORTED=y +CONFIG_SOC_LEDC_SUPPORTED=y +CONFIG_SOC_I2C_SUPPORTED=y +CONFIG_SOC_SUPPORT_COEXISTENCE=y +CONFIG_SOC_AES_SUPPORTED=y +CONFIG_SOC_MPI_SUPPORTED=y +CONFIG_SOC_SHA_SUPPORTED=y +CONFIG_SOC_FLASH_ENC_SUPPORTED=y +CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y +CONFIG_SOC_BOD_SUPPORTED=y +CONFIG_SOC_ULP_FSM_SUPPORTED=y +CONFIG_SOC_CLK_TREE_SUPPORTED=y +CONFIG_SOC_MPU_SUPPORTED=y +CONFIG_SOC_WDT_SUPPORTED=y +CONFIG_SOC_SPI_FLASH_SUPPORTED=y +CONFIG_SOC_RNG_SUPPORTED=y +CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y +CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y +CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y +CONFIG_SOC_PM_SUPPORTED=y +CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5 +CONFIG_SOC_XTAL_SUPPORT_26M=y +CONFIG_SOC_XTAL_SUPPORT_40M=y +CONFIG_SOC_XTAL_SUPPORT_AUTO_DETECT=y +CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y +CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +CONFIG_SOC_ADC_DMA_SUPPORTED=y +CONFIG_SOC_ADC_PERIPH_NUM=2 +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 +CONFIG_SOC_ADC_ATTEN_NUM=4 +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 +CONFIG_SOC_ADC_PATT_LEN_MAX=16 +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=9 +CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2 +CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=0 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=2 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=20 +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9 +CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_SHARED_POWER=y +CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y +CONFIG_SOC_IDCACHE_PER_CORE=y +CONFIG_SOC_CPU_CORES_NUM=2 +CONFIG_SOC_CPU_INTR_NUM=32 +CONFIG_SOC_CPU_HAS_FPU=y +CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y +CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 +CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64 +CONFIG_SOC_DAC_CHAN_NUM=2 +CONFIG_SOC_DAC_RESOLUTION=8 +CONFIG_SOC_DAC_DMA_16BIT_ALIGN=y +CONFIG_SOC_GPIO_PORT=1 +CONFIG_SOC_GPIO_PIN_COUNT=40 +CONFIG_SOC_GPIO_VALID_GPIO_MASK=0xFFFFFFFFFF +CONFIG_SOC_GPIO_IN_RANGE_MAX=39 +CONFIG_SOC_GPIO_OUT_RANGE_MAX=33 +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA +CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y +CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +CONFIG_SOC_I2C_NUM=2 +CONFIG_SOC_HP_I2C_NUM=2 +CONFIG_SOC_I2C_FIFO_LEN=32 +CONFIG_SOC_I2C_CMD_REG_NUM=16 +CONFIG_SOC_I2C_SUPPORT_SLAVE=y +CONFIG_SOC_I2C_SUPPORT_APB=y +CONFIG_SOC_I2C_STOP_INDEPENDENT=y +CONFIG_SOC_I2S_NUM=2 +CONFIG_SOC_I2S_HW_VERSION_1=y +CONFIG_SOC_I2S_SUPPORTS_APLL=y +CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y +CONFIG_SOC_I2S_SUPPORTS_PDM=y +CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=1 +CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1 +CONFIG_SOC_I2S_SUPPORTS_ADC_DAC=y +CONFIG_SOC_I2S_SUPPORTS_ADC=y +CONFIG_SOC_I2S_SUPPORTS_DAC=y +CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y +CONFIG_SOC_I2S_TRANS_SIZE_ALIGN_WORD=y +CONFIG_SOC_I2S_LCD_I80_VARIANT=y +CONFIG_SOC_LCD_I80_SUPPORTED=y +CONFIG_SOC_LCD_I80_BUSES=2 +CONFIG_SOC_LCD_I80_BUS_WIDTH=24 +CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y +CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y +CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y +CONFIG_SOC_LEDC_SUPPORT_HS_MODE=y +CONFIG_SOC_LEDC_CHANNEL_NUM=8 +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 +CONFIG_SOC_MCPWM_GROUPS=2 +CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 +CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 +CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 +CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y +CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 +CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 +CONFIG_SOC_MMU_PERIPH_NUM=2 +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=3 +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +CONFIG_SOC_PCNT_GROUPS=1 +CONFIG_SOC_PCNT_UNITS_PER_GROUP=8 +CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 +CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 +CONFIG_SOC_RMT_GROUPS=1 +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=8 +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=8 +CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64 +CONFIG_SOC_RMT_SUPPORT_REF_TICK=y +CONFIG_SOC_RMT_SUPPORT_APB=y +CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y +CONFIG_SOC_RTCIO_PIN_COUNT=18 +CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y +CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y +CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y +CONFIG_SOC_SDM_GROUPS=1 +CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 +CONFIG_SOC_SDM_CLK_SUPPORT_APB=y +CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y +CONFIG_SOC_SPI_AS_CS_SUPPORTED=y +CONFIG_SOC_SPI_PERIPH_NUM=3 +CONFIG_SOC_SPI_DMA_CHAN_NUM=2 +CONFIG_SOC_SPI_MAX_CS_NUM=3 +CONFIG_SOC_SPI_SUPPORT_CLK_APB=y +CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192 +CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y +CONFIG_SOC_TIMER_GROUPS=2 +CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 +CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64 +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y +CONFIG_SOC_TOUCH_SENSOR_VERSION=1 +CONFIG_SOC_TOUCH_SENSOR_NUM=10 +CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 +CONFIG_SOC_TWAI_CONTROLLER_NUM=1 +CONFIG_SOC_TWAI_BRP_MIN=2 +CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y +CONFIG_SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT=y +CONFIG_SOC_UART_NUM=3 +CONFIG_SOC_UART_HP_NUM=3 +CONFIG_SOC_UART_SUPPORT_APB_CLK=y +CONFIG_SOC_UART_SUPPORT_REF_TICK=y +CONFIG_SOC_UART_FIFO_LEN=128 +CONFIG_SOC_UART_BITRATE_MAX=5000000 +CONFIG_SOC_SPIRAM_SUPPORTED=y +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +CONFIG_SOC_SHA_SUPPORT_PARALLEL_ENG=y +CONFIG_SOC_SHA_ENDIANNESS_BE=y +CONFIG_SOC_SHA_SUPPORT_SHA1=y +CONFIG_SOC_SHA_SUPPORT_SHA256=y +CONFIG_SOC_SHA_SUPPORT_SHA384=y +CONFIG_SOC_SHA_SUPPORT_SHA512=y +CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 +CONFIG_SOC_MPI_OPERATIONS_NUM=y +CONFIG_SOC_RSA_MAX_BIT_LEN=4096 +CONFIG_SOC_AES_SUPPORT_AES_128=y +CONFIG_SOC_AES_SUPPORT_AES_192=y +CONFIG_SOC_AES_SUPPORT_AES_256=y +CONFIG_SOC_SECURE_BOOT_V1=y +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y +CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y +CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y +CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y +CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +CONFIG_SOC_PM_SUPPORT_MODEM_PD=y +CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y +CONFIG_SOC_CLK_APLL_SUPPORTED=y +CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y +CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y +CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y +CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y +CONFIG_SOC_SDMMC_USE_IOMUX=y +CONFIG_SOC_SDMMC_NUM_SLOTS=2 +CONFIG_SOC_WIFI_WAPI_SUPPORT=y +CONFIG_SOC_WIFI_CSI_SUPPORT=y +CONFIG_SOC_WIFI_MESH_SUPPORT=y +CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y +CONFIG_SOC_WIFI_NAN_SUPPORT=y +CONFIG_SOC_BLE_SUPPORTED=y +CONFIG_SOC_BLE_MESH_SUPPORTED=y +CONFIG_SOC_BT_CLASSIC_SUPPORTED=y +CONFIG_SOC_BLUFI_SUPPORTED=y +CONFIG_SOC_BT_H2C_ENC_KEY_CTRL_ENH_VSC_SUPPORTED=y +CONFIG_SOC_ULP_HAS_ADC=y +CONFIG_SOC_PHY_COMBO_MODULE=y +CONFIG_SOC_EMAC_RMII_CLK_OUT_INTERNAL_LOOPBACK=y +CONFIG_IDF_CMAKE=y +CONFIG_IDF_TOOLCHAIN="gcc" +CONFIG_IDF_TARGET_ARCH_XTENSA=y +CONFIG_IDF_TARGET_ARCH="xtensa" +CONFIG_IDF_TARGET="esp32" +CONFIG_IDF_INIT_VERSION="5.3.1" +CONFIG_IDF_TARGET_ESP32=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 + +# +# Build type +# +CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y +# CONFIG_APP_BUILD_TYPE_RAM is not set +CONFIG_APP_BUILD_GENERATE_BINARIES=y +CONFIG_APP_BUILD_BOOTLOADER=y +CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y +# CONFIG_APP_REPRODUCIBLE_BUILD is not set +# CONFIG_APP_NO_BLOBS is not set +# CONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set +# CONFIG_APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set +# end of Build type + +# +# Bootloader config +# + +# +# Bootloader manager +# +CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y +CONFIG_BOOTLOADER_PROJECT_VER=1 +# end of Bootloader manager + +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000 +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set +CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y +# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set +CONFIG_BOOTLOADER_LOG_LEVEL=3 + +# +# Serial Flash Configurations +# +# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set +CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y +# end of Serial Flash Configurations + +CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y +# CONFIG_BOOTLOADER_FACTORY_RESET is not set +# CONFIG_BOOTLOADER_APP_TEST is not set +CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y +CONFIG_BOOTLOADER_WDT_ENABLE=y +# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set +CONFIG_BOOTLOADER_WDT_TIME_MS=9000 +# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set +CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 +# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set +# end of Bootloader config + +# +# Security features +# +CONFIG_SECURE_BOOT_V1_SUPPORTED=y +# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set +# CONFIG_SECURE_BOOT is not set +# CONFIG_SECURE_FLASH_ENC_ENABLED is not set +# end of Security features + +# +# Application manager +# +CONFIG_APP_COMPILE_TIME_DATE=y +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set +# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set +CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 +# end of Application manager + +CONFIG_ESP_ROM_HAS_CRC_LE=y +CONFIG_ESP_ROM_HAS_CRC_BE=y +CONFIG_ESP_ROM_HAS_MZ_CRC32=y +CONFIG_ESP_ROM_HAS_JPEG_DECODE=y +CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y +CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +CONFIG_ESP_ROM_HAS_NEWLIB=y +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y +CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y +CONFIG_ESP_ROM_HAS_SW_FLOAT=y +CONFIG_ESP_ROM_USB_OTG_NUM=-1 +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=-1 +CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y + +# +# Serial flasher config +# +# CONFIG_ESPTOOLPY_NO_STUB is not set +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set +CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y +CONFIG_ESPTOOLPY_FLASHMODE="dio" +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +CONFIG_ESPTOOLPY_FLASHFREQ="80m" +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" +# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set +CONFIG_ESPTOOLPY_BEFORE_RESET=y +# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set +CONFIG_ESPTOOLPY_BEFORE="default_reset" +CONFIG_ESPTOOLPY_AFTER_RESET=y +# CONFIG_ESPTOOLPY_AFTER_NORESET is not set +CONFIG_ESPTOOLPY_AFTER="hard_reset" +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +# end of Serial flasher config + +# +# Partition Table +# +# CONFIG_PARTITION_TABLE_SINGLE_APP is not set +# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +CONFIG_PARTITION_TABLE_MD5=y +# end of Partition Table + +# +# Compiler options +# +# CONFIG_COMPILER_OPTIMIZATION_DEBUG is not set +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +# CONFIG_COMPILER_OPTIMIZATION_PERF is not set +# CONFIG_COMPILER_OPTIMIZATION_NONE is not set +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set +CONFIG_COMPILER_HIDE_PATHS_MACROS=y +# CONFIG_COMPILER_CXX_EXCEPTIONS is not set +# CONFIG_COMPILER_CXX_RTTI is not set +CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y +# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set +# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set +# CONFIG_COMPILER_DUMP_RTL_FILES is not set +CONFIG_COMPILER_RT_LIB_GCCLIB=y +CONFIG_COMPILER_RT_LIB_NAME="gcc" +# CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING is not set +CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y +# end of Compiler options + +# +# Component config +# + +# +# Application Level Tracing +# +# CONFIG_APPTRACE_DEST_JTAG is not set +CONFIG_APPTRACE_DEST_NONE=y +# CONFIG_APPTRACE_DEST_UART1 is not set +# CONFIG_APPTRACE_DEST_UART2 is not set +CONFIG_APPTRACE_DEST_UART_NONE=y +CONFIG_APPTRACE_UART_TASK_PRIO=1 +CONFIG_APPTRACE_LOCK_ENABLE=y +# end of Application Level Tracing + +# +# Bluetooth +# +CONFIG_BT_ENABLED=y +# CONFIG_BT_BLUEDROID_ENABLED is not set +CONFIG_BT_NIMBLE_ENABLED=y +# CONFIG_BT_CONTROLLER_ONLY is not set +CONFIG_BT_CONTROLLER_ENABLED=y +# CONFIG_BT_CONTROLLER_DISABLED is not set + +# +# NimBLE Options +# +CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y +# CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set +# CONFIG_BT_NIMBLE_LOG_LEVEL_NONE is not set +# CONFIG_BT_NIMBLE_LOG_LEVEL_ERROR is not set +# CONFIG_BT_NIMBLE_LOG_LEVEL_WARNING is not set +CONFIG_BT_NIMBLE_LOG_LEVEL_INFO=y +# CONFIG_BT_NIMBLE_LOG_LEVEL_DEBUG is not set +CONFIG_BT_NIMBLE_LOG_LEVEL=1 +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=3 +CONFIG_BT_NIMBLE_MAX_BONDS=3 +CONFIG_BT_NIMBLE_MAX_CCCDS=8 +CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM=0 +CONFIG_BT_NIMBLE_PINNED_TO_CORE=0 +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=4096 +CONFIG_BT_NIMBLE_ROLE_CENTRAL=y +CONFIG_BT_NIMBLE_ROLE_PERIPHERAL=y +CONFIG_BT_NIMBLE_ROLE_BROADCASTER=y +CONFIG_BT_NIMBLE_ROLE_OBSERVER=y +# CONFIG_BT_NIMBLE_NVS_PERSIST is not set +# CONFIG_BT_NIMBLE_SMP_ID_RESET is not set +CONFIG_BT_NIMBLE_SECURITY_ENABLE=y +CONFIG_BT_NIMBLE_SM_LEGACY=y +CONFIG_BT_NIMBLE_SM_SC=y +# CONFIG_BT_NIMBLE_SM_SC_DEBUG_KEYS is not set +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_ENCRYPTION=y +CONFIG_BT_NIMBLE_SM_LVL=0 +# CONFIG_BT_NIMBLE_DEBUG is not set +# CONFIG_BT_NIMBLE_DYNAMIC_SERVICE is not set +CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME="nimble" +CONFIG_BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31 +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=256 +CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE=0 + +# +# Memory Settings +# +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=12 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=256 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=24 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_SIZE=320 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=24 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_SIZE=255 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_SIZE=70 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=30 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_DISCARD_COUNT=8 +CONFIG_BT_NIMBLE_L2CAP_COC_SDU_BUFF_COUNT=1 +# end of Memory Settings + +CONFIG_BT_NIMBLE_GATT_MAX_PROCS=4 +CONFIG_BT_NIMBLE_HS_FLOW_CTRL=y +CONFIG_BT_NIMBLE_HS_FLOW_CTRL_ITVL=1000 +CONFIG_BT_NIMBLE_HS_FLOW_CTRL_THRESH=2 +CONFIG_BT_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y +CONFIG_BT_NIMBLE_RPA_TIMEOUT=900 +# CONFIG_BT_NIMBLE_MESH is not set +CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y +CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000 +# CONFIG_BT_NIMBLE_HOST_BASED_PRIVACY is not set +# CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT is not set +CONFIG_BT_NIMBLE_WHITELIST_SIZE=12 +# CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set +# CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set +CONFIG_BT_NIMBLE_USE_ESP_TIMER=y +CONFIG_BT_NIMBLE_LEGACY_VHCI_ENABLE=y +# CONFIG_BT_NIMBLE_BLE_GATT_BLOB_TRANSFER is not set + +# +# GAP Service +# + +# +# GAP Appearance write permissions +# +# CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE is not set +# end of GAP Appearance write permissions + +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM=0 +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ENC=0 +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHN=0 +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHR=0 +CONFIG_BT_NIMBLE_SVC_GAP_CAR_CHAR_NOT_SUPP=y +# CONFIG_BT_NIMBLE_SVC_GAP_CAR_NOT_SUPP is not set +# CONFIG_BT_NIMBLE_SVC_GAP_CAR_SUPP is not set +CONFIG_BT_NIMBLE_SVC_GAP_CENT_ADDR_RESOLUTION=-1 + +# +# GAP device name write permissions +# +# CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE is not set +# end of GAP device name write permissions + +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM=0 +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_ENC=0 +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHEN=0 +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHOR=0 +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL=0 +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL=0 +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SLAVE_LATENCY=0 +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SUPERVISION_TMO=0 +# end of GAP Service + +# +# BLE Services +# +# CONFIG_BT_NIMBLE_HID_SERVICE is not set +# end of BLE Services + +# CONFIG_BT_NIMBLE_VS_SUPPORT is not set +# CONFIG_BT_NIMBLE_ENC_ADV_DATA is not set +# CONFIG_BT_NIMBLE_HIGH_DUTY_ADV_ITVL is not set +# CONFIG_BT_NIMBLE_HOST_QUEUE_CONG_CHECK is not set + +# +# Host-controller Transport +# +CONFIG_UART_HW_FLOWCTRL_DISABLE=y +# CONFIG_UART_HW_FLOWCTRL_CTS_RTS is not set +CONFIG_BT_NIMBLE_HCI_UART_FLOW_CTRL=0 +CONFIG_BT_NIMBLE_HCI_UART_RTS_PIN=19 +CONFIG_BT_NIMBLE_HCI_UART_CTS_PIN=23 +# end of Host-controller Transport +# end of NimBLE Options + +# +# Controller Options +# +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +# CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY is not set +# CONFIG_BTDM_CTRL_MODE_BTDM is not set +CONFIG_BTDM_CTRL_BLE_MAX_CONN=3 +CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=0 +CONFIG_BTDM_CTRL_PCM_ROLE_EFF=0 +CONFIG_BTDM_CTRL_PCM_POLAR_EFF=0 +CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=3 +CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=0 +CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0 +CONFIG_BTDM_CTRL_PINNED_TO_CORE=0 +CONFIG_BTDM_CTRL_HCI_MODE_VHCI=y +# CONFIG_BTDM_CTRL_HCI_MODE_UART_H4 is not set + +# +# MODEM SLEEP Options +# +CONFIG_BTDM_CTRL_MODEM_SLEEP=y +CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_ORIG=y +# CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_EVED is not set +CONFIG_BTDM_CTRL_LPCLK_SEL_MAIN_XTAL=y +# end of MODEM SLEEP Options + +CONFIG_BTDM_BLE_DEFAULT_SCA_250PPM=y +CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1 +CONFIG_BTDM_BLE_SCAN_DUPL=y +CONFIG_BTDM_SCAN_DUPL_TYPE_DEVICE=y +# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA is not set +# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA_DEVICE is not set +CONFIG_BTDM_SCAN_DUPL_TYPE=0 +CONFIG_BTDM_SCAN_DUPL_CACHE_SIZE=100 +CONFIG_BTDM_SCAN_DUPL_CACHE_REFRESH_PERIOD=0 +# CONFIG_BTDM_BLE_MESH_SCAN_DUPL_EN is not set +CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED=y +# CONFIG_BTDM_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set +CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y +CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 +CONFIG_BTDM_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 +CONFIG_BTDM_RESERVE_DRAM=0xdb5c +CONFIG_BTDM_CTRL_HLI=y +# end of Controller Options + +# +# Common Options +# +CONFIG_BT_ALARM_MAX_NUM=50 +# end of Common Options + +# CONFIG_BT_HCI_LOG_DEBUG_EN is not set +# end of Bluetooth + +# CONFIG_BLE_MESH is not set + +# +# Console Library +# +# CONFIG_CONSOLE_SORTED_HELP is not set +# end of Console Library + +# +# Driver Configurations +# + +# +# TWAI Configuration +# +# CONFIG_TWAI_ISR_IN_IRAM is not set +CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC=y +CONFIG_TWAI_ERRATA_FIX_TX_INTR_LOST=y +CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID=y +CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT=y +CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y +# end of TWAI Configuration + +# +# Legacy ADC Driver Configuration +# +CONFIG_ADC_DISABLE_DAC=y +# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set + +# +# Legacy ADC Calibration Configuration +# +CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y +CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y +CONFIG_ADC_CAL_LUT_ENABLE=y +# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy ADC Calibration Configuration +# end of Legacy ADC Driver Configuration + +# +# Legacy DAC Driver Configurations +# +# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy DAC Driver Configurations + +# +# Legacy MCPWM Driver Configurations +# +# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy MCPWM Driver Configurations + +# +# Legacy Timer Group Driver Configurations +# +# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy Timer Group Driver Configurations + +# +# Legacy RMT Driver Configurations +# +# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy RMT Driver Configurations + +# +# Legacy I2S Driver Configurations +# +# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy I2S Driver Configurations + +# +# Legacy PCNT Driver Configurations +# +# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy PCNT Driver Configurations + +# +# Legacy SDM Driver Configurations +# +# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy SDM Driver Configurations +# end of Driver Configurations + +# +# eFuse Bit Manager +# +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# CONFIG_EFUSE_VIRTUAL is not set +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set +CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set +CONFIG_EFUSE_MAX_BLK_LEN=192 +# end of eFuse Bit Manager + +# +# ESP-TLS +# +CONFIG_ESP_TLS_USING_MBEDTLS=y +# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set +# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set +# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set +# CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set +# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set +# CONFIG_ESP_TLS_PSK_VERIFICATION is not set +# CONFIG_ESP_TLS_INSECURE is not set +# end of ESP-TLS + +# +# ADC and ADC Calibration +# +# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set +# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set + +# +# ADC Calibration Configurations +# +CONFIG_ADC_CALI_EFUSE_TP_ENABLE=y +CONFIG_ADC_CALI_EFUSE_VREF_ENABLE=y +CONFIG_ADC_CALI_LUT_ENABLE=y +# end of ADC Calibration Configurations + +CONFIG_ADC_DISABLE_DAC_OUTPUT=y +# CONFIG_ADC_ENABLE_DEBUG_LOG is not set +# end of ADC and ADC Calibration + +# +# Wireless Coexistence +# +CONFIG_ESP_COEX_ENABLED=y +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y +# CONFIG_ESP_COEX_POWER_MANAGEMENT is not set +# end of Wireless Coexistence + +# +# Common ESP-related +# +CONFIG_ESP_ERR_TO_NAME_LOOKUP=y +# end of Common ESP-related + +# +# ESP-Driver:DAC Configurations +# +# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set +# CONFIG_DAC_ISR_IRAM_SAFE is not set +# CONFIG_DAC_ENABLE_DEBUG_LOG is not set +CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y +# end of ESP-Driver:DAC Configurations + +# +# ESP-Driver:GPIO Configurations +# +# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set +# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:GPIO Configurations + +# +# ESP-Driver:GPTimer Configurations +# +CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y +# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set +# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set +# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:GPTimer Configurations + +# +# ESP-Driver:I2C Configurations +# +# CONFIG_I2C_ISR_IRAM_SAFE is not set +# CONFIG_I2C_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2C Configurations + +# +# ESP-Driver:I2S Configurations +# +# CONFIG_I2S_ISR_IRAM_SAFE is not set +# CONFIG_I2S_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2S Configurations + +# +# ESP-Driver:LEDC Configurations +# +# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:LEDC Configurations + +# +# ESP-Driver:MCPWM Configurations +# +# CONFIG_MCPWM_ISR_IRAM_SAFE is not set +# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set +# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:MCPWM Configurations + +# +# ESP-Driver:PCNT Configurations +# +# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set +# CONFIG_PCNT_ISR_IRAM_SAFE is not set +# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:PCNT Configurations + +# +# ESP-Driver:RMT Configurations +# +# CONFIG_RMT_ISR_IRAM_SAFE is not set +# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set +# CONFIG_RMT_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:RMT Configurations + +# +# ESP-Driver:Sigma Delta Modulator Configurations +# +# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set +# CONFIG_SDM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Sigma Delta Modulator Configurations + +# +# ESP-Driver:SPI Configurations +# +CONFIG_SPI_MASTER_ISR_IN_IRAM=y +# CONFIG_SPI_SLAVE_IN_IRAM is not set +CONFIG_SPI_SLAVE_ISR_IN_IRAM=y +# end of ESP-Driver:SPI Configurations + +# +# ESP-Driver:Touch Sensor Configurations +# +# CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set +# CONFIG_TOUCH_ISR_IRAM_SAFE is not set +# CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Touch Sensor Configurations + +# +# ESP-Driver:UART Configurations +# +# CONFIG_UART_ISR_IN_IRAM is not set +# end of ESP-Driver:UART Configurations + +# +# Ethernet +# +CONFIG_ETH_ENABLED=y +CONFIG_ETH_USE_ESP32_EMAC=y +CONFIG_ETH_PHY_INTERFACE_RMII=y +CONFIG_ETH_RMII_CLK_INPUT=y +# CONFIG_ETH_RMII_CLK_OUTPUT is not set +CONFIG_ETH_RMII_CLK_IN_GPIO=0 +CONFIG_ETH_DMA_BUFFER_SIZE=512 +CONFIG_ETH_DMA_RX_BUFFER_NUM=10 +CONFIG_ETH_DMA_TX_BUFFER_NUM=10 +# CONFIG_ETH_IRAM_OPTIMIZATION is not set +CONFIG_ETH_USE_SPI_ETHERNET=y +# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set +# CONFIG_ETH_SPI_ETHERNET_W5500 is not set +# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set +# CONFIG_ETH_USE_OPENETH is not set +# CONFIG_ETH_TRANSMIT_MUTEX is not set +# end of Ethernet + +# +# Event Loop Library +# +# CONFIG_ESP_EVENT_LOOP_PROFILING is not set +CONFIG_ESP_EVENT_POST_FROM_ISR=y +CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y +# end of Event Loop Library + +# +# GDB Stub +# +CONFIG_ESP_GDBSTUB_ENABLED=y +# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y +CONFIG_ESP_GDBSTUB_MAX_TASKS=32 +# end of GDB Stub + +# +# ESP HTTP client +# +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y +# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set +# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set +# CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set +# end of ESP HTTP client + +# +# HTTP Server +# +CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 +CONFIG_HTTPD_MAX_URI_LEN=512 +CONFIG_HTTPD_ERR_RESP_NO_DELAY=y +CONFIG_HTTPD_PURGE_BUF_LEN=32 +# CONFIG_HTTPD_LOG_PURGE_DATA is not set +# CONFIG_HTTPD_WS_SUPPORT is not set +# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set +# end of HTTP Server + +# +# ESP HTTPS OTA +# +# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set +# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set +# end of ESP HTTPS OTA + +# +# ESP HTTPS server +# +# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set +# end of ESP HTTPS server + +# +# Hardware Settings +# + +# +# Chip revision +# +CONFIG_ESP32_REV_MIN_0=y +# CONFIG_ESP32_REV_MIN_1 is not set +# CONFIG_ESP32_REV_MIN_1_1 is not set +# CONFIG_ESP32_REV_MIN_2 is not set +# CONFIG_ESP32_REV_MIN_3 is not set +# CONFIG_ESP32_REV_MIN_3_1 is not set +CONFIG_ESP32_REV_MIN=0 +CONFIG_ESP32_REV_MIN_FULL=0 +CONFIG_ESP_REV_MIN_FULL=0 + +# +# Maximum Supported ESP32 Revision (Rev v3.99) +# +CONFIG_ESP32_REV_MAX_FULL=399 +CONFIG_ESP_REV_MAX_FULL=399 +# end of Chip revision + +# +# MAC Config +# +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR is not set +# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set +# end of MAC Config + +# +# Sleep Config +# +# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set +CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set +CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y +CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y +CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0 +# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set +# CONFIG_ESP_SLEEP_DEBUG is not set +CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y +# end of Sleep Config + +# +# RTC Clock Config +# +CONFIG_RTC_CLK_SRC_INT_RC=y +# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_RTC_CLK_CAL_CYCLES=1024 +# end of RTC Clock Config + +# +# Peripheral Control +# +CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y +# end of Peripheral Control + +# +# Main XTAL Config +# +# CONFIG_XTAL_FREQ_26 is not set +CONFIG_XTAL_FREQ_40=y +# CONFIG_XTAL_FREQ_AUTO is not set +CONFIG_XTAL_FREQ=40 +# end of Main XTAL Config + +CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y +# end of Hardware Settings + +# +# LCD and Touch Panel +# + +# +# LCD Touch Drivers are maintained in the IDF Component Registry +# + +# +# LCD Peripheral Configuration +# +CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 +# CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# end of LCD Peripheral Configuration +# end of LCD and Touch Panel + +# +# ESP NETIF Adapter +# +CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 +CONFIG_ESP_NETIF_TCPIP_LWIP=y +# CONFIG_ESP_NETIF_LOOPBACK is not set +CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y +# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set +# CONFIG_ESP_NETIF_L2_TAP is not set +# CONFIG_ESP_NETIF_BRIDGE_EN is not set +# end of ESP NETIF Adapter + +# +# Partition API Configuration +# +# end of Partition API Configuration + +# +# PHY +# +CONFIG_ESP_PHY_ENABLED=y +CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP_PHY_MAX_TX_POWER=20 +# CONFIG_ESP_PHY_REDUCE_TX_POWER is not set +CONFIG_ESP_PHY_RF_CAL_PARTIAL=y +# CONFIG_ESP_PHY_RF_CAL_NONE is not set +# CONFIG_ESP_PHY_RF_CAL_FULL is not set +CONFIG_ESP_PHY_CALIBRATION_MODE=0 +# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set +# end of PHY + +# +# Power Management +# +# CONFIG_PM_ENABLE is not set +CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y +# end of Power Management + +# +# ESP PSRAM +# +# CONFIG_SPIRAM is not set +# end of ESP PSRAM + +# +# ESP Ringbuf +# +# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set +# end of ESP Ringbuf + +# +# ESP System Settings +# +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 + +# +# Memory +# +# CONFIG_ESP32_RTCDATA_IN_FAST_MEM is not set +# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set +# CONFIG_ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY is not set + +# +# Non-backward compatible options +# +# CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM is not set +# end of Non-backward compatible options +# end of Memory + +# +# Trace memory +# +# CONFIG_ESP32_TRAX is not set +CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 +# end of Trace memory + +# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set +CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y +# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set +# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set +CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 +CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y +CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y +CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y + +# +# Memory protection +# +# end of Memory protection + +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 +CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 +CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# CONFIG_ESP_CONSOLE_NONE is not set +CONFIG_ESP_CONSOLE_UART=y +CONFIG_ESP_CONSOLE_UART_NUM=0 +CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 +CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 +CONFIG_ESP_INT_WDT=y +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +CONFIG_ESP_TASK_WDT_EN=y +CONFIG_ESP_TASK_WDT_INIT=y +# CONFIG_ESP_TASK_WDT_PANIC is not set +CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_ESP_PANIC_HANDLER_IRAM is not set +# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP_DEBUG_OCDAWARE=y +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5=y + +# +# Brownout Detector +# +CONFIG_ESP_BROWNOUT_DET=y +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y +CONFIG_ESP_BROWNOUT_DET_LVL=7 +# end of Brownout Detector + +# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set +CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +# end of ESP System Settings + +# +# IPC (Inter-Processor Call) +# +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +# end of IPC (Inter-Processor Call) + +# +# ESP Timer (High Resolution Timer) +# +# CONFIG_ESP_TIMER_PROFILING is not set +CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y +CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y +CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 +# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set +CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 +CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y +CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set +CONFIG_ESP_TIMER_IMPL_TG0_LAC=y +# end of ESP Timer (High Resolution Timer) + +# +# Wi-Fi +# +CONFIG_ESP_WIFI_ENABLED=y +CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y +# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set +CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 +CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 +# CONFIG_ESP_WIFI_CSI_ENABLED is not set +CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP_WIFI_TX_BA_WIN=6 +CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP_WIFI_RX_BA_WIN=6 +CONFIG_ESP_WIFI_NVS_ENABLED=y +CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 +CONFIG_ESP_WIFI_IRAM_OPT=y +CONFIG_ESP_WIFI_EXTRA_IRAM_OPT=y +CONFIG_ESP_WIFI_RX_IRAM_OPT=y +CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP_WIFI_ENABLE_SAE_PK=y +CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y +CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y +CONFIG_ESP_WIFI_SLP_IRAM_OPT=y +CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 +CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 +CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 +CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y +CONFIG_ESP_WIFI_GMAC_SUPPORT=y +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y +# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set +CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 +# CONFIG_ESP_WIFI_NAN_ENABLE is not set +CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y +CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y +# CONFIG_ESP_WIFI_WAPI_PSK is not set +# CONFIG_ESP_WIFI_11KV_SUPPORT is not set +# CONFIG_ESP_WIFI_MBO_SUPPORT is not set +# CONFIG_ESP_WIFI_DPP_SUPPORT is not set +# CONFIG_ESP_WIFI_11R_SUPPORT is not set +# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set + +# +# WPS Configuration Options +# +# CONFIG_ESP_WIFI_WPS_STRICT is not set +# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set +# end of WPS Configuration Options + +# CONFIG_ESP_WIFI_DEBUG_PRINT is not set +# CONFIG_ESP_WIFI_TESTING_OPTIONS is not set +CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y +# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set +# end of Wi-Fi + +# +# Core dump +# +# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set +# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set +CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y +# end of Core dump + +# +# FAT Filesystem support +# +CONFIG_FATFS_VOLUME_COUNT=2 +# CONFIG_FATFS_LFN_NONE is not set +CONFIG_FATFS_LFN_HEAP=y +# CONFIG_FATFS_LFN_STACK is not set +# CONFIG_FATFS_SECTOR_512 is not set +CONFIG_FATFS_SECTOR_4096=y +# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set +CONFIG_FATFS_CODEPAGE_437=y +# CONFIG_FATFS_CODEPAGE_720 is not set +# CONFIG_FATFS_CODEPAGE_737 is not set +# CONFIG_FATFS_CODEPAGE_771 is not set +# CONFIG_FATFS_CODEPAGE_775 is not set +# CONFIG_FATFS_CODEPAGE_850 is not set +# CONFIG_FATFS_CODEPAGE_852 is not set +# CONFIG_FATFS_CODEPAGE_855 is not set +# CONFIG_FATFS_CODEPAGE_857 is not set +# CONFIG_FATFS_CODEPAGE_860 is not set +# CONFIG_FATFS_CODEPAGE_861 is not set +# CONFIG_FATFS_CODEPAGE_862 is not set +# CONFIG_FATFS_CODEPAGE_863 is not set +# CONFIG_FATFS_CODEPAGE_864 is not set +# CONFIG_FATFS_CODEPAGE_865 is not set +# CONFIG_FATFS_CODEPAGE_866 is not set +# CONFIG_FATFS_CODEPAGE_869 is not set +# CONFIG_FATFS_CODEPAGE_932 is not set +# CONFIG_FATFS_CODEPAGE_936 is not set +# CONFIG_FATFS_CODEPAGE_949 is not set +# CONFIG_FATFS_CODEPAGE_950 is not set +CONFIG_FATFS_CODEPAGE=437 +CONFIG_FATFS_MAX_LFN=255 +CONFIG_FATFS_API_ENCODING_ANSI_OEM=y +# CONFIG_FATFS_API_ENCODING_UTF_8 is not set +CONFIG_FATFS_FS_LOCK=0 +CONFIG_FATFS_TIMEOUT_MS=10000 +CONFIG_FATFS_PER_FILE_CACHE=y +# CONFIG_FATFS_USE_FASTSEEK is not set +CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 +# CONFIG_FATFS_IMMEDIATE_FSYNC is not set +# CONFIG_FATFS_USE_LABEL is not set +CONFIG_FATFS_LINK_LOCK=y +# end of FAT Filesystem support + +# +# FreeRTOS +# + +# +# Kernel +# +# CONFIG_FREERTOS_SMP is not set +CONFIG_FREERTOS_UNICORE=y +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 +# CONFIG_FREERTOS_USE_IDLE_HOOK is not set +# CONFIG_FREERTOS_USE_TICK_HOOK is not set +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set +CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set +CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y +CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set +# end of Kernel + +# +# Port +# +# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set +CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y +# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set +# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set +CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y +CONFIG_FREERTOS_ISR_STACKSIZE=1536 +CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y +# CONFIG_FREERTOS_FPU_IN_ISR is not set +CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y +CONFIG_FREERTOS_CORETIMER_0=y +# CONFIG_FREERTOS_CORETIMER_1 is not set +CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y +CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set +# end of Port + +CONFIG_FREERTOS_PORT=y +CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y +CONFIG_FREERTOS_DEBUG_OCDAWARE=y +CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y +CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y +CONFIG_FREERTOS_NUMBER_OF_CORES=1 +# end of FreeRTOS + +# +# Hardware Abstraction Layer (HAL) and Low Level (LL) +# +CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y +# CONFIG_HAL_ASSERTION_DISABLE is not set +# CONFIG_HAL_ASSERTION_SILENT is not set +# CONFIG_HAL_ASSERTION_ENABLE is not set +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y +CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y +# end of Hardware Abstraction Layer (HAL) and Low Level (LL) + +# +# Heap memory debugging +# +CONFIG_HEAP_POISONING_DISABLED=y +# CONFIG_HEAP_POISONING_LIGHT is not set +# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set +CONFIG_HEAP_TRACING_OFF=y +# CONFIG_HEAP_TRACING_STANDALONE is not set +# CONFIG_HEAP_TRACING_TOHOST is not set +# CONFIG_HEAP_USE_HOOKS is not set +# CONFIG_HEAP_TASK_TRACKING is not set +# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set +# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set +# end of Heap memory debugging + +# +# Log output +# +# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set +# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set +# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set +CONFIG_LOG_DEFAULT_LEVEL_INFO=y +# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set +# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set +CONFIG_LOG_DEFAULT_LEVEL=3 +CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y +# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set +CONFIG_LOG_MAXIMUM_LEVEL=3 +# CONFIG_LOG_MASTER_LEVEL is not set +CONFIG_LOG_COLORS=y +CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y +# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set +# end of Log output + +# +# LWIP +# +CONFIG_LWIP_ENABLE=y +CONFIG_LWIP_LOCAL_HOSTNAME="espressif" +# CONFIG_LWIP_NETIF_API is not set +CONFIG_LWIP_TCPIP_TASK_PRIO=18 +# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set +# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set +CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y +# CONFIG_LWIP_L2_TO_L3_COPY is not set +# CONFIG_LWIP_IRAM_OPTIMIZATION is not set +# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set +CONFIG_LWIP_TIMERS_ONDEMAND=y +CONFIG_LWIP_ND6=y +# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set +CONFIG_LWIP_MAX_SOCKETS=10 +# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set +# CONFIG_LWIP_SO_LINGER is not set +CONFIG_LWIP_SO_REUSE=y +CONFIG_LWIP_SO_REUSE_RXTOALL=y +# CONFIG_LWIP_SO_RCVBUF is not set +# CONFIG_LWIP_NETBUF_RECVINFO is not set +CONFIG_LWIP_IP_DEFAULT_TTL=64 +CONFIG_LWIP_IP4_FRAG=y +CONFIG_LWIP_IP6_FRAG=y +# CONFIG_LWIP_IP4_REASSEMBLY is not set +# CONFIG_LWIP_IP6_REASSEMBLY is not set +CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 +# CONFIG_LWIP_IP_FORWARD is not set +# CONFIG_LWIP_STATS is not set +CONFIG_LWIP_ESP_GRATUITOUS_ARP=y +CONFIG_LWIP_GARP_TMR_INTERVAL=60 +CONFIG_LWIP_ESP_MLDV6_REPORT=y +CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 +CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y +# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set +CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y +# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set +CONFIG_LWIP_DHCP_OPTIONS_LEN=68 +CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 +CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 + +# +# DHCP server +# +CONFIG_LWIP_DHCPS=y +CONFIG_LWIP_DHCPS_LEASE_UNIT=60 +CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 +CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y +# end of DHCP server + +# CONFIG_LWIP_AUTOIP is not set +CONFIG_LWIP_IPV4=y +CONFIG_LWIP_IPV6=y +# CONFIG_LWIP_IPV6_AUTOCONFIG is not set +CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 +# CONFIG_LWIP_IPV6_FORWARD is not set +# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set +CONFIG_LWIP_NETIF_LOOPBACK=y +CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 + +# +# TCP +# +CONFIG_LWIP_MAX_ACTIVE_TCP=16 +CONFIG_LWIP_MAX_LISTENING_TCP=16 +CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y +CONFIG_LWIP_TCP_MAXRTX=12 +CONFIG_LWIP_TCP_SYNMAXRTX=12 +CONFIG_LWIP_TCP_MSS=1440 +CONFIG_LWIP_TCP_TMR_INTERVAL=250 +CONFIG_LWIP_TCP_MSL=60000 +CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 +CONFIG_LWIP_TCP_WND_DEFAULT=5760 +CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 +CONFIG_LWIP_TCP_QUEUE_OOSEQ=y +CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 +CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 +# CONFIG_LWIP_TCP_SACK_OUT is not set +CONFIG_LWIP_TCP_OVERSIZE_MSS=y +# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set +CONFIG_LWIP_TCP_RTO_TIME=1500 +# end of TCP + +# +# UDP +# +CONFIG_LWIP_MAX_UDP_PCBS=16 +CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 +# end of UDP + +# +# Checksums +# +# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set +# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set +CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y +# end of Checksums + +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set +CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_LWIP_PPP_SUPPORT is not set +CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 +CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +# CONFIG_LWIP_SLIP_SUPPORT is not set + +# +# ICMP +# +CONFIG_LWIP_ICMP=y +# CONFIG_LWIP_MULTICAST_PING is not set +# CONFIG_LWIP_BROADCAST_PING is not set +# end of ICMP + +# +# LWIP RAW API +# +CONFIG_LWIP_MAX_RAW_PCBS=16 +# end of LWIP RAW API + +# +# SNTP +# +CONFIG_LWIP_SNTP_MAX_SERVERS=1 +# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set +CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 +CONFIG_LWIP_SNTP_STARTUP_DELAY=y +CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 +# end of SNTP + +# +# DNS +# +CONFIG_LWIP_DNS_MAX_SERVERS=3 +# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set +# end of DNS + +CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 +CONFIG_LWIP_ESP_LWIP_ASSERT=y + +# +# Hooks +# +# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set +CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y +# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set +CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y +# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set +# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set +CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y +# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set +# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set +CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set +CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set +CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y +# CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT is not set +# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set +# end of Hooks + +# CONFIG_LWIP_DEBUG is not set +# end of LWIP + +# +# mbedTLS +# +CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set +# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set +CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y +CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 +CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 +# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set +# CONFIG_MBEDTLS_DEBUG is not set + +# +# mbedTLS v3.x related +# +# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y +CONFIG_MBEDTLS_PKCS7_C=y +# end of mbedTLS v3.x related + +# +# Certificate Bundle +# +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set +# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 +# end of Certificate Bundle + +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +CONFIG_MBEDTLS_CMAC_C=y +CONFIG_MBEDTLS_HARDWARE_AES=y +CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y +CONFIG_MBEDTLS_HARDWARE_MPI=y +CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y +CONFIG_MBEDTLS_HARDWARE_SHA=y +CONFIG_MBEDTLS_ROM_MD5=y +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set +CONFIG_MBEDTLS_HAVE_TIME=y +# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set +CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y +CONFIG_MBEDTLS_SHA512_C=y +CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y +# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set +# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set +# CONFIG_MBEDTLS_TLS_DISABLED is not set +CONFIG_MBEDTLS_TLS_SERVER=y +CONFIG_MBEDTLS_TLS_CLIENT=y +CONFIG_MBEDTLS_TLS_ENABLED=y + +# +# TLS Key Exchange Methods +# +# CONFIG_MBEDTLS_PSK_MODES is not set +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y +# end of TLS Key Exchange Methods + +CONFIG_MBEDTLS_SSL_RENEGOTIATION=y +CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +CONFIG_MBEDTLS_SSL_ALPN=y +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y + +# +# Symmetric Ciphers +# +CONFIG_MBEDTLS_AES_C=y +# CONFIG_MBEDTLS_CAMELLIA_C is not set +# CONFIG_MBEDTLS_DES_C is not set +# CONFIG_MBEDTLS_BLOWFISH_C is not set +# CONFIG_MBEDTLS_XTEA_C is not set +CONFIG_MBEDTLS_CCM_C=y +CONFIG_MBEDTLS_GCM_C=y +# CONFIG_MBEDTLS_NIST_KW_C is not set +# end of Symmetric Ciphers + +# CONFIG_MBEDTLS_RIPEMD160_C is not set + +# +# Certificates +# +CONFIG_MBEDTLS_PEM_PARSE_C=y +CONFIG_MBEDTLS_PEM_WRITE_C=y +CONFIG_MBEDTLS_X509_CRL_PARSE_C=y +CONFIG_MBEDTLS_X509_CSR_PARSE_C=y +# end of Certificates + +CONFIG_MBEDTLS_ECP_C=y +# CONFIG_MBEDTLS_DHM_C is not set +CONFIG_MBEDTLS_ECDH_C=y +CONFIG_MBEDTLS_ECDSA_C=y +# CONFIG_MBEDTLS_ECJPAKE_C is not set +CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y +CONFIG_MBEDTLS_ECP_NIST_OPTIM=y +CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM=y +# CONFIG_MBEDTLS_POLY1305_C is not set +# CONFIG_MBEDTLS_CHACHA20_C is not set +# CONFIG_MBEDTLS_HKDF_C is not set +# CONFIG_MBEDTLS_THREADING_C is not set +CONFIG_MBEDTLS_ERROR_STRINGS=y +# end of mbedTLS + +# +# ESP-MQTT Configurations +# +CONFIG_MQTT_PROTOCOL_311=y +# CONFIG_MQTT_PROTOCOL_5 is not set +CONFIG_MQTT_TRANSPORT_SSL=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y +# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set +# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set +# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set +# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set +# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set +# CONFIG_MQTT_CUSTOM_OUTBOX is not set +# end of ESP-MQTT Configurations + +# +# Newlib +# +CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set +CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y +# CONFIG_NEWLIB_NANO_FORMAT is not set +CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y +# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set +# end of Newlib + +# +# NVS +# +# CONFIG_NVS_ASSERT_ERROR_CHECK is not set +# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set +# end of NVS + +# +# OpenThread +# +# CONFIG_OPENTHREAD_ENABLED is not set + +# +# Thread Operational Dataset +# +CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP" +CONFIG_OPENTHREAD_MESH_LOCAL_PREFIX="fd00:db8:a0:0::/64" +CONFIG_OPENTHREAD_NETWORK_CHANNEL=15 +CONFIG_OPENTHREAD_NETWORK_PANID=0x1234 +CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe" +CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff" +CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53" +# end of Thread Operational Dataset + +CONFIG_OPENTHREAD_XTAL_ACCURACY=130 +# CONFIG_OPENTHREAD_SPINEL_ONLY is not set +# CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE is not set + +# +# Thread Address Query Config +# +# end of Thread Address Query Config +# end of OpenThread + +# +# Protocomm +# +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y +# end of Protocomm + +# +# PThreads +# +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_PTHREAD_STACK_MIN=768 +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" +# end of PThreads + +# +# MMU Config +# +CONFIG_MMU_PAGE_SIZE_64KB=y +CONFIG_MMU_PAGE_MODE="64KB" +CONFIG_MMU_PAGE_SIZE=0x10000 +# end of MMU Config + +# +# Main Flash configuration +# + +# +# SPI Flash behavior when brownout +# +CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y +CONFIG_SPI_FLASH_BROWNOUT_RESET=y +# end of SPI Flash behavior when brownout + +# +# Optional and Experimental Features (READ DOCS FIRST) +# + +# +# Features here require specific hardware (READ DOCS FIRST!) +# +CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 +# end of Optional and Experimental Features (READ DOCS FIRST) +# end of Main Flash configuration + +# +# SPI Flash driver +# +# CONFIG_SPI_FLASH_VERIFY_WRITE is not set +# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set +# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y +CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 +CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 +CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 +# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set +# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set +# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set + +# +# Auto-detect flash chips +# +CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y +# CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_GD_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set +# end of Auto-detect flash chips + +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y +# end of SPI Flash driver + +# +# SPIFFS Configuration +# +CONFIG_SPIFFS_MAX_PARTITIONS=3 + +# +# SPIFFS Cache Configuration +# +CONFIG_SPIFFS_CACHE=y +CONFIG_SPIFFS_CACHE_WR=y +# CONFIG_SPIFFS_CACHE_STATS is not set +# end of SPIFFS Cache Configuration + +CONFIG_SPIFFS_PAGE_CHECK=y +CONFIG_SPIFFS_GC_MAX_RUNS=10 +# CONFIG_SPIFFS_GC_STATS is not set +CONFIG_SPIFFS_PAGE_SIZE=256 +CONFIG_SPIFFS_OBJ_NAME_LEN=32 +# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set +CONFIG_SPIFFS_USE_MAGIC=y +CONFIG_SPIFFS_USE_MAGIC_LENGTH=y +CONFIG_SPIFFS_META_LENGTH=4 +CONFIG_SPIFFS_USE_MTIME=y + +# +# Debug Configuration +# +# CONFIG_SPIFFS_DBG is not set +# CONFIG_SPIFFS_API_DBG is not set +# CONFIG_SPIFFS_GC_DBG is not set +# CONFIG_SPIFFS_CACHE_DBG is not set +# CONFIG_SPIFFS_CHECK_DBG is not set +# CONFIG_SPIFFS_TEST_VISUALISATION is not set +# end of Debug Configuration +# end of SPIFFS Configuration + +# +# TCP Transport +# + +# +# Websocket +# +CONFIG_WS_TRANSPORT=y +CONFIG_WS_BUFFER_SIZE=1024 +# CONFIG_WS_DYNAMIC_BUFFER is not set +# end of Websocket +# end of TCP Transport + +# +# Ultra Low Power (ULP) Co-processor +# +# CONFIG_ULP_COPROC_ENABLED is not set + +# +# ULP Debugging Options +# +# end of ULP Debugging Options +# end of Ultra Low Power (ULP) Co-processor + +# +# Unity unit testing library +# +CONFIG_UNITY_ENABLE_FLOAT=y +CONFIG_UNITY_ENABLE_DOUBLE=y +# CONFIG_UNITY_ENABLE_64BIT is not set +# CONFIG_UNITY_ENABLE_COLOR is not set +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y +# CONFIG_UNITY_ENABLE_FIXTURE is not set +# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set +# end of Unity unit testing library + +# +# Virtual file system +# +CONFIG_VFS_SUPPORT_IO=y +CONFIG_VFS_SUPPORT_DIR=y +CONFIG_VFS_SUPPORT_SELECT=y +CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y +# CONFIG_VFS_SELECT_IN_RAM is not set +CONFIG_VFS_SUPPORT_TERMIOS=y +CONFIG_VFS_MAX_COUNT=8 + +# +# Host File System I/O (Semihosting) +# +CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# end of Host File System I/O (Semihosting) +# end of Virtual file system + +# +# Wear Levelling +# +# CONFIG_WL_SECTOR_SIZE_512 is not set +CONFIG_WL_SECTOR_SIZE_4096=y +CONFIG_WL_SECTOR_SIZE=4096 +# end of Wear Levelling + +# +# Wi-Fi Provisioning Manager +# +CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 +CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 +# CONFIG_WIFI_PROV_BLE_BONDING is not set +CONFIG_WIFI_PROV_BLE_SEC_CONN=y +# CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set +# CONFIG_WIFI_PROV_KEEP_BLE_ON_AFTER_PROV is not set +CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y +# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set +# end of Wi-Fi Provisioning Manager + +# +# LVGL configuration +# +CONFIG_LV_CONF_SKIP=y +# CONFIG_LV_CONF_MINIMAL is not set + +# +# Color settings +# +# CONFIG_LV_COLOR_DEPTH_32 is not set +CONFIG_LV_COLOR_DEPTH_16=y +# CONFIG_LV_COLOR_DEPTH_8 is not set +# CONFIG_LV_COLOR_DEPTH_1 is not set +CONFIG_LV_COLOR_DEPTH=16 +CONFIG_LV_COLOR_16_SWAP=y +# CONFIG_LV_COLOR_SCREEN_TRANSP is not set +CONFIG_LV_COLOR_MIX_ROUND_OFS=128 +CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 +# end of Color settings + +# +# Memory settings +# +# CONFIG_LV_MEM_CUSTOM is not set +CONFIG_LV_MEM_SIZE_KILOBYTES=32 +CONFIG_LV_MEM_ADDR=0x0 +CONFIG_LV_MEM_BUF_MAX_NUM=16 +# CONFIG_LV_MEMCPY_MEMSET_STD is not set +# end of Memory settings + +# +# HAL Settings +# +CONFIG_LV_DISP_DEF_REFR_PERIOD=5 +CONFIG_LV_INDEV_DEF_READ_PERIOD=30 +# CONFIG_LV_TICK_CUSTOM is not set +CONFIG_LV_DPI_DEF=130 +# end of HAL Settings + +# +# Feature configuration +# + +# +# Drawing +# +CONFIG_LV_DRAW_COMPLEX=y +CONFIG_LV_SHADOW_CACHE_SIZE=0 +CONFIG_LV_CIRCLE_CACHE_SIZE=4 +CONFIG_LV_LAYER_SIMPLE_BUF_SIZE=24576 +CONFIG_LV_IMG_CACHE_DEF_SIZE=0 +CONFIG_LV_GRADIENT_MAX_STOPS=2 +CONFIG_LV_GRAD_CACHE_DEF_SIZE=0 +# CONFIG_LV_DITHER_GRADIENT is not set +CONFIG_LV_DISP_ROT_MAX_BUF=10240 +# end of Drawing + +# +# GPU +# +# CONFIG_LV_USE_GPU_ARM2D is not set +# CONFIG_LV_USE_GPU_STM32_DMA2D is not set +# CONFIG_LV_USE_GPU_RA6M3_G2D is not set +# CONFIG_LV_USE_GPU_SWM341_DMA2D is not set +# CONFIG_LV_USE_GPU_NXP_PXP is not set +# CONFIG_LV_USE_GPU_NXP_VG_LITE is not set +# CONFIG_LV_USE_GPU_SDL is not set +# end of GPU + +# +# Logging +# +# CONFIG_LV_USE_LOG is not set +# end of Logging + +# +# Asserts +# +CONFIG_LV_USE_ASSERT_NULL=y +CONFIG_LV_USE_ASSERT_MALLOC=y +# CONFIG_LV_USE_ASSERT_STYLE is not set +# CONFIG_LV_USE_ASSERT_MEM_INTEGRITY is not set +# CONFIG_LV_USE_ASSERT_OBJ is not set +CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" +# end of Asserts + +# +# Others +# +# CONFIG_LV_USE_PERF_MONITOR is not set +# CONFIG_LV_USE_MEM_MONITOR is not set +# CONFIG_LV_USE_REFR_DEBUG is not set +# CONFIG_LV_SPRINTF_CUSTOM is not set +# CONFIG_LV_SPRINTF_USE_FLOAT is not set +CONFIG_LV_USE_USER_DATA=y +# CONFIG_LV_ENABLE_GC is not set +# end of Others + +# +# Compiler settings +# +# CONFIG_LV_BIG_ENDIAN_SYSTEM is not set +CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 +# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set +# CONFIG_LV_USE_LARGE_COORD is not set +# end of Compiler settings +# end of Feature configuration + +# +# Font usage +# + +# +# Enable built-in fonts +# +CONFIG_LV_FONT_MONTSERRAT_8=y +CONFIG_LV_FONT_MONTSERRAT_10=y +CONFIG_LV_FONT_MONTSERRAT_12=y +CONFIG_LV_FONT_MONTSERRAT_14=y +CONFIG_LV_FONT_MONTSERRAT_16=y +CONFIG_LV_FONT_MONTSERRAT_18=y +# CONFIG_LV_FONT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_MONTSERRAT_22 is not set +CONFIG_LV_FONT_MONTSERRAT_24=y +# CONFIG_LV_FONT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_UNSCII_8 is not set +# CONFIG_LV_FONT_UNSCII_16 is not set +# CONFIG_LV_FONT_CUSTOM is not set +# end of Enable built-in fonts + +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12 is not set +CONFIG_LV_FONT_DEFAULT_MONTSERRAT_14=y +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_16 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_16 is not set +# CONFIG_LV_FONT_FMT_TXT_LARGE is not set +# CONFIG_LV_USE_FONT_COMPRESSED is not set +# CONFIG_LV_USE_FONT_SUBPX is not set +CONFIG_LV_USE_FONT_PLACEHOLDER=y +# end of Font usage + +# +# Text Settings +# +CONFIG_LV_TXT_ENC_UTF8=y +# CONFIG_LV_TXT_ENC_ASCII is not set +CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_" +CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0 +CONFIG_LV_TXT_COLOR_CMD="#" +# CONFIG_LV_USE_BIDI is not set +# CONFIG_LV_USE_ARABIC_PERSIAN_CHARS is not set +# end of Text Settings + +# +# Widget usage +# +CONFIG_LV_USE_ARC=y +CONFIG_LV_USE_BAR=y +CONFIG_LV_USE_BTN=y +CONFIG_LV_USE_BTNMATRIX=y +CONFIG_LV_USE_CANVAS=y +CONFIG_LV_USE_CHECKBOX=y +CONFIG_LV_USE_DROPDOWN=y +CONFIG_LV_USE_IMG=y +CONFIG_LV_USE_LABEL=y +CONFIG_LV_LABEL_TEXT_SELECTION=y +CONFIG_LV_LABEL_LONG_TXT_HINT=y +CONFIG_LV_USE_LINE=y +CONFIG_LV_USE_ROLLER=y +CONFIG_LV_ROLLER_INF_PAGES=7 +CONFIG_LV_USE_SLIDER=y +CONFIG_LV_USE_SWITCH=y +CONFIG_LV_USE_TEXTAREA=y +CONFIG_LV_TEXTAREA_DEF_PWD_SHOW_TIME=1500 +CONFIG_LV_USE_TABLE=y +# end of Widget usage + +# +# Extra Widgets +# +CONFIG_LV_USE_ANIMIMG=y +CONFIG_LV_USE_CALENDAR=y +# CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY is not set +CONFIG_LV_USE_CALENDAR_HEADER_ARROW=y +CONFIG_LV_USE_CALENDAR_HEADER_DROPDOWN=y +CONFIG_LV_USE_CHART=y +CONFIG_LV_USE_COLORWHEEL=y +CONFIG_LV_USE_IMGBTN=y +CONFIG_LV_USE_KEYBOARD=y +CONFIG_LV_USE_LED=y +CONFIG_LV_USE_LIST=y +CONFIG_LV_USE_MENU=y +CONFIG_LV_USE_METER=y +CONFIG_LV_USE_MSGBOX=y +CONFIG_LV_USE_SPAN=y +CONFIG_LV_SPAN_SNIPPET_STACK_SIZE=64 +CONFIG_LV_USE_SPINBOX=y +CONFIG_LV_USE_SPINNER=y +CONFIG_LV_USE_TABVIEW=y +CONFIG_LV_USE_TILEVIEW=y +CONFIG_LV_USE_WIN=y +# end of Extra Widgets + +# +# Themes +# +CONFIG_LV_USE_THEME_DEFAULT=y +# CONFIG_LV_THEME_DEFAULT_DARK is not set +CONFIG_LV_THEME_DEFAULT_GROW=y +CONFIG_LV_THEME_DEFAULT_TRANSITION_TIME=80 +CONFIG_LV_USE_THEME_BASIC=y +# CONFIG_LV_USE_THEME_MONO is not set +# end of Themes + +# +# Layouts +# +CONFIG_LV_USE_FLEX=y +CONFIG_LV_USE_GRID=y +# end of Layouts + +# +# 3rd Party Libraries +# +# CONFIG_LV_USE_FS_STDIO is not set +# CONFIG_LV_USE_FS_POSIX is not set +# CONFIG_LV_USE_FS_WIN32 is not set +# CONFIG_LV_USE_FS_FATFS is not set +# CONFIG_LV_USE_FS_LITTLEFS is not set +# CONFIG_LV_USE_PNG is not set +# CONFIG_LV_USE_BMP is not set +# CONFIG_LV_USE_SJPG is not set +CONFIG_LV_USE_GIF=y +# CONFIG_LV_USE_QRCODE is not set +# CONFIG_LV_USE_FREETYPE is not set +# CONFIG_LV_USE_TINY_TTF is not set +# CONFIG_LV_USE_RLOTTIE is not set +# CONFIG_LV_USE_FFMPEG is not set +# end of 3rd Party Libraries + +# +# Others +# +CONFIG_LV_USE_SNAPSHOT=y +# CONFIG_LV_USE_MONKEY is not set +# CONFIG_LV_USE_GRIDNAV is not set +# CONFIG_LV_USE_FRAGMENT is not set +# CONFIG_LV_USE_IMGFONT is not set +# CONFIG_LV_USE_MSG is not set +# CONFIG_LV_USE_IME_PINYIN is not set +# end of Others + +# +# Examples +# +# CONFIG_LV_BUILD_EXAMPLES is not set +# end of Examples + +# +# Demos +# +# CONFIG_LV_USE_DEMO_WIDGETS is not set +# CONFIG_LV_USE_DEMO_KEYPAD_AND_ENCODER is not set +# CONFIG_LV_USE_DEMO_BENCHMARK is not set +# CONFIG_LV_USE_DEMO_STRESS is not set +# CONFIG_LV_USE_DEMO_MUSIC is not set +# end of Demos +# end of LVGL configuration + +# +# LVGL ESP Drivers +# + +# +# LVGL TFT Display controller +# +CONFIG_LV_PREDEFINED_DISPLAY_NONE=y +# CONFIG_LV_PREDEFINED_DISPLAY_WROVER4 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STACK is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5CORE2 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STICK is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STICKC is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ERTFT0356 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ADA_FEATHERWING is not set +# CONFIG_LV_PREDEFINED_DISPLAY_RPI_MPI3501 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_WEMOS_LOLIN is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ATAG is not set +# CONFIG_LV_PREDEFINED_DISPLAY_RPI_RA8875 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_TTGO is not set +# CONFIG_LV_PREDEFINED_DISPLAY_TTGO_CAMERA_PLUS is not set +# CONFIG_LV_PREDEFINED_DISPLAY_WT32_SC01 is not set +CONFIG_LV_TFT_DISPLAY_CONTROLLER_ST7735S=y +CONFIG_LV_TFT_DISPLAY_PROTOCOL_SPI=y +CONFIG_LV_HOR_RES_MAX=128 +CONFIG_LV_VER_RES_MAX=128 +CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT=y +# CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT_INVERTED is not set +# CONFIG_LV_DISPLAY_ORIENTATION_LANDSCAPE is not set +# CONFIG_LV_DISPLAY_ORIENTATION_LANDSCAPE_INVERTED is not set +CONFIG_LV_DISPLAY_ORIENTATION=0 +CONFIG_LV_PREDEFINED_PINS_NONE=y +# CONFIG_LV_PREDEFINED_PINS_38V4 is not set +# CONFIG_LV_PREDEFINED_PINS_30 is not set +# CONFIG_LV_PREDEFINED_PINS_38V1 is not set +# CONFIG_LV_PREDEFINED_PINS_TKOALA is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9341 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9481 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9486 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9488 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7789 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7796S is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_GC9A01 is not set +CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7735S=y +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_HX8357 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SH1107 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SSD1306 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_FT81X is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_IL3820 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_JD79653A is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_UC8151D is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_RA8875 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9163C is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_PCD8544 is not set +# CONFIG_CUSTOM_DISPLAY_BUFFER_SIZE is not set +CONFIG_LV_TFT_DISPLAY_SPI2_HOST=y +# CONFIG_LV_TFT_DISPLAY_SPI3_HOST is not set +CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_SIO=y +# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_DIO is not set +# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_QIO is not set +CONFIG_LV_TFT_DISPLAY_SPI_HALF_DUPLEX=y +# CONFIG_LV_TFT_DISPLAY_SPI_FULL_DUPLEX is not set +CONFIG_LV_TFT_USE_CUSTOM_SPI_CLK_DIVIDER=y +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_1 is not set +CONFIG_LV_TFT_SPI_CLK_DIVIDER_2=y +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_3 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_4 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_5 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_6 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_7 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_8 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_9 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_10 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_12 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_16 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_20 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_24 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_32 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_40 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_48 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_80 is not set +CONFIG_LV_TFT_CUSTOM_SPI_CLK_DIVIDER=2 +# CONFIG_LV_M5STICKC_HANDLE_AXP192 is not set +# CONFIG_LV_INVERT_COLORS is not set + +# +# Display Pin Assignments +# +CONFIG_LV_DISP_SPI_MOSI=23 +CONFIG_LV_DISPLAY_USE_SPI_MISO=y +CONFIG_LV_DISP_SPI_MISO=19 +CONFIG_LV_DISP_SPI_INPUT_DELAY_NS=0 +CONFIG_LV_DISP_SPI_CLK=18 +CONFIG_LV_DISPLAY_USE_SPI_CS=y +CONFIG_LV_DISP_SPI_CS=17 +CONFIG_LV_DISPLAY_USE_DC=y +CONFIG_LV_DISP_PIN_DC=16 +CONFIG_LV_DISP_USE_RST=y +CONFIG_LV_DISP_PIN_RST=5 +CONFIG_LV_DISP_PIN_BUSY=35 +# end of Display Pin Assignments + +# CONFIG_LV_DISP_BACKLIGHT_OFF is not set +CONFIG_LV_DISP_BACKLIGHT_SWITCH=y +# CONFIG_LV_DISP_BACKLIGHT_PWM is not set +CONFIG_LV_BACKLIGHT_ACTIVE_LVL=y +CONFIG_LV_DISP_PIN_BCKL=32 +CONFIG_LV_I2C_DISPLAY_PORT=0 +# end of LVGL TFT Display controller + +# +# LVGL Touch controller +# +CONFIG_LV_TOUCH_CONTROLLER=0 +CONFIG_LV_TOUCH_CONTROLLER_NONE=y +# CONFIG_LV_TOUCH_CONTROLLER_XPT2046 is not set +# CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set +# CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set +# CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set +# CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set +# CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set +# CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set +CONFIG_LV_I2C_TOUCH_PORT=0 +# end of LVGL Touch controller +# end of LVGL ESP Drivers + +# +# mDNS +# +CONFIG_MDNS_MAX_INTERFACES=3 +CONFIG_MDNS_MAX_SERVICES=10 +CONFIG_MDNS_TASK_PRIORITY=1 +CONFIG_MDNS_ACTION_QUEUE_LEN=16 +CONFIG_MDNS_TASK_STACK_SIZE=4096 +# CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_MDNS_TASK_AFFINITY_CPU0=y +CONFIG_MDNS_TASK_AFFINITY=0x0 +CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000 +CONFIG_MDNS_TIMER_PERIOD_MS=100 +# CONFIG_MDNS_NETWORKING_SOCKET is not set +# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set +# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set +CONFIG_MDNS_ENABLE_CONSOLE_CLI=y +# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set +CONFIG_MDNS_MULTIPLE_INSTANCE=y + +# +# MDNS Predefined interfaces +# +CONFIG_MDNS_PREDEF_NETIF_STA=y +CONFIG_MDNS_PREDEF_NETIF_AP=y +CONFIG_MDNS_PREDEF_NETIF_ETH=y +# end of MDNS Predefined interfaces +# end of mDNS +# end of Component config + +# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set + +# Deprecated options for backward compatibility +# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set +# CONFIG_NO_BLOBS is not set +# CONFIG_ESP32_NO_BLOBS is not set +# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set +# CONFIG_ESP32_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set +CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y +# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set +CONFIG_LOG_BOOTLOADER_LEVEL=3 +# CONFIG_APP_ROLLBACK_ENABLE is not set +# CONFIG_FLASH_ENCRYPTION_ENABLED is not set +# CONFIG_FLASHMODE_QIO is not set +# CONFIG_FLASHMODE_QOUT is not set +CONFIG_FLASHMODE_DIO=y +# CONFIG_FLASHMODE_DOUT is not set +CONFIG_MONITOR_BAUD=115200 +# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set +CONFIG_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_CXX_EXCEPTIONS is not set +CONFIG_STACK_CHECK_NONE=y +# CONFIG_STACK_CHECK_NORM is not set +# CONFIG_STACK_CHECK_STRONG is not set +# CONFIG_STACK_CHECK_ALL is not set +# CONFIG_WARN_WRITE_STRINGS is not set +# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set +CONFIG_ESP32_APPTRACE_DEST_NONE=y +CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y +# CONFIG_BLUEDROID_ENABLED is not set +CONFIG_NIMBLE_ENABLED=y +CONFIG_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y +# CONFIG_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set +CONFIG_NIMBLE_MAX_CONNECTIONS=3 +CONFIG_NIMBLE_MAX_BONDS=3 +CONFIG_NIMBLE_MAX_CCCDS=8 +CONFIG_NIMBLE_L2CAP_COC_MAX_NUM=0 +CONFIG_NIMBLE_PINNED_TO_CORE=0 +CONFIG_NIMBLE_TASK_STACK_SIZE=4096 +CONFIG_BT_NIMBLE_TASK_STACK_SIZE=4096 +CONFIG_NIMBLE_ROLE_CENTRAL=y +CONFIG_NIMBLE_ROLE_PERIPHERAL=y +CONFIG_NIMBLE_ROLE_BROADCASTER=y +CONFIG_NIMBLE_ROLE_OBSERVER=y +# CONFIG_NIMBLE_NVS_PERSIST is not set +CONFIG_NIMBLE_SM_LEGACY=y +CONFIG_NIMBLE_SM_SC=y +# CONFIG_NIMBLE_SM_SC_DEBUG_KEYS is not set +CONFIG_BT_NIMBLE_SM_SC_LVL=0 +# CONFIG_NIMBLE_DEBUG is not set +CONFIG_NIMBLE_SVC_GAP_DEVICE_NAME="nimble" +CONFIG_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31 +CONFIG_NIMBLE_ATT_PREFERRED_MTU=256 +CONFIG_NIMBLE_SVC_GAP_APPEARANCE=0 +CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT=12 +CONFIG_BT_NIMBLE_ACL_BUF_COUNT=24 +CONFIG_BT_NIMBLE_ACL_BUF_SIZE=255 +CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE=70 +CONFIG_BT_NIMBLE_HCI_EVT_HI_BUF_COUNT=30 +CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT=8 +CONFIG_NIMBLE_HS_FLOW_CTRL=y +CONFIG_NIMBLE_HS_FLOW_CTRL_ITVL=1000 +CONFIG_NIMBLE_HS_FLOW_CTRL_THRESH=2 +CONFIG_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y +CONFIG_NIMBLE_RPA_TIMEOUT=900 +# CONFIG_NIMBLE_MESH is not set +CONFIG_NIMBLE_CRYPTO_STACK_MBEDTLS=y +CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY=y +# CONFIG_BTDM_CONTROLLER_MODE_BR_EDR_ONLY is not set +# CONFIG_BTDM_CONTROLLER_MODE_BTDM is not set +CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN=3 +CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=3 +CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0 +CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0 +CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0 +CONFIG_BTDM_CONTROLLER_HCI_MODE_VHCI=y +# CONFIG_BTDM_CONTROLLER_HCI_MODE_UART_H4 is not set +CONFIG_BTDM_CONTROLLER_MODEM_SLEEP=y +CONFIG_BLE_SCAN_DUPLICATE=y +CONFIG_SCAN_DUPLICATE_BY_DEVICE_ADDR=y +# CONFIG_SCAN_DUPLICATE_BY_ADV_DATA is not set +# CONFIG_SCAN_DUPLICATE_BY_ADV_DATA_AND_DEVICE_ADDR is not set +CONFIG_SCAN_DUPLICATE_TYPE=0 +CONFIG_DUPLICATE_SCAN_CACHE_SIZE=100 +# CONFIG_BLE_MESH_SCAN_DUPLICATE_EN is not set +CONFIG_BTDM_CONTROLLER_FULL_SCAN_SUPPORTED=y +CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_SUPPORTED=y +CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_NUM=100 +CONFIG_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 +CONFIG_ADC2_DISABLE_DAC=y +CONFIG_SW_COEXIST_ENABLE=y +CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y +CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y +# CONFIG_MCPWM_ISR_IN_IRAM is not set +# CONFIG_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +CONFIG_GDBSTUB_SUPPORT_TASKS=y +CONFIG_GDBSTUB_MAX_TASKS=32 +# CONFIG_OTA_ALLOW_HTTP is not set +# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set +CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y +CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 +# CONFIG_ESP_SYSTEM_PD_FLASH is not set +CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=0 +CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=0 +CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y +CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y +# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set +# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set +# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set +CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 +# CONFIG_ESP32_XTAL_FREQ_26 is not set +CONFIG_ESP32_XTAL_FREQ_40=y +# CONFIG_ESP32_XTAL_FREQ_AUTO is not set +CONFIG_ESP32_XTAL_FREQ=40 +CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP32_PHY_MAX_TX_POWER=20 +# CONFIG_REDUCE_PHY_TX_POWER is not set +# CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set +# CONFIG_SPIRAM_SUPPORT is not set +# CONFIG_ESP32_SPIRAM_SUPPORT is not set +# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set +CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y +# CONFIG_ESP32_DEFAULT_CPU_FREQ_240 is not set +CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=160 +CONFIG_TRACEMEM_RESERVE_DRAM=0x0 +# CONFIG_ESP32_PANIC_PRINT_HALT is not set +CONFIG_ESP32_PANIC_PRINT_REBOOT=y +# CONFIG_ESP32_PANIC_SILENT_REBOOT is not set +# CONFIG_ESP32_PANIC_GDBSTUB is not set +CONFIG_ESP32_ALLOW_RTC_FAST_MEM_AS_HEAP=y +CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=3584 +CONFIG_CONSOLE_UART_DEFAULT=y +# CONFIG_CONSOLE_UART_CUSTOM is not set +# CONFIG_CONSOLE_UART_NONE is not set +# CONFIG_ESP_CONSOLE_UART_NONE is not set +CONFIG_CONSOLE_UART=y +CONFIG_CONSOLE_UART_NUM=0 +CONFIG_CONSOLE_UART_BAUDRATE=115200 +CONFIG_INT_WDT=y +CONFIG_INT_WDT_TIMEOUT_MS=300 +CONFIG_TASK_WDT=y +CONFIG_ESP_TASK_WDT=y +# CONFIG_TASK_WDT_PANIC is not set +CONFIG_TASK_WDT_TIMEOUT_S=5 +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP32_DEBUG_OCDAWARE=y +CONFIG_BROWNOUT_DET=y +CONFIG_ESP32_BROWNOUT_DET=y +# CONFIG_BROWNOUT_DET_LVL_SEL_0 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set +CONFIG_BROWNOUT_DET_LVL_SEL_7=y +CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7=y +CONFIG_BROWNOUT_DET_LVL=7 +CONFIG_ESP32_BROWNOUT_DET_LVL=7 +# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set +CONFIG_IPC_TASK_STACK_SIZE=1024 +CONFIG_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP32_WIFI_ENABLED=y +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_CSI_ENABLED is not set +CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP32_WIFI_TX_BA_WIN=6 +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_NVS_ENABLED=y +CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 +CONFIG_ESP32_WIFI_IRAM_OPT=y +CONFIG_ESP32_WIFI_RX_IRAM_OPT=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y +CONFIG_WPA_MBEDTLS_CRYPTO=y +CONFIG_WPA_MBEDTLS_TLS_CLIENT=y +# CONFIG_WPA_WAPI_PSK is not set +# CONFIG_WPA_11KV_SUPPORT is not set +# CONFIG_WPA_MBO_SUPPORT is not set +# CONFIG_WPA_DPP_SUPPORT is not set +# CONFIG_WPA_11R_SUPPORT is not set +# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set +# CONFIG_WPA_WPS_STRICT is not set +# CONFIG_WPA_DEBUG_PRINT is not set +# CONFIG_WPA_TESTING_OPTIONS is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set +CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y +CONFIG_TIMER_TASK_PRIORITY=1 +CONFIG_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_TIMER_QUEUE_LENGTH=10 +# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set +# CONFIG_L2_TO_L3_COPY is not set +CONFIG_ESP_GRATUITOUS_ARP=y +CONFIG_GARP_TMR_INTERVAL=60 +CONFIG_TCPIP_RECVMBOX_SIZE=32 +CONFIG_TCP_MAXRTX=12 +CONFIG_TCP_SYNMAXRTX=12 +CONFIG_TCP_MSS=1440 +CONFIG_TCP_MSL=60000 +CONFIG_TCP_SND_BUF_DEFAULT=5760 +CONFIG_TCP_WND_DEFAULT=5760 +CONFIG_TCP_RECVMBOX_SIZE=6 +CONFIG_TCP_QUEUE_OOSEQ=y +CONFIG_TCP_OVERSIZE_MSS=y +# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_TCP_OVERSIZE_DISABLE is not set +CONFIG_UDP_RECVMBOX_SIZE=6 +CONFIG_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set +CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_PPP_SUPPORT is not set +CONFIG_ESP32_TIME_SYSCALL_USE_RTC_HRT=y +CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y +# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_HRT is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_ESP32_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +# CONFIG_ESP32_ULP_COPROC_ENABLED is not set +CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y +CONFIG_SUPPORT_TERMIOS=y +CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# End of deprecated options From e37cc6fe017f9330914aa938d849908bf250db69 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 18:52:51 -0600 Subject: [PATCH 18/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 48 +++----------------------- 1 file changed, 4 insertions(+), 44 deletions(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index b84313de..c5cd36e4 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -35,7 +35,7 @@ jobs: ~/.espressif ~/.idf_tools ~/.cache/pip - key: ${{ runner.os }}-esp-idf-${{ matrix.target }}-${{ hashFiles('**/sdkconfig') }} + key: ${{ runner.os }}-esp-idf-${{ matrix.target }}-${{ hashFiles('**/configs/sdkconfig.nimble') }} restore-keys: | ${{ runner.os }}-esp-idf-${{ matrix.target }}- ${{ runner.os }}-esp-idf- @@ -54,51 +54,11 @@ jobs: . ~/esp-idf/export.sh idf.py set-target ${{ matrix.target }} - # Use sdkconfig instead of sdkconfig.defaults - - name: Apply Base sdkconfig + # Use the custom sdkconfig for NimBLE + - name: Apply Custom sdkconfig for NimBLE run: | . ~/esp-idf/export.sh - cp sdkconfig sdkconfig.build - - - name: Override Build Options in sdkconfig - run: | - . ~/esp-idf/export.sh - sed -i 's/^CONFIG_FLASH_SIZE.*/CONFIG_FLASH_SIZE_4MB=y/' sdkconfig.build - sed -i 's/^CONFIG_COMPILER_OPTIMIZATION_SIZE.*/CONFIG_COMPILER_OPTIMIZATION_SIZE=y/' sdkconfig.build - sed -i 's/^CONFIG_PARTITION_TABLE_CUSTOM.*/CONFIG_PARTITION_TABLE_CUSTOM=y/' sdkconfig.build - sed -i 's/^CONFIG_PARTITION_TABLE_FILENAME.*/CONFIG_PARTITION_TABLE_FILENAME="partitions.csv"/' sdkconfig.build - sed -i 's/^CONFIG_FATFS_LFN_ENABLED.*/CONFIG_FATFS_LFN_ENABLED=y/' sdkconfig.build - sed -i 's/^CONFIG_FATFS_LFN_CODE_PAGE.*/CONFIG_FATFS_LFN_CODE_PAGE_437=y/' sdkconfig.build - sed -i 's/^CONFIG_FATFS_MAX_LFN.*/CONFIG_FATFS_MAX_LFN=255/' sdkconfig.build - - # Enable Bluetooth and NimBLE for all targets except esp32s2 - if [ "${{ matrix.target }}" = "esp32s2" ]; then - sed -i 's/^CONFIG_BT_ENABLED.*/CONFIG_BT_ENABLED=n/' sdkconfig.build - sed -i 's/^CONFIG_BLUEDROID_ENABLED.*/CONFIG_BLUEDROID_ENABLED=n/' sdkconfig.build - sed -i 's/^CONFIG_BLUETOOTH_ENABLED.*/CONFIG_BLUETOOTH_ENABLED=n/' sdkconfig.build - sed -i 's/^CONFIG_BLE_ENABLED.*/CONFIG_BLE_ENABLED=n/' sdkconfig.build - sed -i 's/^CONFIG_BT_NIMBLE_ENABLED.*/CONFIG_BT_NIMBLE_ENABLED=n/' sdkconfig.build - else - sed -i 's/^CONFIG_BT_ENABLED.*/CONFIG_BT_ENABLED=y/' sdkconfig.build - sed -i 's/^CONFIG_BLUEDROID_ENABLED.*/CONFIG_BLUEDROID_ENABLED=n/' sdkconfig.build - sed -i 's/^CONFIG_BLUETOOTH_ENABLED.*/CONFIG_BLUETOOTH_ENABLED=y/' sdkconfig.build - sed -i 's/^CONFIG_BLE_ENABLED.*/CONFIG_BLE_ENABLED=y/' sdkconfig.build - sed -i 's/^CONFIG_BT_NIMBLE_ENABLED.*/CONFIG_BT_NIMBLE_ENABLED=y/' sdkconfig.build - sed -i 's/^CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY.*/CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY=y/' sdkconfig.build - sed -i 's/^CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN.*/CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN=3/' sdkconfig.build - sed -i 's/^CONFIG_BT_NIMBLE_ROLE_PERIPHERAL.*/CONFIG_BT_NIMBLE_ROLE_PERIPHERAL=y/' sdkconfig.build - sed -i 's/^CONFIG_BT_NIMBLE_ROLE_CENTRAL.*/CONFIG_BT_NIMBLE_ROLE_CENTRAL=y/' sdkconfig.build - sed -i 's/^CONFIG_BT_NIMBLE_MAX_CONNECTIONS.*/CONFIG_BT_NIMBLE_MAX_CONNECTIONS=3/' sdkconfig.build - fi - - # Set LVGL font configurations - sed -i 's/^CONFIG_LV_FONT_MONTSERRAT_8.*/CONFIG_LV_FONT_MONTSERRAT_8=y/' sdkconfig.build - sed -i 's/^CONFIG_LV_FONT_MONTSERRAT_10.*/CONFIG_LV_FONT_MONTSERRAT_10=y/' sdkconfig.build - sed -i 's/^CONFIG_LV_FONT_MONTSERRAT_12.*/CONFIG_LV_FONT_MONTSERRAT_12=y/' sdkconfig.build - sed -i 's/^CONFIG_LV_FONT_MONTSERRAT_14.*/CONFIG_LV_FONT_MONTSERRAT_14=y/' sdkconfig.build - sed -i 's/^CONFIG_LV_FONT_MONTSERRAT_16.*/CONFIG_LV_FONT_MONTSERRAT_16=y/' sdkconfig.build - sed -i 's/^CONFIG_LV_FONT_MONTSERRAT_18.*/CONFIG_LV_FONT_MONTSERRAT_18=y/' sdkconfig.build - sed -i 's/^CONFIG_LV_FONT_MONTSERRAT_24.*/CONFIG_LV_FONT_MONTSERRAT_24=y/' sdkconfig.build + cp configs/sdkconfig.nimble sdkconfig - name: Clean Build Environment run: | From 559d6f190984e953c63b03d704581c763b8b9789 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 19:07:30 -0600 Subject: [PATCH 19/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index c5cd36e4..0b574748 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -108,6 +108,31 @@ jobs: name: ${{ matrix.target }}-build-${{ github.run_id }}.zip path: packaged_artifacts/${{ matrix.target }}-build-${{ github.run_id }}.zip + - name: Get the Latest Release ID + id: get_release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + latest_release=$(curl -s \ + -H "Authorization: token $GITHUB_TOKEN" \ + -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/${{ github.repository }}/releases/latest") + release_id=$(echo "$latest_release" | jq -r '.id') + echo "Latest release ID is $release_id" + echo "::set-output name=release_id::$release_id" + + - name: Upload to Latest Release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + zip_file="packaged_artifacts/${{ matrix.target }}-build-${{ github.run_id }}.zip" + release_id=${{ steps.get_release.outputs.release_id }} + curl -X POST \ + -H "Authorization: token $GITHUB_TOKEN" \ + -H "Content-Type: application/zip" \ + --data-binary @"$zip_file" \ + "https://uploads.github.com/repos/${{ github.repository }}/releases/$release_id/assets?name=$(basename $zip_file)" + - name: Archive Build Directory on Failure if: failure() uses: actions/upload-artifact@v3 From 1e0e62e67fd7c8e4bb8d984ff2a5b92d3f9e22c6 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 19:59:28 -0600 Subject: [PATCH 20/58] Config Update --- .github/workflows/compile_generics.yml | 108 +- CMakeLists.txt | 71 +- configs/sdkconfig.esp32s2 | 2072 ----------------- .../{sdkconfig.nimble => sdkconfig_awokmini} | 0 ...g.backupbackup => sdkconfig_crowtech7inch} | 999 ++++---- .../{sdkconfig.awokmini => sdkconfig_default} | 79 +- ...fig.screen.backup => sdkconfig_marauderv6} | 35 +- ...kconfig.esp32 => sdkconfig_waveshare7inch} | 1471 ++++++++---- dependencies.lock | 2 +- main/vendor/drivers/ST7262.c | 66 +- sdkconfig | 982 +++++--- sdkconfig.old | 843 ++++--- 12 files changed, 3015 insertions(+), 3713 deletions(-) delete mode 100644 configs/sdkconfig.esp32s2 rename configs/{sdkconfig.nimble => sdkconfig_awokmini} (100%) rename configs/{sdkconfig.backupbackup => sdkconfig_crowtech7inch} (80%) rename configs/{sdkconfig.awokmini => sdkconfig_default} (97%) rename configs/{sdkconfig.screen.backup => sdkconfig_marauderv6} (99%) rename configs/{sdkconfig.esp32 => sdkconfig_waveshare7inch} (61%) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 0b574748..6be239c4 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -7,17 +7,38 @@ on: jobs: build: - name: Build for ${{ matrix.target }} + name: Build for ${{ matrix.target.name }} - LED: ${{ matrix.led }} - Screen: ${{ matrix.screen_support }} - Input: ${{ matrix.input_type }} runs-on: ubuntu-latest strategy: matrix: target: - - esp32 - - esp32s2 - - esp32s3 - - esp32c3 - - esp32c6 + # Generic configurations (no LED, no screen support) + - { name: "esp32-generic", idf_target: "esp32", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig_default", zip_name: "esp32-generic.zip" } + - { name: "esp32s2-generic", idf_target: "esp32s2", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig_default", zip_name: "esp32s2-generic.zip" } + - { name: "esp32s3-generic", idf_target: "esp32s3", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig_default", zip_name: "esp32s3-generic.zip" } + - { name: "esp32c3-generic", idf_target: "esp32c3", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig_default", zip_name: "esp32c3-generic.zip" } + - { name: "esp32c6-generic", idf_target: "esp32c6", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig_default", zip_name: "esp32c6-generic.zip" } + + # Dev Kit configurations (LED on, no screen support) + - { name: "esp32c3-devkit", idf_target: "esp32c3", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig_default", zip_name: "esp32c3-devkit.zip", led_pin: 8, num_leds: 1 } + - { name: "esp32c6-devkit", idf_target: "esp32c6", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig_default", zip_name: "esp32c6-devkit.zip", led_pin: 8, num_leds: 1 } + + # Ghost board (LED on, special pin and LED count) + - { name: "ghostboard", idf_target: "esp32c6", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig_default", zip_name: "ghostboard.zip", led_pin: 10, num_leds: 3, is_ghost_board: true } + + # Screen-supported builds + - { name: "MarauderV6&AwokDual", idf_target: "esp32", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig_marauderv6", zip_name: "MarauderV6&AwokDual.zip", screen_width: 240, screen_height: 320 } + - { name: "AwokMini", idf_target: "esp32", led: false, screen_support: true, input_type: "joystick", sdkconfig_file: "configs/sdkconfig_awokmini", zip_name: "AwokMini.zip", screen_width: 128, screen_height: 128 } + - { name: "ESP32-S3-Cardputer", idf_target: "esp32s3", led: false, screen_support: true, input_type: "cardputer", sdkconfig_file: "configs/sdkconfig_default", zip_name: "ESP32-S3-Cardputer.zip", screen_width: 240, screen_height: 135 } + + # CYD (Cheap Yellow Display) with touch screen + #- { name: "CYD-1", idf_target: "esp32", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig_cyd_1", zip_name: "CYD-1.zip", screen_width: 240, screen_height: 320 } + #- { name: "CYD-2", idf_target: "esp32", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig_cyd_2", zip_name: "CYD-2.zip", screen_width: 240, screen_height: 320 } + + # 7-inch boards + - { name: "Waveshare_LCD", idf_target: "esp32s3", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig_waveshare7inch", zip_name: "Waveshare_LCD.zip", screen_width: 800, screen_height: 480, use_7_incher: true, waveshare_lcd: true } + - { name: "Crowtech_LCD", idf_target: "esp32s3", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig_crowtech7inch", zip_name: "Crowtech_LCD.zip", screen_width: 800, screen_height: 480, use_7_incher: true, crowtech_lcd: true } steps: - name: Checkout Repository @@ -35,11 +56,10 @@ jobs: ~/.espressif ~/.idf_tools ~/.cache/pip - key: ${{ runner.os }}-esp-idf-${{ matrix.target }}-${{ hashFiles('**/configs/sdkconfig.nimble') }} + key: ${{ runner.os }}-esp-idf-${{ matrix.target.name }}-${{ matrix.led }}-${{ matrix.screen_support }}-${{ matrix.input_type }} restore-keys: | - ${{ runner.os }}-esp-idf-${{ matrix.target }}- + ${{ runner.os }}-esp-idf-${{ matrix.target.name }}- ${{ runner.os }}-esp-idf- - ${{ runner.os }}- # Manual ESP-IDF Installation - name: Install ESP-IDF @@ -52,13 +72,46 @@ jobs: - name: Set Target run: | . ~/esp-idf/export.sh - idf.py set-target ${{ matrix.target }} + idf.py set-target ${{ matrix.target.idf_target }} - # Use the custom sdkconfig for NimBLE - - name: Apply Custom sdkconfig for NimBLE + - name: Apply Custom SDK Config run: | - . ~/esp-idf/export.sh - cp configs/sdkconfig.nimble sdkconfig + cp ${{ matrix.sdkconfig_file }} sdkconfig + + - name: Set Environment Variables for Matrix Configuration + run: | + if [ "${{ matrix.led }}" = "true" ]; then + echo "LED_DATA_PIN=${{ matrix.led_pin }}" >> $GITHUB_ENV + echo "NUM_LEDS=${{ matrix.num_leds }}" >> $GITHUB_ENV + fi + if [ "${{ matrix.is_ghost_board }}" = "true" ]; then + echo "IS_GHOST_BOARD=1" >> $GITHUB_ENV + fi + if [ "${{ matrix.screen_support }}" = "true" ]; then + echo "WITH_SCREEN=1" >> $GITHUB_ENV + echo "TFT_WIDTH=${{ matrix.screen_width }}" >> $GITHUB_ENV + echo "TFT_HEIGHT=${{ matrix.screen_height }}" >> $GITHUB_ENV + fi + case "${{ matrix.input_type }}" in + "touchscreen") + echo "USE_TOUCHSCREEN=1" >> $GITHUB_ENV + ;; + "joystick") + echo "USE_JOYSTICK=1" >> $GITHUB_ENV + ;; + "cardputer") + echo "USE_CARDPUTER=1" >> $GITHUB_ENV + ;; + esac + if [ "${{ matrix.use_7_incher }}" = "true" ]; then + echo "USE_7_INCHER=0" >> $GITHUB_ENV + fi + if [ "${{ matrix.waveshare_lcd }}" = "true" ]; then + echo "Waveshare_LCD=1" >> $GITHUB_ENV + fi + if [ "${{ matrix.crowtech_lcd }}" = "true" ]; then + echo "Crowtech_LCD=1" >> $GITHUB_ENV + fi - name: Clean Build Environment run: | @@ -97,17 +150,11 @@ jobs: cp "$PARTITION_TABLE_BIN" packaged_artifacts/ cp "$GHOST_ESP_IDF_BIN" packaged_artifacts/ - ZIP_NAME="${{ matrix.target }}-build-${{ github.run_id }}.zip" + ZIP_NAME="${{ matrix.zip_name }}" cd packaged_artifacts zip "$ZIP_NAME" bootloader.bin partition-table.bin Ghost_ESP_IDF.bin cd .. - - name: Upload Build Artifacts ZIP - uses: actions/upload-artifact@v3 - with: - name: ${{ matrix.target }}-build-${{ github.run_id }}.zip - path: packaged_artifacts/${{ matrix.target }}-build-${{ github.run_id }}.zip - - name: Get the Latest Release ID id: get_release env: @@ -125,25 +172,10 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - zip_file="packaged_artifacts/${{ matrix.target }}-build-${{ github.run_id }}.zip" + zip_file="packaged_artifacts/${{ matrix.zip_name }}" release_id=${{ steps.get_release.outputs.release_id }} curl -X POST \ -H "Authorization: token $GITHUB_TOKEN" \ -H "Content-Type: application/zip" \ --data-binary @"$zip_file" \ - "https://uploads.github.com/repos/${{ github.repository }}/releases/$release_id/assets?name=$(basename $zip_file)" - - - name: Archive Build Directory on Failure - if: failure() - uses: actions/upload-artifact@v3 - with: - name: ${{ matrix.target }}-build-failure-${{ github.run_id }} - path: build/ - - # Discord notification using curl - - name: Notify on Failure - if: failure() - run: | - curl -X POST -H "Content-Type: application/json" \ - -d "{\"content\": \"🚨 **Build Failed**\n**Repository**: \`${{ github.repository }}\`\n**Target**: \`${{ matrix.target }}\`\n**Run ID**: \`${{ github.run_id }}\`\n**View Details**: [Click Here](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})\"}" \ - ${{ secrets.DISCORD_WEBHOOK_URL }} \ No newline at end of file + "https://uploads.github.com/repos/${{ github.repository }}/releases/$release_id/assets?name=$(basename $zip_file)" \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index a6d3655f..91e03ef9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,25 +1,64 @@ cmake_minimum_required(VERSION 3.16.0) -#set(IDF_TARGET "esp32") + +# Partition table settings set(PARTITION_TABLE_CUSTOM_FILENAME "partitions/min_spiffs.csv") set(PARTITION_TABLE_CUSTOM_PARTITION_FILENAME "partitions/min_spiffs.csv") add_link_options("-Wl,-z,muldefs") -#add_compile_definitions(LED_DATA_PIN=10) -#add_compile_definitions(USB_MODULE=1) -#add_compile_definitions(DEBUG=1) -#add_compile_definitions(USE_TOUCHSCREEN=1) -add_compile_definitions(HOLD_LIMIT=1000) # for joystick -#add_compile_definitions(USE_JOYSTICK) -#add_compile_definitions(USE_CARDPUTER=1) -#add_compile_definitions(WITH_SCREEN=1) -add_compile_definitions(TFT_WIDTH=128) # TFT Width TFT_WIDTH=240 -add_compile_definitions(TFT_HEIGHT=128) # TFT Height TFT_WIDTH=320 -add_compile_definitions(LED_ORDER=0) # 2 For RGB 0 for GRB -#add_compile_definitions(USE_7_INCHER=0) -add_compile_definitions(NUM_LEDS=3) -add_compile_definitions(IS_GHOST_BOARD=0) + +# LED configuration +if(DEFINED ENV{LED_DATA_PIN}) + add_compile_definitions(LED_DATA_PIN=$ENV{LED_DATA_PIN}) +endif() +if(DEFINED ENV{NUM_LEDS}) + add_compile_definitions(NUM_LEDS=$ENV{NUM_LEDS}) +endif() + +# Screen support and resolution +if(DEFINED ENV{WITH_SCREEN} AND "$ENV{WITH_SCREEN}" STREQUAL "1") + add_compile_definitions(WITH_SCREEN=1) +endif() +if(DEFINED ENV{TFT_WIDTH}) + add_compile_definitions(TFT_WIDTH=$ENV{TFT_WIDTH}) +endif() +if(DEFINED ENV{TFT_HEIGHT}) + add_compile_definitions(TFT_HEIGHT=$ENV{TFT_HEIGHT}) +endif() + +# Input type (touchscreen, joystick, cardputer) +if(DEFINED ENV{USE_TOUCHSCREEN} AND "$ENV{USE_TOUCHSCREEN}" STREQUAL "1") + add_compile_definitions(USE_TOUCHSCREEN=1) +endif() +if(DEFINED ENV{USE_JOYSTICK} AND "$ENV{USE_JOYSTICK}" STREQUAL "1") + add_compile_definitions(USE_JOYSTICK=1) +endif() +if(DEFINED ENV{USE_CARDPUTER} AND "$ENV{USE_CARDPUTER}" STREQUAL "1") + add_compile_definitions(USE_CARDPUTER=1) +endif() + +# Ghost board specific configuration +if(DEFINED ENV{IS_GHOST_BOARD} AND "$ENV{IS_GHOST_BOARD}" STREQUAL "1") + add_compile_definitions(IS_GHOST_BOARD=1) +endif() + +# 7-inch display support +if(DEFINED ENV{USE_7_INCHER} AND "$ENV{USE_7_INCHER}" STREQUAL "0") + add_compile_definitions(USE_7_INCHER=0) +endif() +if(DEFINED ENV{Waveshare_LCD} AND "$ENV{Waveshare_LCD}" STREQUAL "1") + add_compile_definitions(Waveshare_LCD=1) +endif() +if(DEFINED ENV{Crowtech_LCD} AND "$ENV{Crowtech_LCD}" STREQUAL "1") + add_compile_definitions(Crowtech_LCD=1) +endif() + +# Other default configurations +add_compile_definitions(HOLD_LIMIT=1000) # For joystick hold duration +add_compile_definitions(LED_ORDER=0) # 2 for RGB, 0 for GRB add_compile_definitions(USING_SPI=0) add_compile_definitions(USING_MMC=0) add_compile_definitions(DNS_SERVER_MAX_ITEMS=1) add_compile_definitions(MAX_WPS_NETWORKS=15) + +# Include project settings include($ENV{IDF_PATH}/tools/cmake/project.cmake) -project(Ghost_ESP_IDF) +project(Ghost_ESP_IDF) \ No newline at end of file diff --git a/configs/sdkconfig.esp32s2 b/configs/sdkconfig.esp32s2 deleted file mode 100644 index 7966ccc4..00000000 --- a/configs/sdkconfig.esp32s2 +++ /dev/null @@ -1,2072 +0,0 @@ -# -# Automatically generated file. DO NOT EDIT. -# Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Configuration -# -CONFIG_SOC_ADC_SUPPORTED=y -CONFIG_SOC_DAC_SUPPORTED=y -CONFIG_SOC_UART_SUPPORTED=y -CONFIG_SOC_TWAI_SUPPORTED=y -CONFIG_SOC_CP_DMA_SUPPORTED=y -CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y -CONFIG_SOC_GPTIMER_SUPPORTED=y -CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y -CONFIG_SOC_ULP_FSM_SUPPORTED=y -CONFIG_SOC_RISCV_COPROC_SUPPORTED=y -CONFIG_SOC_USB_OTG_SUPPORTED=y -CONFIG_SOC_PCNT_SUPPORTED=y -CONFIG_SOC_PHY_SUPPORTED=y -CONFIG_SOC_WIFI_SUPPORTED=y -CONFIG_SOC_ULP_SUPPORTED=y -CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y -CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y -CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y -CONFIG_SOC_EFUSE_SUPPORTED=y -CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y -CONFIG_SOC_CACHE_SUPPORT_WRAP=y -CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y -CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y -CONFIG_SOC_RTC_MEM_SUPPORTED=y -CONFIG_SOC_PSRAM_DMA_CAPABLE=y -CONFIG_SOC_XT_WDT_SUPPORTED=y -CONFIG_SOC_I2S_SUPPORTED=y -CONFIG_SOC_RMT_SUPPORTED=y -CONFIG_SOC_SDM_SUPPORTED=y -CONFIG_SOC_GPSPI_SUPPORTED=y -CONFIG_SOC_LEDC_SUPPORTED=y -CONFIG_SOC_I2C_SUPPORTED=y -CONFIG_SOC_SYSTIMER_SUPPORTED=y -CONFIG_SOC_AES_SUPPORTED=y -CONFIG_SOC_MPI_SUPPORTED=y -CONFIG_SOC_SHA_SUPPORTED=y -CONFIG_SOC_HMAC_SUPPORTED=y -CONFIG_SOC_DIG_SIGN_SUPPORTED=y -CONFIG_SOC_FLASH_ENC_SUPPORTED=y -CONFIG_SOC_SECURE_BOOT_SUPPORTED=y -CONFIG_SOC_MEMPROT_SUPPORTED=y -CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y -CONFIG_SOC_BOD_SUPPORTED=y -CONFIG_SOC_CLK_TREE_SUPPORTED=y -CONFIG_SOC_MPU_SUPPORTED=y -CONFIG_SOC_WDT_SUPPORTED=y -CONFIG_SOC_SPI_FLASH_SUPPORTED=y -CONFIG_SOC_RNG_SUPPORTED=y -CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y -CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y -CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y -CONFIG_SOC_PM_SUPPORTED=y -CONFIG_SOC_XTAL_SUPPORT_40M=y -CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y -CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y -CONFIG_SOC_ADC_ARBITER_SUPPORTED=y -CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y -CONFIG_SOC_ADC_DIG_IIR_FILTER_UNIT_BINDED=y -CONFIG_SOC_ADC_MONITOR_SUPPORTED=y -CONFIG_SOC_ADC_DMA_SUPPORTED=y -CONFIG_SOC_ADC_PERIPH_NUM=2 -CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 -CONFIG_SOC_ADC_ATTEN_NUM=4 -CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 -CONFIG_SOC_ADC_PATT_LEN_MAX=32 -CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 -CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 -CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 -CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2 -CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=2 -CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 -CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=13 -CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=13 -CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y -CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y -CONFIG_SOC_ADC_SHARED_POWER=y -CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y -CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y -CONFIG_SOC_CP_DMA_MAX_BUFFER_SIZE=4095 -CONFIG_SOC_CPU_CORES_NUM=1 -CONFIG_SOC_CPU_INTR_NUM=32 -CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 -CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 -CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64 -CONFIG_SOC_DAC_CHAN_NUM=2 -CONFIG_SOC_DAC_RESOLUTION=8 -CONFIG_SOC_GPIO_PORT=1 -CONFIG_SOC_GPIO_PIN_COUNT=47 -CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y -CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y -CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y -CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y -CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x7FFFFFFFFFFF -CONFIG_SOC_GPIO_IN_RANGE_MAX=46 -CONFIG_SOC_GPIO_OUT_RANGE_MAX=45 -CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x00007FFFFC000000 -CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y -CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 -CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 -CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 -CONFIG_SOC_DEDIC_GPIO_ALLOW_REG_ACCESS=y -CONFIG_SOC_DEDIC_GPIO_HAS_INTERRUPT=y -CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y -CONFIG_SOC_I2C_NUM=2 -CONFIG_SOC_HP_I2C_NUM=2 -CONFIG_SOC_I2C_FIFO_LEN=32 -CONFIG_SOC_I2C_CMD_REG_NUM=16 -CONFIG_SOC_I2C_SUPPORT_SLAVE=y -CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y -CONFIG_SOC_I2C_SUPPORT_REF_TICK=y -CONFIG_SOC_I2C_SUPPORT_APB=y -CONFIG_SOC_I2S_NUM=1 -CONFIG_SOC_I2S_HW_VERSION_1=y -CONFIG_SOC_I2S_SUPPORTS_APLL=y -CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y -CONFIG_SOC_I2S_SUPPORTS_DMA_EQUAL=y -CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y -CONFIG_SOC_I2S_APLL_MIN_FREQ=250000000 -CONFIG_SOC_I2S_APLL_MAX_FREQ=500000000 -CONFIG_SOC_I2S_APLL_MIN_RATE=10675 -CONFIG_SOC_I2S_LCD_I80_VARIANT=y -CONFIG_SOC_LCD_I80_SUPPORTED=y -CONFIG_SOC_LCD_I80_BUSES=1 -CONFIG_SOC_LCD_I80_BUS_WIDTH=24 -CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y -CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y -CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y -CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y -CONFIG_SOC_LEDC_CHANNEL_NUM=8 -CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 -CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y -CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=5 -CONFIG_SOC_MMU_PERIPH_NUM=1 -CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 -CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 -CONFIG_SOC_PCNT_GROUPS=1 -CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 -CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 -CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 -CONFIG_SOC_RMT_GROUPS=1 -CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4 -CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4 -CONFIG_SOC_RMT_CHANNELS_PER_GROUP=4 -CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64 -CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y -CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y -CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y -CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y -CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y -CONFIG_SOC_RMT_SUPPORT_REF_TICK=y -CONFIG_SOC_RMT_SUPPORT_APB=y -CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y -CONFIG_SOC_RTCIO_PIN_COUNT=22 -CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y -CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y -CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y -CONFIG_SOC_SDM_GROUPS=1 -CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 -CONFIG_SOC_SDM_CLK_SUPPORT_APB=y -CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y -CONFIG_SOC_SPI_PERIPH_NUM=3 -CONFIG_SOC_SPI_DMA_CHAN_NUM=3 -CONFIG_SOC_SPI_MAX_CS_NUM=6 -CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=72 -CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192 -CONFIG_SOC_SPI_SUPPORT_DDRCLK=y -CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y -CONFIG_SOC_SPI_SUPPORT_CD_SIG=y -CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y -CONFIG_SOC_SPI_SUPPORT_CLK_APB=y -CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y -CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y -CONFIG_SOC_SPI_SUPPORT_OCT=y -CONFIG_SOC_SPI_SCT_SUPPORTED=y -CONFIG_SOC_SPI_SCT_REG_NUM=27 -CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y -CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x7FFFFD -CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y -CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y -CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y -CONFIG_SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED=y -CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y -CONFIG_SOC_SYSTIMER_COUNTER_NUM=y -CONFIG_SOC_SYSTIMER_ALARM_NUM=3 -CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 -CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=32 -CONFIG_SOC_TIMER_GROUPS=2 -CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 -CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64 -CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y -CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y -CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 -CONFIG_SOC_TOUCH_SENSOR_VERSION=2 -CONFIG_SOC_TOUCH_SENSOR_NUM=15 -CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y -CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y -CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y -CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3 -CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 -CONFIG_SOC_TWAI_CONTROLLER_NUM=1 -CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y -CONFIG_SOC_TWAI_BRP_MIN=2 -CONFIG_SOC_TWAI_BRP_MAX=32768 -CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y -CONFIG_SOC_UART_NUM=2 -CONFIG_SOC_UART_HP_NUM=2 -CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y -CONFIG_SOC_UART_SUPPORT_APB_CLK=y -CONFIG_SOC_UART_SUPPORT_REF_TICK=y -CONFIG_SOC_UART_FIFO_LEN=128 -CONFIG_SOC_UART_BITRATE_MAX=5000000 -CONFIG_SOC_SPIRAM_SUPPORTED=y -CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y -CONFIG_SOC_USB_OTG_PERIPH_NUM=1 -CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 -CONFIG_SOC_SHA_SUPPORT_DMA=y -CONFIG_SOC_SHA_SUPPORT_RESUME=y -CONFIG_SOC_SHA_CRYPTO_DMA=y -CONFIG_SOC_SHA_SUPPORT_SHA1=y -CONFIG_SOC_SHA_SUPPORT_SHA224=y -CONFIG_SOC_SHA_SUPPORT_SHA256=y -CONFIG_SOC_SHA_SUPPORT_SHA384=y -CONFIG_SOC_SHA_SUPPORT_SHA512=y -CONFIG_SOC_SHA_SUPPORT_SHA512_224=y -CONFIG_SOC_SHA_SUPPORT_SHA512_256=y -CONFIG_SOC_SHA_SUPPORT_SHA512_T=y -CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 -CONFIG_SOC_MPI_OPERATIONS_NUM=3 -CONFIG_SOC_RSA_MAX_BIT_LEN=4096 -CONFIG_SOC_AES_SUPPORT_DMA=y -CONFIG_SOC_AES_SUPPORT_GCM=y -CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y -CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y -CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y -CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y -CONFIG_SOC_EFUSE_DIS_BOOT_REMAP=y -CONFIG_SOC_EFUSE_DIS_LEGACY_SPI_BOOT=y -CONFIG_SOC_EFUSE_DIS_ICACHE=y -CONFIG_SOC_SECURE_BOOT_V2_RSA=y -CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 -CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y -CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y -CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y -CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 -CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=4 -CONFIG_SOC_AES_CRYPTO_DMA=y -CONFIG_SOC_AES_SUPPORT_AES_128=y -CONFIG_SOC_AES_SUPPORT_AES_192=y -CONFIG_SOC_AES_SUPPORT_AES_256=y -CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 -CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y -CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y -CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y -CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y -CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_WIFI_PD=y -CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y -CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y -CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y -CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y -CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y -CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y -CONFIG_SOC_CLK_APLL_SUPPORTED=y -CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y -CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y -CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y -CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y -CONFIG_SOC_COEX_HW_PTI=y -CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y -CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y -CONFIG_SOC_WIFI_HW_TSF=y -CONFIG_SOC_WIFI_FTM_SUPPORT=y -CONFIG_SOC_WIFI_WAPI_SUPPORT=y -CONFIG_SOC_WIFI_CSI_SUPPORT=y -CONFIG_SOC_WIFI_MESH_SUPPORT=y -CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y -CONFIG_SOC_WIFI_NAN_SUPPORT=y -CONFIG_SOC_ULP_HAS_ADC=y -CONFIG_IDF_CMAKE=y -CONFIG_IDF_TOOLCHAIN="gcc" -CONFIG_IDF_TARGET_ARCH_XTENSA=y -CONFIG_IDF_TARGET_ARCH="xtensa" -CONFIG_IDF_TARGET="esp32s2" -CONFIG_IDF_INIT_VERSION="5.3.1" -CONFIG_IDF_TARGET_ESP32S2=y -CONFIG_IDF_FIRMWARE_CHIP_ID=0x0002 - -# -# Build type -# -CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y -# CONFIG_APP_BUILD_TYPE_RAM is not set -CONFIG_APP_BUILD_GENERATE_BINARIES=y -CONFIG_APP_BUILD_BOOTLOADER=y -CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y -# CONFIG_APP_REPRODUCIBLE_BUILD is not set -# CONFIG_APP_NO_BLOBS is not set -# end of Build type - -# -# Bootloader config -# - -# -# Bootloader manager -# -CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y -CONFIG_BOOTLOADER_PROJECT_VER=1 -# end of Bootloader manager - -CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000 -CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y -# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set -# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set -# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set -# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set -# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set -# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set -CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y -# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set -# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set -CONFIG_BOOTLOADER_LOG_LEVEL=3 - -# -# Serial Flash Configurations -# -# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set -CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y -# end of Serial Flash Configurations - -CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y -# CONFIG_BOOTLOADER_FACTORY_RESET is not set -# CONFIG_BOOTLOADER_APP_TEST is not set -CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y -CONFIG_BOOTLOADER_WDT_ENABLE=y -# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set -CONFIG_BOOTLOADER_WDT_TIME_MS=9000 -# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set -# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set -# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set -# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set -CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 -# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set -# end of Bootloader config - -# -# Security features -# -CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y -CONFIG_SECURE_BOOT_V2_PREFERRED=y -# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set -# CONFIG_SECURE_BOOT is not set -# CONFIG_SECURE_FLASH_ENC_ENABLED is not set -CONFIG_SECURE_ROM_DL_MODE_ENABLED=y -# end of Security features - -# -# Application manager -# -CONFIG_APP_COMPILE_TIME_DATE=y -# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set -# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set -# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set -CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 -# end of Application manager - -CONFIG_ESP_ROM_HAS_CRC_LE=y -CONFIG_ESP_ROM_HAS_MZ_CRC32=y -CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y -CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y -CONFIG_ESP_ROM_HAS_REGI2C_BUG=y -CONFIG_ESP_ROM_HAS_NEWLIB=y -CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y -CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y -CONFIG_ESP_ROM_USB_OTG_NUM=3 -CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y -CONFIG_ESP_ROM_HAS_SW_FLOAT=y -CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=-1 -CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y - -# -# Boot ROM Behavior -# -CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y -# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set -# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set -# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set -# end of Boot ROM Behavior - -# -# Serial flasher config -# -# CONFIG_ESPTOOLPY_NO_STUB is not set -# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set -# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set -CONFIG_ESPTOOLPY_FLASHMODE_DIO=y -# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set -CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y -CONFIG_ESPTOOLPY_FLASHMODE="dio" -CONFIG_ESPTOOLPY_FLASHFREQ_80M=y -# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set -# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set -# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set -CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y -CONFIG_ESPTOOLPY_FLASHFREQ="80m" -# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set -CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y -# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set -# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set -# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set -# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set -# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set -# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set -CONFIG_ESPTOOLPY_FLASHSIZE="2MB" -# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set -CONFIG_ESPTOOLPY_BEFORE_RESET=y -# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set -CONFIG_ESPTOOLPY_BEFORE="default_reset" -CONFIG_ESPTOOLPY_AFTER_RESET=y -# CONFIG_ESPTOOLPY_AFTER_NORESET is not set -CONFIG_ESPTOOLPY_AFTER="hard_reset" -CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 -# end of Serial flasher config - -# -# Partition Table -# -# CONFIG_PARTITION_TABLE_SINGLE_APP is not set -# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set -# CONFIG_PARTITION_TABLE_TWO_OTA is not set -CONFIG_PARTITION_TABLE_CUSTOM=y -CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" -CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" -CONFIG_PARTITION_TABLE_OFFSET=0x8000 -CONFIG_PARTITION_TABLE_MD5=y -# end of Partition Table - -# -# Compiler options -# -# CONFIG_COMPILER_OPTIMIZATION_DEBUG is not set -CONFIG_COMPILER_OPTIMIZATION_SIZE=y -# CONFIG_COMPILER_OPTIMIZATION_PERF is not set -# CONFIG_COMPILER_OPTIMIZATION_NONE is not set -CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y -# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set -# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set -CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y -CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 -# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set -CONFIG_COMPILER_HIDE_PATHS_MACROS=y -# CONFIG_COMPILER_CXX_EXCEPTIONS is not set -# CONFIG_COMPILER_CXX_RTTI is not set -CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y -# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set -# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set -# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set -# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set -# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set -# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set -# CONFIG_COMPILER_DUMP_RTL_FILES is not set -CONFIG_COMPILER_RT_LIB_GCCLIB=y -CONFIG_COMPILER_RT_LIB_NAME="gcc" -# CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING is not set -CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y -# end of Compiler options - -# -# Component config -# - -# -# Application Level Tracing -# -# CONFIG_APPTRACE_DEST_JTAG is not set -CONFIG_APPTRACE_DEST_NONE=y -# CONFIG_APPTRACE_DEST_UART1 is not set -CONFIG_APPTRACE_DEST_UART_NONE=y -CONFIG_APPTRACE_UART_TASK_PRIO=1 -CONFIG_APPTRACE_LOCK_ENABLE=y -# end of Application Level Tracing - -# -# Bluetooth -# -# CONFIG_BT_ENABLED is not set -CONFIG_BT_ALARM_MAX_NUM=50 -# end of Bluetooth - -# -# Console Library -# -# CONFIG_CONSOLE_SORTED_HELP is not set -# end of Console Library - -# -# Driver Configurations -# - -# -# TWAI Configuration -# -# CONFIG_TWAI_ISR_IN_IRAM is not set -CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y -# end of TWAI Configuration - -# -# Legacy ADC Driver Configuration -# -CONFIG_ADC_DISABLE_DAC=y -# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set - -# -# Legacy ADC Calibration Configuration -# -# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy ADC Calibration Configuration -# end of Legacy ADC Driver Configuration - -# -# Legacy DAC Driver Configurations -# -# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy DAC Driver Configurations - -# -# Legacy Timer Group Driver Configurations -# -# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy Timer Group Driver Configurations - -# -# Legacy RMT Driver Configurations -# -# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy RMT Driver Configurations - -# -# Legacy I2S Driver Configurations -# -# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy I2S Driver Configurations - -# -# Legacy PCNT Driver Configurations -# -# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy PCNT Driver Configurations - -# -# Legacy SDM Driver Configurations -# -# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy SDM Driver Configurations - -# -# Legacy Temperature Sensor Driver Configurations -# -# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy Temperature Sensor Driver Configurations -# end of Driver Configurations - -# -# eFuse Bit Manager -# -# CONFIG_EFUSE_CUSTOM_TABLE is not set -# CONFIG_EFUSE_VIRTUAL is not set -CONFIG_EFUSE_MAX_BLK_LEN=256 -# end of eFuse Bit Manager - -# -# ESP-TLS -# -CONFIG_ESP_TLS_USING_MBEDTLS=y -CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y -# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set -# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set -# CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set -# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set -# CONFIG_ESP_TLS_PSK_VERIFICATION is not set -# CONFIG_ESP_TLS_INSECURE is not set -# end of ESP-TLS - -# -# ADC and ADC Calibration -# -# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set -# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set -CONFIG_ADC_DISABLE_DAC_OUTPUT=y -# CONFIG_ADC_ENABLE_DEBUG_LOG is not set -# end of ADC and ADC Calibration - -# -# Wireless Coexistence -# -CONFIG_ESP_COEX_ENABLED=y -# CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE is not set -# end of Wireless Coexistence - -# -# Common ESP-related -# -CONFIG_ESP_ERR_TO_NAME_LOOKUP=y -# end of Common ESP-related - -# -# ESP-Driver:DAC Configurations -# -# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set -# CONFIG_DAC_ISR_IRAM_SAFE is not set -# CONFIG_DAC_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:DAC Configurations - -# -# ESP-Driver:GPIO Configurations -# -# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set -# end of ESP-Driver:GPIO Configurations - -# -# ESP-Driver:GPTimer Configurations -# -CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y -# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set -# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set -# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:GPTimer Configurations - -# -# ESP-Driver:I2C Configurations -# -# CONFIG_I2C_ISR_IRAM_SAFE is not set -# CONFIG_I2C_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:I2C Configurations - -# -# ESP-Driver:I2S Configurations -# -# CONFIG_I2S_ISR_IRAM_SAFE is not set -# CONFIG_I2S_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:I2S Configurations - -# -# ESP-Driver:LEDC Configurations -# -# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set -# end of ESP-Driver:LEDC Configurations - -# -# ESP-Driver:PCNT Configurations -# -# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set -# CONFIG_PCNT_ISR_IRAM_SAFE is not set -# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:PCNT Configurations - -# -# ESP-Driver:RMT Configurations -# -# CONFIG_RMT_ISR_IRAM_SAFE is not set -# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set -# CONFIG_RMT_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:RMT Configurations - -# -# ESP-Driver:Sigma Delta Modulator Configurations -# -# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set -# CONFIG_SDM_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:Sigma Delta Modulator Configurations - -# -# ESP-Driver:SPI Configurations -# -# CONFIG_SPI_MASTER_IN_IRAM is not set -CONFIG_SPI_MASTER_ISR_IN_IRAM=y -# CONFIG_SPI_SLAVE_IN_IRAM is not set -CONFIG_SPI_SLAVE_ISR_IN_IRAM=y -# end of ESP-Driver:SPI Configurations - -# -# ESP-Driver:Touch Sensor Configurations -# -# CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set -# CONFIG_TOUCH_ISR_IRAM_SAFE is not set -# CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:Touch Sensor Configurations - -# -# ESP-Driver:Temperature Sensor Configurations -# -# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:Temperature Sensor Configurations - -# -# ESP-Driver:UART Configurations -# -# CONFIG_UART_ISR_IN_IRAM is not set -# end of ESP-Driver:UART Configurations - -# -# Ethernet -# -CONFIG_ETH_ENABLED=y -CONFIG_ETH_USE_SPI_ETHERNET=y -# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set -# CONFIG_ETH_SPI_ETHERNET_W5500 is not set -# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set -# CONFIG_ETH_USE_OPENETH is not set -# CONFIG_ETH_TRANSMIT_MUTEX is not set -# end of Ethernet - -# -# Event Loop Library -# -# CONFIG_ESP_EVENT_LOOP_PROFILING is not set -CONFIG_ESP_EVENT_POST_FROM_ISR=y -CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y -# end of Event Loop Library - -# -# GDB Stub -# -CONFIG_ESP_GDBSTUB_ENABLED=y -# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set -CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y -CONFIG_ESP_GDBSTUB_MAX_TASKS=32 -# end of GDB Stub - -# -# ESP HTTP client -# -CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y -# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set -# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set -# CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set -# end of ESP HTTP client - -# -# HTTP Server -# -CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 -CONFIG_HTTPD_MAX_URI_LEN=512 -CONFIG_HTTPD_ERR_RESP_NO_DELAY=y -CONFIG_HTTPD_PURGE_BUF_LEN=32 -# CONFIG_HTTPD_LOG_PURGE_DATA is not set -# CONFIG_HTTPD_WS_SUPPORT is not set -# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set -# end of HTTP Server - -# -# ESP HTTPS OTA -# -# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set -# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set -# end of ESP HTTPS OTA - -# -# ESP HTTPS server -# -# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set -# end of ESP HTTPS server - -# -# Hardware Settings -# - -# -# Chip revision -# -CONFIG_ESP32S2_REV_MIN_0=y -# CONFIG_ESP32S2_REV_MIN_1 is not set -CONFIG_ESP32S2_REV_MIN_FULL=0 -CONFIG_ESP_REV_MIN_FULL=0 - -# -# Maximum Supported ESP32-S2 Revision (Rev v1.99) -# -CONFIG_ESP32S2_REV_MAX_FULL=199 -CONFIG_ESP_REV_MAX_FULL=199 -# end of Chip revision - -# -# MAC Config -# -CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y -CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y -CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_TWO=y -CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=2 -# CONFIG_ESP32S2_UNIVERSAL_MAC_ADDRESSES_ONE is not set -CONFIG_ESP32S2_UNIVERSAL_MAC_ADDRESSES_TWO=y -CONFIG_ESP32S2_UNIVERSAL_MAC_ADDRESSES=2 -# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set -# end of MAC Config - -# -# Sleep Config -# -# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set -CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y -# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set -CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y -# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set -CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0 -# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set -# CONFIG_ESP_SLEEP_DEBUG is not set -CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y -# end of Sleep Config - -# -# RTC Clock Config -# -CONFIG_RTC_CLK_SRC_INT_RC=y -# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set -# CONFIG_RTC_CLK_SRC_EXT_OSC is not set -# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set -CONFIG_RTC_CLK_CAL_CYCLES=576 -# end of RTC Clock Config - -# -# Peripheral Control -# -CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y -# end of Peripheral Control - -# -# Main XTAL Config -# -CONFIG_XTAL_FREQ_40=y -CONFIG_XTAL_FREQ=40 -# end of Main XTAL Config - -CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y -# end of Hardware Settings - -# -# LCD and Touch Panel -# - -# -# LCD Touch Drivers are maintained in the IDF Component Registry -# - -# -# LCD Peripheral Configuration -# -CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 -# CONFIG_LCD_ENABLE_DEBUG_LOG is not set -# end of LCD Peripheral Configuration -# end of LCD and Touch Panel - -# -# ESP NETIF Adapter -# -CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 -CONFIG_ESP_NETIF_TCPIP_LWIP=y -# CONFIG_ESP_NETIF_LOOPBACK is not set -CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y -# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set -# CONFIG_ESP_NETIF_L2_TAP is not set -# CONFIG_ESP_NETIF_BRIDGE_EN is not set -# end of ESP NETIF Adapter - -# -# Partition API Configuration -# -# end of Partition API Configuration - -# -# PHY -# -CONFIG_ESP_PHY_ENABLED=y -CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y -# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set -CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 -CONFIG_ESP_PHY_MAX_TX_POWER=20 -# CONFIG_ESP_PHY_REDUCE_TX_POWER is not set -CONFIG_ESP_PHY_RF_CAL_PARTIAL=y -# CONFIG_ESP_PHY_RF_CAL_NONE is not set -# CONFIG_ESP_PHY_RF_CAL_FULL is not set -CONFIG_ESP_PHY_CALIBRATION_MODE=0 -# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set -# end of PHY - -# -# Power Management -# -# CONFIG_PM_ENABLE is not set -# end of Power Management - -# -# ESP PSRAM -# -# CONFIG_SPIRAM is not set -# end of ESP PSRAM - -# -# ESP Ringbuf -# -# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set -# end of ESP Ringbuf - -# -# ESP System Settings -# -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 - -# -# Cache config -# -CONFIG_ESP32S2_INSTRUCTION_CACHE_8KB=y -# CONFIG_ESP32S2_INSTRUCTION_CACHE_16KB is not set -# CONFIG_ESP32S2_INSTRUCTION_CACHE_LINE_16B is not set -CONFIG_ESP32S2_INSTRUCTION_CACHE_LINE_32B=y -# CONFIG_ESP32S2_DATA_CACHE_0KB is not set -CONFIG_ESP32S2_DATA_CACHE_8KB=y -# CONFIG_ESP32S2_DATA_CACHE_16KB is not set -# CONFIG_ESP32S2_DATA_CACHE_LINE_16B is not set -CONFIG_ESP32S2_DATA_CACHE_LINE_32B=y -# CONFIG_ESP32S2_INSTRUCTION_CACHE_WRAP is not set -# CONFIG_ESP32S2_DATA_CACHE_WRAP is not set -# end of Cache config - -# -# Memory -# -# CONFIG_ESP32S2_RTCDATA_IN_FAST_MEM is not set -# CONFIG_ESP32S2_USE_FIXED_STATIC_RAM_SIZE is not set -# end of Memory - -# -# Trace memory -# -# CONFIG_ESP32S2_TRAX is not set -CONFIG_ESP32S2_TRACEMEM_RESERVE_DRAM=0x0 -# end of Trace memory - -# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set -CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y -# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set -# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set -CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 -CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y -CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y -CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y - -# -# Memory protection -# -CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y -CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y -# end of Memory protection - -CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 -CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 -CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 -CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y -# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set -CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 -CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 -CONFIG_ESP_CONSOLE_UART_DEFAULT=y -# CONFIG_ESP_CONSOLE_USB_CDC is not set -# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set -# CONFIG_ESP_CONSOLE_NONE is not set -CONFIG_ESP_CONSOLE_UART=y -CONFIG_ESP_CONSOLE_UART_NUM=0 -CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 -CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 -CONFIG_ESP_INT_WDT=y -CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 -CONFIG_ESP_TASK_WDT_EN=y -CONFIG_ESP_TASK_WDT_INIT=y -# CONFIG_ESP_TASK_WDT_PANIC is not set -CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 -CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y -# CONFIG_ESP_PANIC_HANDLER_IRAM is not set -# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set -CONFIG_ESP_DEBUG_OCDAWARE=y -CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y - -# -# Brownout Detector -# -CONFIG_ESP_BROWNOUT_DET=y -CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set -CONFIG_ESP_BROWNOUT_DET_LVL=7 -# end of Brownout Detector - -# CONFIG_ESP32S2_KEEP_USB_ALIVE is not set -CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y -# end of ESP System Settings - -# -# IPC (Inter-Processor Call) -# -CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 -# end of IPC (Inter-Processor Call) - -# -# ESP Timer (High Resolution Timer) -# -# CONFIG_ESP_TIMER_PROFILING is not set -CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y -CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y -CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 -CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 -# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set -CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 -CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y -CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y -# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set -CONFIG_ESP_TIMER_IMPL_SYSTIMER=y -# end of ESP Timer (High Resolution Timer) - -# -# Wi-Fi -# -CONFIG_ESP_WIFI_ENABLED=y -CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 -CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y -CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 -CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y -# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set -CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 -CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 -# CONFIG_ESP_WIFI_CSI_ENABLED is not set -CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y -CONFIG_ESP_WIFI_TX_BA_WIN=6 -CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y -CONFIG_ESP_WIFI_RX_BA_WIN=6 -CONFIG_ESP_WIFI_NVS_ENABLED=y -CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 -CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 -CONFIG_ESP_WIFI_IRAM_OPT=y -# CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set -CONFIG_ESP_WIFI_RX_IRAM_OPT=y -CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y -CONFIG_ESP_WIFI_ENABLE_SAE_PK=y -CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y -CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y -# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set -CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 -CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 -CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 -# CONFIG_ESP_WIFI_FTM_ENABLE is not set -CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y -CONFIG_ESP_WIFI_GMAC_SUPPORT=y -CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y -# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set -CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 -# CONFIG_ESP_WIFI_NAN_ENABLE is not set -CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y -CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y -# CONFIG_ESP_WIFI_WAPI_PSK is not set -# CONFIG_ESP_WIFI_11KV_SUPPORT is not set -# CONFIG_ESP_WIFI_MBO_SUPPORT is not set -# CONFIG_ESP_WIFI_DPP_SUPPORT is not set -# CONFIG_ESP_WIFI_11R_SUPPORT is not set -# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set - -# -# WPS Configuration Options -# -# CONFIG_ESP_WIFI_WPS_STRICT is not set -# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set -# end of WPS Configuration Options - -# CONFIG_ESP_WIFI_DEBUG_PRINT is not set -# CONFIG_ESP_WIFI_TESTING_OPTIONS is not set -CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y -# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set -# end of Wi-Fi - -# -# Core dump -# -# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set -# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set -CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y -# end of Core dump - -# -# FAT Filesystem support -# -CONFIG_FATFS_VOLUME_COUNT=2 -# CONFIG_FATFS_LFN_NONE is not set -CONFIG_FATFS_LFN_HEAP=y -# CONFIG_FATFS_LFN_STACK is not set -# CONFIG_FATFS_SECTOR_512 is not set -CONFIG_FATFS_SECTOR_4096=y -# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set -CONFIG_FATFS_CODEPAGE_437=y -# CONFIG_FATFS_CODEPAGE_720 is not set -# CONFIG_FATFS_CODEPAGE_737 is not set -# CONFIG_FATFS_CODEPAGE_771 is not set -# CONFIG_FATFS_CODEPAGE_775 is not set -# CONFIG_FATFS_CODEPAGE_850 is not set -# CONFIG_FATFS_CODEPAGE_852 is not set -# CONFIG_FATFS_CODEPAGE_855 is not set -# CONFIG_FATFS_CODEPAGE_857 is not set -# CONFIG_FATFS_CODEPAGE_860 is not set -# CONFIG_FATFS_CODEPAGE_861 is not set -# CONFIG_FATFS_CODEPAGE_862 is not set -# CONFIG_FATFS_CODEPAGE_863 is not set -# CONFIG_FATFS_CODEPAGE_864 is not set -# CONFIG_FATFS_CODEPAGE_865 is not set -# CONFIG_FATFS_CODEPAGE_866 is not set -# CONFIG_FATFS_CODEPAGE_869 is not set -# CONFIG_FATFS_CODEPAGE_932 is not set -# CONFIG_FATFS_CODEPAGE_936 is not set -# CONFIG_FATFS_CODEPAGE_949 is not set -# CONFIG_FATFS_CODEPAGE_950 is not set -CONFIG_FATFS_CODEPAGE=437 -CONFIG_FATFS_MAX_LFN=255 -CONFIG_FATFS_API_ENCODING_ANSI_OEM=y -# CONFIG_FATFS_API_ENCODING_UTF_8 is not set -CONFIG_FATFS_FS_LOCK=0 -CONFIG_FATFS_TIMEOUT_MS=10000 -CONFIG_FATFS_PER_FILE_CACHE=y -# CONFIG_FATFS_USE_FASTSEEK is not set -CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 -# CONFIG_FATFS_IMMEDIATE_FSYNC is not set -# CONFIG_FATFS_USE_LABEL is not set -CONFIG_FATFS_LINK_LOCK=y -# end of FAT Filesystem support - -# -# FreeRTOS -# - -# -# Kernel -# -# CONFIG_FREERTOS_SMP is not set -CONFIG_FREERTOS_UNICORE=y -CONFIG_FREERTOS_HZ=100 -CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y -# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set -# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set -CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y -CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 -CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 -# CONFIG_FREERTOS_USE_IDLE_HOOK is not set -# CONFIG_FREERTOS_USE_TICK_HOOK is not set -CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 -# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set -CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" -# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set -CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y -CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF -CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 -CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 -CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 -CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 -CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 -# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set -# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set -# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set -# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set -# end of Kernel - -# -# Port -# -# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set -CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y -# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set -# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set -CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y -CONFIG_FREERTOS_ISR_STACKSIZE=1536 -CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y -CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y -CONFIG_FREERTOS_CORETIMER_0=y -# CONFIG_FREERTOS_CORETIMER_1 is not set -CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y -# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set -# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set -# end of Port - -CONFIG_FREERTOS_PORT=y -CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF -CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y -CONFIG_FREERTOS_DEBUG_OCDAWARE=y -CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y -CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y -CONFIG_FREERTOS_NUMBER_OF_CORES=1 -# end of FreeRTOS - -# -# Hardware Abstraction Layer (HAL) and Low Level (LL) -# -CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y -# CONFIG_HAL_ASSERTION_DISABLE is not set -# CONFIG_HAL_ASSERTION_SILENT is not set -# CONFIG_HAL_ASSERTION_ENABLE is not set -CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 -CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y -CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y -# end of Hardware Abstraction Layer (HAL) and Low Level (LL) - -# -# Heap memory debugging -# -CONFIG_HEAP_POISONING_DISABLED=y -# CONFIG_HEAP_POISONING_LIGHT is not set -# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set -CONFIG_HEAP_TRACING_OFF=y -# CONFIG_HEAP_TRACING_STANDALONE is not set -# CONFIG_HEAP_TRACING_TOHOST is not set -# CONFIG_HEAP_USE_HOOKS is not set -# CONFIG_HEAP_TASK_TRACKING is not set -# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set -# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set -# end of Heap memory debugging - -# -# Log output -# -# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set -# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set -# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set -CONFIG_LOG_DEFAULT_LEVEL_INFO=y -# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set -# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set -CONFIG_LOG_DEFAULT_LEVEL=3 -CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y -# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set -# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set -CONFIG_LOG_MAXIMUM_LEVEL=3 -# CONFIG_LOG_MASTER_LEVEL is not set -CONFIG_LOG_COLORS=y -CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y -# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set -# end of Log output - -# -# LWIP -# -CONFIG_LWIP_ENABLE=y -CONFIG_LWIP_LOCAL_HOSTNAME="espressif" -# CONFIG_LWIP_NETIF_API is not set -CONFIG_LWIP_TCPIP_TASK_PRIO=18 -# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set -# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set -CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y -# CONFIG_LWIP_L2_TO_L3_COPY is not set -# CONFIG_LWIP_IRAM_OPTIMIZATION is not set -# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set -CONFIG_LWIP_TIMERS_ONDEMAND=y -CONFIG_LWIP_ND6=y -# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set -CONFIG_LWIP_MAX_SOCKETS=10 -# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set -# CONFIG_LWIP_SO_LINGER is not set -CONFIG_LWIP_SO_REUSE=y -CONFIG_LWIP_SO_REUSE_RXTOALL=y -# CONFIG_LWIP_SO_RCVBUF is not set -# CONFIG_LWIP_NETBUF_RECVINFO is not set -CONFIG_LWIP_IP_DEFAULT_TTL=64 -CONFIG_LWIP_IP4_FRAG=y -CONFIG_LWIP_IP6_FRAG=y -# CONFIG_LWIP_IP4_REASSEMBLY is not set -# CONFIG_LWIP_IP6_REASSEMBLY is not set -CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 -# CONFIG_LWIP_IP_FORWARD is not set -# CONFIG_LWIP_STATS is not set -CONFIG_LWIP_ESP_GRATUITOUS_ARP=y -CONFIG_LWIP_GARP_TMR_INTERVAL=60 -CONFIG_LWIP_ESP_MLDV6_REPORT=y -CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 -CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 -CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y -# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set -CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y -# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set -CONFIG_LWIP_DHCP_OPTIONS_LEN=68 -CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 -CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 - -# -# DHCP server -# -CONFIG_LWIP_DHCPS=y -CONFIG_LWIP_DHCPS_LEASE_UNIT=60 -CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 -CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y -# end of DHCP server - -# CONFIG_LWIP_AUTOIP is not set -CONFIG_LWIP_IPV4=y -CONFIG_LWIP_IPV6=y -# CONFIG_LWIP_IPV6_AUTOCONFIG is not set -CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 -# CONFIG_LWIP_IPV6_FORWARD is not set -# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set -CONFIG_LWIP_NETIF_LOOPBACK=y -CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 - -# -# TCP -# -CONFIG_LWIP_MAX_ACTIVE_TCP=16 -CONFIG_LWIP_MAX_LISTENING_TCP=16 -CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y -CONFIG_LWIP_TCP_MAXRTX=12 -CONFIG_LWIP_TCP_SYNMAXRTX=12 -CONFIG_LWIP_TCP_MSS=1440 -CONFIG_LWIP_TCP_TMR_INTERVAL=250 -CONFIG_LWIP_TCP_MSL=60000 -CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 -CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 -CONFIG_LWIP_TCP_WND_DEFAULT=5760 -CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 -CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 -CONFIG_LWIP_TCP_QUEUE_OOSEQ=y -CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 -CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 -# CONFIG_LWIP_TCP_SACK_OUT is not set -CONFIG_LWIP_TCP_OVERSIZE_MSS=y -# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set -# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set -CONFIG_LWIP_TCP_RTO_TIME=1500 -# end of TCP - -# -# UDP -# -CONFIG_LWIP_MAX_UDP_PCBS=16 -CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 -# end of UDP - -# -# Checksums -# -# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set -# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set -CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y -# end of Checksums - -CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 -CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y -# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set -CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF -# CONFIG_LWIP_PPP_SUPPORT is not set -CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 -CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 -# CONFIG_LWIP_SLIP_SUPPORT is not set - -# -# ICMP -# -CONFIG_LWIP_ICMP=y -# CONFIG_LWIP_MULTICAST_PING is not set -# CONFIG_LWIP_BROADCAST_PING is not set -# end of ICMP - -# -# LWIP RAW API -# -CONFIG_LWIP_MAX_RAW_PCBS=16 -# end of LWIP RAW API - -# -# SNTP -# -CONFIG_LWIP_SNTP_MAX_SERVERS=1 -# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set -CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 -CONFIG_LWIP_SNTP_STARTUP_DELAY=y -CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 -# end of SNTP - -# -# DNS -# -CONFIG_LWIP_DNS_MAX_SERVERS=3 -# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set -# end of DNS - -CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 -CONFIG_LWIP_ESP_LWIP_ASSERT=y - -# -# Hooks -# -# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set -CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y -# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set -CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y -# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set -# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set -CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y -# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set -# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set -CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y -# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set -# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set -CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y -# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set -# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set -CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y -# CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT is not set -# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set -# end of Hooks - -# CONFIG_LWIP_DEBUG is not set -# end of LWIP - -# -# mbedTLS -# -CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y -# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set -# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set -CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y -CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 -CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 -# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set -# CONFIG_MBEDTLS_DEBUG is not set - -# -# mbedTLS v3.x related -# -# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set -# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set -# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set -# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set -CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y -CONFIG_MBEDTLS_PKCS7_C=y -# end of mbedTLS v3.x related - -# -# Certificate Bundle -# -CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y -CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y -# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set -# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set -# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set -# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set -CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 -# end of Certificate Bundle - -# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set -CONFIG_MBEDTLS_CMAC_C=y -CONFIG_MBEDTLS_HARDWARE_AES=y -CONFIG_MBEDTLS_AES_USE_INTERRUPT=y -CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 -CONFIG_MBEDTLS_HARDWARE_GCM=y -CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y -CONFIG_MBEDTLS_HARDWARE_MPI=y -# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set -CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y -CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 -CONFIG_MBEDTLS_HARDWARE_SHA=y -CONFIG_MBEDTLS_ROM_MD5=y -# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set -# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set -CONFIG_MBEDTLS_HAVE_TIME=y -# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set -# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set -CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y -CONFIG_MBEDTLS_SHA512_C=y -CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y -# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set -# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set -# CONFIG_MBEDTLS_TLS_DISABLED is not set -CONFIG_MBEDTLS_TLS_SERVER=y -CONFIG_MBEDTLS_TLS_CLIENT=y -CONFIG_MBEDTLS_TLS_ENABLED=y - -# -# TLS Key Exchange Methods -# -# CONFIG_MBEDTLS_PSK_MODES is not set -CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y -CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y -# end of TLS Key Exchange Methods - -CONFIG_MBEDTLS_SSL_RENEGOTIATION=y -CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y -# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set -# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set -CONFIG_MBEDTLS_SSL_ALPN=y -CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y -CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y - -# -# Symmetric Ciphers -# -CONFIG_MBEDTLS_AES_C=y -# CONFIG_MBEDTLS_CAMELLIA_C is not set -# CONFIG_MBEDTLS_DES_C is not set -# CONFIG_MBEDTLS_BLOWFISH_C is not set -# CONFIG_MBEDTLS_XTEA_C is not set -CONFIG_MBEDTLS_CCM_C=y -CONFIG_MBEDTLS_GCM_C=y -# CONFIG_MBEDTLS_NIST_KW_C is not set -# end of Symmetric Ciphers - -# CONFIG_MBEDTLS_RIPEMD160_C is not set - -# -# Certificates -# -CONFIG_MBEDTLS_PEM_PARSE_C=y -CONFIG_MBEDTLS_PEM_WRITE_C=y -CONFIG_MBEDTLS_X509_CRL_PARSE_C=y -CONFIG_MBEDTLS_X509_CSR_PARSE_C=y -# end of Certificates - -CONFIG_MBEDTLS_ECP_C=y -# CONFIG_MBEDTLS_DHM_C is not set -CONFIG_MBEDTLS_ECDH_C=y -CONFIG_MBEDTLS_ECDSA_C=y -# CONFIG_MBEDTLS_ECJPAKE_C is not set -CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y -CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y -CONFIG_MBEDTLS_ECP_NIST_OPTIM=y -CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM=y -# CONFIG_MBEDTLS_POLY1305_C is not set -# CONFIG_MBEDTLS_CHACHA20_C is not set -# CONFIG_MBEDTLS_HKDF_C is not set -# CONFIG_MBEDTLS_THREADING_C is not set -CONFIG_MBEDTLS_ERROR_STRINGS=y -# end of mbedTLS - -# -# ESP-MQTT Configurations -# -CONFIG_MQTT_PROTOCOL_311=y -# CONFIG_MQTT_PROTOCOL_5 is not set -CONFIG_MQTT_TRANSPORT_SSL=y -CONFIG_MQTT_TRANSPORT_WEBSOCKET=y -CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y -# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set -# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set -# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set -# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set -# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set -# CONFIG_MQTT_CUSTOM_OUTBOX is not set -# end of ESP-MQTT Configurations - -# -# Newlib -# -CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y -# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set -# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set -# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set -# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set -CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y -# CONFIG_NEWLIB_NANO_FORMAT is not set -CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y -# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set -# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set -# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set -# end of Newlib - -# -# NVS -# -# CONFIG_NVS_ENCRYPTION is not set -# CONFIG_NVS_ASSERT_ERROR_CHECK is not set -# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set -# end of NVS - -# -# OpenThread -# -# CONFIG_OPENTHREAD_ENABLED is not set - -# -# Thread Operational Dataset -# -CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP" -CONFIG_OPENTHREAD_MESH_LOCAL_PREFIX="fd00:db8:a0:0::/64" -CONFIG_OPENTHREAD_NETWORK_CHANNEL=15 -CONFIG_OPENTHREAD_NETWORK_PANID=0x1234 -CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe" -CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff" -CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53" -# end of Thread Operational Dataset - -CONFIG_OPENTHREAD_XTAL_ACCURACY=130 -# CONFIG_OPENTHREAD_SPINEL_ONLY is not set -CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE=y - -# -# Thread Address Query Config -# -# end of Thread Address Query Config -# end of OpenThread - -# -# Protocomm -# -CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y -CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y -CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y -# end of Protocomm - -# -# PThreads -# -CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 -CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 -CONFIG_PTHREAD_STACK_MIN=768 -CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 -CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" -# end of PThreads - -# -# MMU Config -# -CONFIG_MMU_PAGE_SIZE_64KB=y -CONFIG_MMU_PAGE_MODE="64KB" -CONFIG_MMU_PAGE_SIZE=0x10000 -# end of MMU Config - -# -# Main Flash configuration -# - -# -# SPI Flash behavior when brownout -# -CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y -CONFIG_SPI_FLASH_BROWNOUT_RESET=y -# end of SPI Flash behavior when brownout - -# -# Optional and Experimental Features (READ DOCS FIRST) -# - -# -# Features here require specific hardware (READ DOCS FIRST!) -# -CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 -# end of Optional and Experimental Features (READ DOCS FIRST) -# end of Main Flash configuration - -# -# SPI Flash driver -# -# CONFIG_SPI_FLASH_VERIFY_WRITE is not set -# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set -CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y -CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y -# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set -# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set -# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set -CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y -CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 -CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 -CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 -# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set -# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set -# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set - -# -# Auto-detect flash chips -# -CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_TH_SUPPORTED=y -CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y -CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y -CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y -CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y -CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP=y -CONFIG_SPI_FLASH_SUPPORT_TH_CHIP=y -# end of Auto-detect flash chips - -CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y -# end of SPI Flash driver - -# -# SPIFFS Configuration -# -CONFIG_SPIFFS_MAX_PARTITIONS=3 - -# -# SPIFFS Cache Configuration -# -CONFIG_SPIFFS_CACHE=y -CONFIG_SPIFFS_CACHE_WR=y -# CONFIG_SPIFFS_CACHE_STATS is not set -# end of SPIFFS Cache Configuration - -CONFIG_SPIFFS_PAGE_CHECK=y -CONFIG_SPIFFS_GC_MAX_RUNS=10 -# CONFIG_SPIFFS_GC_STATS is not set -CONFIG_SPIFFS_PAGE_SIZE=256 -CONFIG_SPIFFS_OBJ_NAME_LEN=32 -# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set -CONFIG_SPIFFS_USE_MAGIC=y -CONFIG_SPIFFS_USE_MAGIC_LENGTH=y -CONFIG_SPIFFS_META_LENGTH=4 -CONFIG_SPIFFS_USE_MTIME=y - -# -# Debug Configuration -# -# CONFIG_SPIFFS_DBG is not set -# CONFIG_SPIFFS_API_DBG is not set -# CONFIG_SPIFFS_GC_DBG is not set -# CONFIG_SPIFFS_CACHE_DBG is not set -# CONFIG_SPIFFS_CHECK_DBG is not set -# CONFIG_SPIFFS_TEST_VISUALISATION is not set -# end of Debug Configuration -# end of SPIFFS Configuration - -# -# TCP Transport -# - -# -# Websocket -# -CONFIG_WS_TRANSPORT=y -CONFIG_WS_BUFFER_SIZE=1024 -# CONFIG_WS_DYNAMIC_BUFFER is not set -# end of Websocket -# end of TCP Transport - -# -# Ultra Low Power (ULP) Co-processor -# -# CONFIG_ULP_COPROC_ENABLED is not set - -# -# ULP Debugging Options -# -# end of ULP Debugging Options -# end of Ultra Low Power (ULP) Co-processor - -# -# Unity unit testing library -# -CONFIG_UNITY_ENABLE_FLOAT=y -CONFIG_UNITY_ENABLE_DOUBLE=y -# CONFIG_UNITY_ENABLE_64BIT is not set -# CONFIG_UNITY_ENABLE_COLOR is not set -CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y -# CONFIG_UNITY_ENABLE_FIXTURE is not set -# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set -# end of Unity unit testing library - -# -# USB-OTG -# -CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256 -CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y -# CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set -# CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set - -# -# Root Hub configuration -# -CONFIG_USB_HOST_DEBOUNCE_DELAY_MS=250 -CONFIG_USB_HOST_RESET_HOLD_MS=30 -CONFIG_USB_HOST_RESET_RECOVERY_MS=30 -CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10 -# end of Root Hub configuration - -# CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set -CONFIG_USB_OTG_SUPPORTED=y -# end of USB-OTG - -# -# Virtual file system -# -CONFIG_VFS_SUPPORT_IO=y -CONFIG_VFS_SUPPORT_DIR=y -CONFIG_VFS_SUPPORT_SELECT=y -CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y -# CONFIG_VFS_SELECT_IN_RAM is not set -CONFIG_VFS_SUPPORT_TERMIOS=y -CONFIG_VFS_MAX_COUNT=8 - -# -# Host File System I/O (Semihosting) -# -CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 -# end of Host File System I/O (Semihosting) -# end of Virtual file system - -# -# Wear Levelling -# -# CONFIG_WL_SECTOR_SIZE_512 is not set -CONFIG_WL_SECTOR_SIZE_4096=y -CONFIG_WL_SECTOR_SIZE=4096 -# end of Wear Levelling - -# -# Wi-Fi Provisioning Manager -# -CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 -CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 -# CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set -CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y -# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set -# end of Wi-Fi Provisioning Manager - -# -# mDNS -# -CONFIG_MDNS_MAX_INTERFACES=3 -CONFIG_MDNS_MAX_SERVICES=10 -CONFIG_MDNS_TASK_PRIORITY=1 -CONFIG_MDNS_ACTION_QUEUE_LEN=16 -CONFIG_MDNS_TASK_STACK_SIZE=4096 -# CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set -CONFIG_MDNS_TASK_AFFINITY_CPU0=y -CONFIG_MDNS_TASK_AFFINITY=0x0 -CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000 -CONFIG_MDNS_TIMER_PERIOD_MS=100 -# CONFIG_MDNS_NETWORKING_SOCKET is not set -# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set -# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set -CONFIG_MDNS_ENABLE_CONSOLE_CLI=y -# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set -CONFIG_MDNS_MULTIPLE_INSTANCE=y - -# -# MDNS Predefined interfaces -# -CONFIG_MDNS_PREDEF_NETIF_STA=y -CONFIG_MDNS_PREDEF_NETIF_AP=y -CONFIG_MDNS_PREDEF_NETIF_ETH=y -# end of MDNS Predefined interfaces -# end of mDNS -# end of Component config - -# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set - -# Deprecated options for backward compatibility -# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set -# CONFIG_NO_BLOBS is not set -# CONFIG_ESP32S2_NO_BLOBS is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set -CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y -# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set -CONFIG_LOG_BOOTLOADER_LEVEL=3 -# CONFIG_APP_ROLLBACK_ENABLE is not set -# CONFIG_FLASH_ENCRYPTION_ENABLED is not set -# CONFIG_FLASHMODE_QIO is not set -# CONFIG_FLASHMODE_QOUT is not set -CONFIG_FLASHMODE_DIO=y -# CONFIG_FLASHMODE_DOUT is not set -CONFIG_MONITOR_BAUD=115200 -# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set -# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set -# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set -CONFIG_OPTIMIZATION_LEVEL_RELEASE=y -CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y -CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y -# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set -# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set -CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 -# CONFIG_CXX_EXCEPTIONS is not set -CONFIG_STACK_CHECK_NONE=y -# CONFIG_STACK_CHECK_NORM is not set -# CONFIG_STACK_CHECK_STRONG is not set -# CONFIG_STACK_CHECK_ALL is not set -# CONFIG_WARN_WRITE_STRINGS is not set -# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set -CONFIG_ESP32_APPTRACE_DEST_NONE=y -CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y -CONFIG_ADC2_DISABLE_DAC=y -# CONFIG_EXTERNAL_COEX_ENABLE is not set -# CONFIG_ESP_WIFI_EXTERNAL_COEXIST_ENABLE is not set -# CONFIG_EVENT_LOOP_PROFILING is not set -CONFIG_POST_EVENTS_FROM_ISR=y -CONFIG_POST_EVENTS_FROM_IRAM_ISR=y -CONFIG_GDBSTUB_SUPPORT_TASKS=y -CONFIG_GDBSTUB_MAX_TASKS=32 -# CONFIG_OTA_ALLOW_HTTP is not set -# CONFIG_ESP_SYSTEM_PD_FLASH is not set -CONFIG_ESP32S2_RTC_CLK_SRC_INT_RC=y -# CONFIG_ESP32S2_RTC_CLK_SRC_EXT_CRYS is not set -# CONFIG_ESP32S2_RTC_CLK_SRC_EXT_OSC is not set -# CONFIG_ESP32S2_RTC_CLK_SRC_INT_8MD256 is not set -CONFIG_ESP32S2_RTC_CLK_CAL_CYCLES=576 -CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y -# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set -CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 -CONFIG_ESP32_PHY_MAX_TX_POWER=20 -# CONFIG_REDUCE_PHY_TX_POWER is not set -# CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set -# CONFIG_ESP32S2_SPIRAM_SUPPORT is not set -# CONFIG_ESP32S2_DEFAULT_CPU_FREQ_80 is not set -CONFIG_ESP32S2_DEFAULT_CPU_FREQ_160=y -# CONFIG_ESP32S2_DEFAULT_CPU_FREQ_240 is not set -CONFIG_ESP32S2_DEFAULT_CPU_FREQ_MHZ=160 -# CONFIG_ESP32S2_PANIC_PRINT_HALT is not set -CONFIG_ESP32S2_PANIC_PRINT_REBOOT=y -# CONFIG_ESP32S2_PANIC_SILENT_REBOOT is not set -# CONFIG_ESP32S2_PANIC_GDBSTUB is not set -CONFIG_ESP32S2_ALLOW_RTC_FAST_MEM_AS_HEAP=y -CONFIG_ESP32S2_MEMPROT_FEATURE=y -CONFIG_ESP32S2_MEMPROT_FEATURE_LOCK=y -CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 -CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 -CONFIG_MAIN_TASK_STACK_SIZE=3584 -CONFIG_CONSOLE_UART_DEFAULT=y -# CONFIG_CONSOLE_UART_CUSTOM is not set -# CONFIG_CONSOLE_UART_NONE is not set -# CONFIG_ESP_CONSOLE_UART_NONE is not set -CONFIG_CONSOLE_UART=y -CONFIG_CONSOLE_UART_NUM=0 -CONFIG_CONSOLE_UART_BAUDRATE=115200 -CONFIG_INT_WDT=y -CONFIG_INT_WDT_TIMEOUT_MS=300 -CONFIG_TASK_WDT=y -CONFIG_ESP_TASK_WDT=y -# CONFIG_TASK_WDT_PANIC is not set -CONFIG_TASK_WDT_TIMEOUT_S=5 -CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y -# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set -CONFIG_ESP32S2_DEBUG_OCDAWARE=y -CONFIG_BROWNOUT_DET=y -CONFIG_ESP32S2_BROWNOUT_DET=y -CONFIG_ESP32S2_BROWNOUT_DET=y -CONFIG_BROWNOUT_DET_LVL_SEL_7=y -CONFIG_ESP32S2_BROWNOUT_DET_LVL_SEL_7=y -# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_ESP32S2_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_ESP32S2_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_ESP32S2_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_ESP32S2_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_ESP32S2_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set -# CONFIG_ESP32S2_BROWNOUT_DET_LVL_SEL_1 is not set -CONFIG_BROWNOUT_DET_LVL=7 -CONFIG_ESP32S2_BROWNOUT_DET_LVL=7 -CONFIG_IPC_TASK_STACK_SIZE=1024 -CONFIG_TIMER_TASK_STACK_SIZE=3584 -CONFIG_ESP32_WIFI_ENABLED=y -CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 -CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y -CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 -# CONFIG_ESP32_WIFI_CSI_ENABLED is not set -CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y -CONFIG_ESP32_WIFI_TX_BA_WIN=6 -CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y -CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y -CONFIG_ESP32_WIFI_RX_BA_WIN=6 -CONFIG_ESP32_WIFI_RX_BA_WIN=6 -CONFIG_ESP32_WIFI_NVS_ENABLED=y -CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 -CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 -CONFIG_ESP32_WIFI_IRAM_OPT=y -CONFIG_ESP32_WIFI_RX_IRAM_OPT=y -CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y -CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y -CONFIG_WPA_MBEDTLS_CRYPTO=y -CONFIG_WPA_MBEDTLS_TLS_CLIENT=y -# CONFIG_WPA_WAPI_PSK is not set -# CONFIG_WPA_11KV_SUPPORT is not set -# CONFIG_WPA_MBO_SUPPORT is not set -# CONFIG_WPA_DPP_SUPPORT is not set -# CONFIG_WPA_11R_SUPPORT is not set -# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set -# CONFIG_WPA_WPS_STRICT is not set -# CONFIG_WPA_DEBUG_PRINT is not set -# CONFIG_WPA_TESTING_OPTIONS is not set -# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set -# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set -CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y -CONFIG_TIMER_TASK_PRIORITY=1 -CONFIG_TIMER_TASK_STACK_DEPTH=2048 -CONFIG_TIMER_QUEUE_LENGTH=10 -# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set -# CONFIG_HAL_ASSERTION_SILIENT is not set -# CONFIG_L2_TO_L3_COPY is not set -CONFIG_ESP_GRATUITOUS_ARP=y -CONFIG_GARP_TMR_INTERVAL=60 -CONFIG_TCPIP_RECVMBOX_SIZE=32 -CONFIG_TCP_MAXRTX=12 -CONFIG_TCP_SYNMAXRTX=12 -CONFIG_TCP_MSS=1440 -CONFIG_TCP_MSL=60000 -CONFIG_TCP_SND_BUF_DEFAULT=5760 -CONFIG_TCP_WND_DEFAULT=5760 -CONFIG_TCP_RECVMBOX_SIZE=6 -CONFIG_TCP_QUEUE_OOSEQ=y -CONFIG_TCP_OVERSIZE_MSS=y -# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set -# CONFIG_TCP_OVERSIZE_DISABLE is not set -CONFIG_UDP_RECVMBOX_SIZE=6 -CONFIG_TCPIP_TASK_STACK_SIZE=3072 -CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y -# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set -CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF -# CONFIG_PPP_SUPPORT is not set -CONFIG_ESP32S2_TIME_SYSCALL_USE_RTC_SYSTIMER=y -CONFIG_ESP32S2_TIME_SYSCALL_USE_RTC_FRC1=y -# CONFIG_ESP32S2_TIME_SYSCALL_USE_RTC is not set -# CONFIG_ESP32S2_TIME_SYSCALL_USE_SYSTIMER is not set -# CONFIG_ESP32S2_TIME_SYSCALL_USE_FRC1 is not set -# CONFIG_ESP32S2_TIME_SYSCALL_USE_NONE is not set -CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 -CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 -CONFIG_ESP32_PTHREAD_STACK_MIN=768 -CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 -CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" -CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y -# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set -# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set -# CONFIG_ESP32S2_ULP_COPROC_ENABLED is not set -CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y -CONFIG_SUPPORT_TERMIOS=y -CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 -# End of deprecated options diff --git a/configs/sdkconfig.nimble b/configs/sdkconfig_awokmini similarity index 100% rename from configs/sdkconfig.nimble rename to configs/sdkconfig_awokmini diff --git a/configs/sdkconfig.backupbackup b/configs/sdkconfig_crowtech7inch similarity index 80% rename from configs/sdkconfig.backupbackup rename to configs/sdkconfig_crowtech7inch index a77c97b8..bce329b8 100644 --- a/configs/sdkconfig.backupbackup +++ b/configs/sdkconfig_crowtech7inch @@ -2,31 +2,38 @@ # Automatically generated file. DO NOT EDIT. # Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Configuration # +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 CONFIG_SOC_ADC_SUPPORTED=y -CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y CONFIG_SOC_UART_SUPPORTED=y +CONFIG_SOC_PCNT_SUPPORTED=y +CONFIG_SOC_PHY_SUPPORTED=y +CONFIG_SOC_WIFI_SUPPORTED=y +CONFIG_SOC_TWAI_SUPPORTED=y CONFIG_SOC_GDMA_SUPPORTED=y CONFIG_SOC_AHB_GDMA_SUPPORTED=y CONFIG_SOC_GPTIMER_SUPPORTED=y -CONFIG_SOC_PCNT_SUPPORTED=y +CONFIG_SOC_LCDCAM_SUPPORTED=y CONFIG_SOC_MCPWM_SUPPORTED=y -CONFIG_SOC_TWAI_SUPPORTED=y -CONFIG_SOC_ETM_SUPPORTED=y -CONFIG_SOC_PARLIO_SUPPORTED=y +CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y +CONFIG_SOC_CACHE_SUPPORT_WRAP=y +CONFIG_SOC_ULP_SUPPORTED=y +CONFIG_SOC_ULP_FSM_SUPPORTED=y +CONFIG_SOC_RISCV_COPROC_SUPPORTED=y CONFIG_SOC_BT_SUPPORTED=y -CONFIG_SOC_IEEE802154_SUPPORTED=y -CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y +CONFIG_SOC_USB_OTG_SUPPORTED=y CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y -CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y -CONFIG_SOC_PHY_SUPPORTED=y -CONFIG_SOC_WIFI_SUPPORTED=y +CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y +CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y -CONFIG_SOC_ULP_SUPPORTED=y -CONFIG_SOC_LP_CORE_SUPPORTED=y CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y CONFIG_SOC_EFUSE_SUPPORTED=y +CONFIG_SOC_SDMMC_HOST_SUPPORTED=y CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y +CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y CONFIG_SOC_RTC_MEM_SUPPORTED=y +CONFIG_SOC_PSRAM_DMA_CAPABLE=y +CONFIG_SOC_XT_WDT_SUPPORTED=y CONFIG_SOC_I2S_SUPPORTED=y CONFIG_SOC_RMT_SUPPORTED=y CONFIG_SOC_SDM_SUPPORTED=y @@ -35,130 +42,98 @@ CONFIG_SOC_LEDC_SUPPORTED=y CONFIG_SOC_I2C_SUPPORTED=y CONFIG_SOC_SYSTIMER_SUPPORTED=y CONFIG_SOC_SUPPORT_COEXISTENCE=y +CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y CONFIG_SOC_AES_SUPPORTED=y CONFIG_SOC_MPI_SUPPORTED=y CONFIG_SOC_SHA_SUPPORTED=y CONFIG_SOC_HMAC_SUPPORTED=y CONFIG_SOC_DIG_SIGN_SUPPORTED=y -CONFIG_SOC_ECC_SUPPORTED=y CONFIG_SOC_FLASH_ENC_SUPPORTED=y CONFIG_SOC_SECURE_BOOT_SUPPORTED=y -CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y +CONFIG_SOC_MEMPROT_SUPPORTED=y +CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y CONFIG_SOC_BOD_SUPPORTED=y -CONFIG_SOC_APM_SUPPORTED=y -CONFIG_SOC_APM_CTRL_FILTER_SUPPORTED=y -CONFIG_SOC_PMU_SUPPORTED=y -CONFIG_SOC_PAU_SUPPORTED=y -CONFIG_SOC_LP_TIMER_SUPPORTED=y -CONFIG_SOC_LP_AON_SUPPORTED=y -CONFIG_SOC_LP_PERIPHERALS_SUPPORTED=y -CONFIG_SOC_LP_I2C_SUPPORTED=y -CONFIG_SOC_ULP_LP_UART_SUPPORTED=y CONFIG_SOC_CLK_TREE_SUPPORTED=y -CONFIG_SOC_ASSIST_DEBUG_SUPPORTED=y +CONFIG_SOC_MPU_SUPPORTED=y CONFIG_SOC_WDT_SUPPORTED=y CONFIG_SOC_SPI_FLASH_SUPPORTED=y CONFIG_SOC_RNG_SUPPORTED=y CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y -CONFIG_SOC_MODEM_CLOCK_SUPPORTED=y +CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y CONFIG_SOC_PM_SUPPORTED=y CONFIG_SOC_XTAL_SUPPORT_40M=y -CONFIG_SOC_AES_SUPPORT_DMA=y -CONFIG_SOC_AES_GDMA=y -CONFIG_SOC_AES_SUPPORT_AES_128=y -CONFIG_SOC_AES_SUPPORT_AES_256=y +CONFIG_SOC_APPCPU_HAS_CLOCK_GATING_BUG=y +CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +CONFIG_SOC_ADC_ARBITER_SUPPORTED=y CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y CONFIG_SOC_ADC_MONITOR_SUPPORTED=y CONFIG_SOC_ADC_DMA_SUPPORTED=y -CONFIG_SOC_ADC_PERIPH_NUM=1 -CONFIG_SOC_ADC_MAX_CHANNEL_NUM=7 +CONFIG_SOC_ADC_PERIPH_NUM=2 +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 CONFIG_SOC_ADC_ATTEN_NUM=4 -CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=1 -CONFIG_SOC_ADC_PATT_LEN_MAX=8 -CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 +CONFIG_SOC_ADC_PATT_LEN_MAX=24 CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 -CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 -CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 +CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 +CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y -CONFIG_SOC_ADC_CALIB_CHAN_COMPENS_SUPPORTED=y -CONFIG_SOC_ADC_TEMPERATURE_SHARE_INTR=y CONFIG_SOC_ADC_SHARED_POWER=y +CONFIG_SOC_APB_BACKUP_DMA=y CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y -CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y +CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y -CONFIG_SOC_CPU_CORES_NUM=1 +CONFIG_SOC_CPU_CORES_NUM=2 CONFIG_SOC_CPU_INTR_NUM=32 -CONFIG_SOC_CPU_HAS_FLEXIBLE_INTC=y -CONFIG_SOC_INT_PLIC_SUPPORTED=y -CONFIG_SOC_CPU_HAS_CSR_PC=y -CONFIG_SOC_CPU_BREAKPOINTS_NUM=4 -CONFIG_SOC_CPU_WATCHPOINTS_NUM=4 -CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x80000000 -CONFIG_SOC_CPU_HAS_PMA=y -CONFIG_SOC_CPU_IDRAM_SPLIT_USING_PMP=y -CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=3072 +CONFIG_SOC_CPU_HAS_FPU=y +CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y +CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 +CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64 +CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096 CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 CONFIG_SOC_AHB_GDMA_VERSION=1 CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 -CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=3 -CONFIG_SOC_GDMA_SUPPORT_ETM=y -CONFIG_SOC_GDMA_SUPPORT_SLEEP_RETENTION=y -CONFIG_SOC_ETM_GROUPS=1 -CONFIG_SOC_ETM_CHANNELS_PER_GROUP=50 +CONFIG_SOC_GDMA_PAIRS_PER_GROUP=5 +CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=5 +CONFIG_SOC_AHB_GDMA_SUPPORT_PSRAM=y CONFIG_SOC_GPIO_PORT=1 -CONFIG_SOC_GPIO_PIN_COUNT=31 +CONFIG_SOC_GPIO_PIN_COUNT=49 CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y -CONFIG_SOC_GPIO_FLEX_GLITCH_FILTER_NUM=8 -CONFIG_SOC_GPIO_SUPPORT_ETM=y +CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y -CONFIG_SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP=y -CONFIG_SOC_LP_IO_CLOCK_IS_INDEPENDENT=y -CONFIG_SOC_GPIO_IN_RANGE_MAX=30 -CONFIG_SOC_GPIO_OUT_RANGE_MAX=30 -CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK=0 -CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_SUPPORTED_PIN_CNT=8 -CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x000000007FFFFF00 CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y -CONFIG_SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP=y -CONFIG_SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX=y -CONFIG_SOC_CLOCKOUT_HAS_SOURCE_GATE=y +CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x1FFFFFFFFFFFF +CONFIG_SOC_GPIO_IN_RANGE_MAX=48 +CONFIG_SOC_GPIO_OUT_RANGE_MAX=48 +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000 +CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 -CONFIG_SOC_RTCIO_PIN_COUNT=8 -CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y -CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y -CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y -CONFIG_SOC_RTCIO_VALID_RTCIO_MASK=0xFF CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 -CONFIG_SOC_DEDIC_PERIPH_ALWAYS_ENABLE=y +CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y CONFIG_SOC_I2C_NUM=2 -CONFIG_SOC_HP_I2C_NUM=1 +CONFIG_SOC_HP_I2C_NUM=2 CONFIG_SOC_I2C_FIFO_LEN=32 CONFIG_SOC_I2C_CMD_REG_NUM=8 CONFIG_SOC_I2C_SUPPORT_SLAVE=y -CONFIG_SOC_I2C_SUPPORT_HW_FSM_RST=y CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y CONFIG_SOC_I2C_SUPPORT_XTAL=y CONFIG_SOC_I2C_SUPPORT_RTC=y CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y -CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE=y CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y -CONFIG_SOC_I2C_SLAVE_SUPPORT_SLAVE_UNMATCH=y -CONFIG_SOC_I2C_SUPPORT_SLEEP_RETENTION=y -CONFIG_SOC_LP_I2C_NUM=1 -CONFIG_SOC_LP_I2C_FIFO_LEN=16 -CONFIG_SOC_I2S_NUM=1 +CONFIG_SOC_I2S_NUM=2 CONFIG_SOC_I2S_HW_VERSION_2=y CONFIG_SOC_I2S_SUPPORTS_XTAL=y CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y @@ -166,30 +141,35 @@ CONFIG_SOC_I2S_SUPPORTS_PCM=y CONFIG_SOC_I2S_SUPPORTS_PDM=y CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 +CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=4 CONFIG_SOC_I2S_SUPPORTS_TDM=y -CONFIG_SOC_LEDC_SUPPORT_PLL_DIV_CLOCK=y +CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y -CONFIG_SOC_LEDC_CHANNEL_NUM=6 -CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 +CONFIG_SOC_LEDC_CHANNEL_NUM=8 +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y -CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED=y -CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX=16 -CONFIG_SOC_LEDC_FADE_PARAMS_BIT_WIDTH=10 -CONFIG_SOC_MMU_PAGE_SIZE_CONFIGURABLE=y -CONFIG_SOC_MMU_PERIPH_NUM=1 +CONFIG_SOC_MCPWM_GROUPS=2 +CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 +CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 +CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 +CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y +CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 +CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 +CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 -CONFIG_SOC_MMU_DI_VADDR_SHARED=y -CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 -CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +CONFIG_SOC_MMU_PERIPH_NUM=1 CONFIG_SOC_PCNT_GROUPS=1 CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 -CONFIG_SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE=y CONFIG_SOC_RMT_GROUPS=1 -CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=2 -CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=2 -CONFIG_SOC_RMT_CHANNELS_PER_GROUP=4 +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4 +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4 +CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y @@ -200,40 +180,26 @@ CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y CONFIG_SOC_RMT_SUPPORT_XTAL=y CONFIG_SOC_RMT_SUPPORT_RC_FAST=y -CONFIG_SOC_MCPWM_GROUPS=1 -CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 -CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 -CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 -CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2 -CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2 -CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 -CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y -CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 -CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 -CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y -CONFIG_SOC_MCPWM_SUPPORT_ETM=y -CONFIG_SOC_MCPWM_CAPTURE_CLK_FROM_GROUP=y -CONFIG_SOC_PARLIO_GROUPS=1 -CONFIG_SOC_PARLIO_TX_UNITS_PER_GROUP=1 -CONFIG_SOC_PARLIO_RX_UNITS_PER_GROUP=1 -CONFIG_SOC_PARLIO_TX_UNIT_MAX_DATA_WIDTH=16 -CONFIG_SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH=16 -CONFIG_SOC_PARLIO_TX_RX_SHARE_INTERRUPT=y -CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 -CONFIG_SOC_MPI_OPERATIONS_NUM=3 -CONFIG_SOC_RSA_MAX_BIT_LEN=3072 -CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 -CONFIG_SOC_SHA_SUPPORT_DMA=y -CONFIG_SOC_SHA_SUPPORT_RESUME=y -CONFIG_SOC_SHA_GDMA=y -CONFIG_SOC_SHA_SUPPORT_SHA1=y -CONFIG_SOC_SHA_SUPPORT_SHA224=y -CONFIG_SOC_SHA_SUPPORT_SHA256=y -CONFIG_SOC_SDM_GROUPS=1 -CONFIG_SOC_SDM_CHANNELS_PER_GROUP=4 -CONFIG_SOC_SDM_CLK_SUPPORT_PLL_F80M=y -CONFIG_SOC_SDM_CLK_SUPPORT_XTAL=y -CONFIG_SOC_SPI_PERIPH_NUM=2 +CONFIG_SOC_RMT_SUPPORT_APB=y +CONFIG_SOC_RMT_SUPPORT_DMA=y +CONFIG_SOC_LCD_I80_SUPPORTED=y +CONFIG_SOC_LCD_RGB_SUPPORTED=y +CONFIG_SOC_LCD_I80_BUSES=1 +CONFIG_SOC_LCD_RGB_PANELS=1 +CONFIG_SOC_LCD_I80_BUS_WIDTH=16 +CONFIG_SOC_LCD_RGB_DATA_WIDTH=16 +CONFIG_SOC_LCD_SUPPORT_RGB_YUV_CONV=y +CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 +CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549 +CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128 +CONFIG_SOC_RTCIO_PIN_COUNT=22 +CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y +CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y +CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y +CONFIG_SOC_SDM_GROUPS=y +CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 +CONFIG_SOC_SDM_CLK_SUPPORT_APB=y +CONFIG_SOC_SPI_PERIPH_NUM=3 CONFIG_SOC_SPI_MAX_CS_NUM=6 CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 CONFIG_SOC_SPI_SUPPORT_DDRCLK=y @@ -241,144 +207,160 @@ CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y CONFIG_SOC_SPI_SUPPORT_CD_SIG=y CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +CONFIG_SOC_SPI_SUPPORT_CLK_APB=y CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y -CONFIG_SOC_SPI_SUPPORT_CLK_PLL_F80M=y -CONFIG_SOC_SPI_SUPPORT_CLK_RC_FAST=y +CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y +CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 +CONFIG_SOC_SPI_SUPPORT_OCT=y CONFIG_SOC_SPI_SCT_SUPPORTED=y CONFIG_SOC_SPI_SCT_REG_NUM=14 CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA -CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y -CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y -CONFIG_SOC_SPI_MEM_SUPPORT_IDLE_INTR=y -CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y -CONFIG_SOC_SPI_MEM_SUPPORT_CHECK_SUS=y -CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y +CONFIG_SOC_MEMSPI_SRC_FREQ_120M=y CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y +CONFIG_SOC_SPIRAM_SUPPORTED=y +CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 CONFIG_SOC_SYSTIMER_ALARM_NUM=3 CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y -CONFIG_SOC_SYSTIMER_SUPPORT_RC_FAST=y CONFIG_SOC_SYSTIMER_INT_LEVEL=y CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y -CONFIG_SOC_SYSTIMER_SUPPORT_ETM=y -CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 -CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 CONFIG_SOC_TIMER_GROUPS=2 -CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=1 +CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y -CONFIG_SOC_TIMER_GROUP_SUPPORT_RC_FAST=y -CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=2 -CONFIG_SOC_TIMER_SUPPORT_ETM=y -CONFIG_SOC_TIMER_SUPPORT_SLEEP_RETENTION=y -CONFIG_SOC_MWDT_SUPPORT_XTAL=y -CONFIG_SOC_TWAI_CONTROLLER_NUM=2 -CONFIG_SOC_TWAI_CLK_SUPPORT_XTAL=y +CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +CONFIG_SOC_TOUCH_SENSOR_VERSION=2 +CONFIG_SOC_TOUCH_SENSOR_NUM=15 +CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y +CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y +CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y +CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3 +CONFIG_SOC_TOUCH_PROXIMITY_MEAS_DONE_SUPPORTED=y +CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 +CONFIG_SOC_TWAI_CONTROLLER_NUM=1 +CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y CONFIG_SOC_TWAI_BRP_MIN=2 -CONFIG_SOC_TWAI_BRP_MAX=32768 +CONFIG_SOC_TWAI_BRP_MAX=16384 CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y -CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y -CONFIG_SOC_EFUSE_DIS_PAD_JTAG=y -CONFIG_SOC_EFUSE_DIS_USB_JTAG=y -CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y -CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y -CONFIG_SOC_EFUSE_DIS_ICACHE=y -CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y -CONFIG_SOC_SECURE_BOOT_V2_RSA=y -CONFIG_SOC_SECURE_BOOT_V2_ECC=y -CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 -CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y -CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y -CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y -CONFIG_SOC_CRYPTO_DPA_PROTECTION_SUPPORTED=y CONFIG_SOC_UART_NUM=3 -CONFIG_SOC_UART_HP_NUM=2 -CONFIG_SOC_UART_LP_NUM=1 +CONFIG_SOC_UART_HP_NUM=3 CONFIG_SOC_UART_FIFO_LEN=128 -CONFIG_SOC_LP_UART_FIFO_LEN=16 CONFIG_SOC_UART_BITRATE_MAX=5000000 -CONFIG_SOC_UART_SUPPORT_PLL_F80M_CLK=y +CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y +CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y +CONFIG_SOC_UART_SUPPORT_APB_CLK=y CONFIG_SOC_UART_SUPPORT_RTC_CLK=y CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y -CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y -CONFIG_SOC_UART_HAS_LP_UART=y -CONFIG_SOC_UART_SUPPORT_SLEEP_RETENTION=y -CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y -CONFIG_SOC_COEX_HW_PTI=y -CONFIG_SOC_EXTERNAL_COEX_ADVANCE=y -CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 -CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 +CONFIG_SOC_USB_OTG_PERIPH_NUM=1 +CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 +CONFIG_SOC_SHA_SUPPORT_DMA=y +CONFIG_SOC_SHA_SUPPORT_RESUME=y +CONFIG_SOC_SHA_GDMA=y +CONFIG_SOC_SHA_SUPPORT_SHA1=y +CONFIG_SOC_SHA_SUPPORT_SHA224=y +CONFIG_SOC_SHA_SUPPORT_SHA256=y +CONFIG_SOC_SHA_SUPPORT_SHA384=y +CONFIG_SOC_SHA_SUPPORT_SHA512=y +CONFIG_SOC_SHA_SUPPORT_SHA512_224=y +CONFIG_SOC_SHA_SUPPORT_SHA512_256=y +CONFIG_SOC_SHA_SUPPORT_SHA512_T=y +CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 +CONFIG_SOC_MPI_OPERATIONS_NUM=3 +CONFIG_SOC_RSA_MAX_BIT_LEN=4096 +CONFIG_SOC_AES_SUPPORT_DMA=y +CONFIG_SOC_AES_GDMA=y +CONFIG_SOC_AES_SUPPORT_AES_128=y +CONFIG_SOC_AES_SUPPORT_AES_256=y +CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_BEACON_WAKEUP=y CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN=y +CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y CONFIG_SOC_PM_SUPPORT_CPU_PD=y -CONFIG_SOC_PM_SUPPORT_MODEM_PD=y -CONFIG_SOC_PM_SUPPORT_XTAL32K_PD=y -CONFIG_SOC_PM_SUPPORT_RC32K_PD=y +CONFIG_SOC_PM_SUPPORT_TAGMEM_PD=y +CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y -CONFIG_SOC_PM_SUPPORT_TOP_PD=y -CONFIG_SOC_PM_SUPPORT_HP_AON_PD=y CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y -CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y -CONFIG_SOC_PM_SUPPORT_PMU_MODEM_STATE=y +CONFIG_SOC_PM_SUPPORT_MODEM_PD=y +CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y -CONFIG_SOC_PM_CPU_RETENTION_BY_SW=y -CONFIG_SOC_PM_MODEM_RETENTION_BY_REGDMA=y -CONFIG_SOC_PM_RETENTION_HAS_CLOCK_BUG=y -CONFIG_SOC_PM_PAU_LINK_NUM=4 +CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y +CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y +CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y +CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y -CONFIG_SOC_MODEM_CLOCK_IS_INDEPENDENT=y CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y -CONFIG_SOC_CLK_OSC_SLOW_SUPPORTED=y -CONFIG_SOC_CLK_RC32K_SUPPORTED=y -CONFIG_SOC_RCC_IS_INDEPENDENT=y +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y +CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_USB_JTAG=y +CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y +CONFIG_SOC_EFUSE_DIS_ICACHE=y +CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y +CONFIG_SOC_SECURE_BOOT_V2_RSA=y +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 +CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y +CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y +CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 +CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=256 +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192 +CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y +CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_OPI_MODE=y +CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y +CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y +CONFIG_SOC_MEMSPI_CORE_CLK_SHARED_WITH_PSRAM=y +CONFIG_SOC_COEX_HW_PTI=y +CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y +CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y +CONFIG_SOC_SDMMC_NUM_SLOTS=2 +CONFIG_SOC_SDMMC_SUPPORT_XTAL_CLOCK=y +CONFIG_SOC_SDMMC_DELAY_PHASE_NUM=4 CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y -CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL=y -CONFIG_SOC_TEMPERATURE_SENSOR_INTR_SUPPORT=y -CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_ETM=y -CONFIG_SOC_RNG_CLOCK_IS_INDEPENDENT=y CONFIG_SOC_WIFI_HW_TSF=y CONFIG_SOC_WIFI_FTM_SUPPORT=y CONFIG_SOC_WIFI_GCMP_SUPPORT=y CONFIG_SOC_WIFI_WAPI_SUPPORT=y CONFIG_SOC_WIFI_CSI_SUPPORT=y CONFIG_SOC_WIFI_MESH_SUPPORT=y -CONFIG_SOC_WIFI_HE_SUPPORT=y +CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y +CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y CONFIG_SOC_BLE_SUPPORTED=y CONFIG_SOC_BLE_MESH_SUPPORTED=y -CONFIG_SOC_ESP_NIMBLE_CONTROLLER=y CONFIG_SOC_BLE_50_SUPPORTED=y CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y -CONFIG_SOC_BLE_POWER_CONTROL_SUPPORTED=y -CONFIG_SOC_BLE_PERIODIC_ADV_ENH_SUPPORTED=y CONFIG_SOC_BLUFI_SUPPORTED=y -CONFIG_SOC_BLE_MULTI_CONN_OPTIMIZATION=y -CONFIG_SOC_BLE_USE_WIFI_PWR_CLK_WORKAROUND=y +CONFIG_SOC_ULP_HAS_ADC=y CONFIG_SOC_PHY_COMBO_MODULE=y -CONFIG_SOC_CAPS_NO_RESET_BY_ANA_BOD=y -CONFIG_SOC_LP_CORE_SINGLE_INTERRUPT_VECTOR=y -CONFIG_SOC_LP_CORE_SUPPORT_ETM=y CONFIG_IDF_CMAKE=y CONFIG_IDF_TOOLCHAIN="gcc" -CONFIG_IDF_TARGET_ARCH_RISCV=y -CONFIG_IDF_TARGET_ARCH="riscv" -CONFIG_IDF_TARGET="esp32c6" +CONFIG_IDF_TARGET_ARCH_XTENSA=y +CONFIG_IDF_TARGET_ARCH="xtensa" +CONFIG_IDF_TARGET="esp32s3" CONFIG_IDF_INIT_VERSION="5.3.1" -CONFIG_IDF_TARGET_ESP32C6=y -CONFIG_IDF_FIRMWARE_CHIP_ID=0x000D +CONFIG_IDF_TARGET_ESP32S3=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009 # # Build type @@ -407,6 +389,7 @@ CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set # CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set # CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set # CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set @@ -422,6 +405,7 @@ CONFIG_BOOTLOADER_LOG_LEVEL=3 CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y # end of Serial Flash Configurations +CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y # CONFIG_BOOTLOADER_FACTORY_RESET is not set # CONFIG_BOOTLOADER_APP_TEST is not set CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y @@ -440,7 +424,6 @@ CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 # Security features # CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y -CONFIG_SECURE_BOOT_V2_ECC_SUPPORTED=y CONFIG_SECURE_BOOT_V2_PREFERRED=y # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set # CONFIG_SECURE_BOOT is not set @@ -460,28 +443,29 @@ CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 CONFIG_ESP_ROM_HAS_CRC_LE=y CONFIG_ESP_ROM_HAS_CRC_BE=y +CONFIG_ESP_ROM_HAS_MZ_CRC32=y CONFIG_ESP_ROM_HAS_JPEG_DECODE=y CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y -CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=3 CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y +CONFIG_ESP_ROM_USB_OTG_NUM=3 +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 +CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y +CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y CONFIG_ESP_ROM_GET_CLK_FREQ=y -CONFIG_ESP_ROM_HAS_RVFPLIB=y CONFIG_ESP_ROM_HAS_HAL_WDT=y -CONFIG_ESP_ROM_HAS_HAL_SYSTIMER=y -CONFIG_ESP_ROM_HAS_HEAP_TLSF=y -CONFIG_ESP_ROM_TLSF_CHECK_PATCH=y -CONFIG_ESP_ROM_MULTI_HEAP_WALK_PATCH=y +CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y CONFIG_ESP_ROM_HAS_SPI_FLASH=y -CONFIG_ESP_ROM_HAS_REGI2C_BUG=y +CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y CONFIG_ESP_ROM_HAS_NEWLIB=y -CONFIG_ESP_ROM_HAS_NEWLIB_NORMAL_FORMAT=y -CONFIG_ESP_ROM_REV0_HAS_NO_ECDSA_INTERFACE=y -CONFIG_ESP_ROM_WDT_INIT_PATCH=y +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y +CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y +CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y +CONFIG_ESP_ROM_HAS_CACHE_SUSPEND_WAITI_BUG=y +CONFIG_ESP_ROM_HAS_CACHE_WRITEBACK_BUG=y CONFIG_ESP_ROM_HAS_SW_FLOAT=y -CONFIG_ESP_ROM_USB_OTG_NUM=-1 CONFIG_ESP_ROM_HAS_VERSION=y CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y @@ -498,12 +482,15 @@ CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y # Serial flasher config # # CONFIG_ESPTOOLPY_NO_STUB is not set -# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# CONFIG_ESPTOOLPY_OCT_FLASH is not set +CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=y +CONFIG_ESPTOOLPY_FLASHMODE_QIO=y # CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set -CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set # CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y CONFIG_ESPTOOLPY_FLASHMODE="dio" +# CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set CONFIG_ESPTOOLPY_FLASHFREQ_80M=y # CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set # CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set @@ -548,12 +535,11 @@ CONFIG_PARTITION_TABLE_MD5=y CONFIG_COMPILER_OPTIMIZATION_SIZE=y # CONFIG_COMPILER_OPTIMIZATION_PERF is not set # CONFIG_COMPILER_OPTIMIZATION_NONE is not set -# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE is not set +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set -CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y -# CONFIG_COMPILER_FLOAT_LIB_FROM_RVFPLIB is not set -CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=0 +CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 # CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set CONFIG_COMPILER_HIDE_PATHS_MACROS=y # CONFIG_COMPILER_CXX_EXCEPTIONS is not set @@ -563,7 +549,6 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y # CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set # CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set # CONFIG_COMPILER_WARN_WRITE_STRINGS is not set -# CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS is not set # CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set # CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set # CONFIG_COMPILER_DUMP_RTL_FILES is not set @@ -584,6 +569,7 @@ CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y CONFIG_APPTRACE_DEST_NONE=y # CONFIG_APPTRACE_DEST_UART1 is not set # CONFIG_APPTRACE_DEST_UART2 is not set +# CONFIG_APPTRACE_DEST_USB_CDC is not set CONFIG_APPTRACE_DEST_UART_NONE=y CONFIG_APPTRACE_UART_TASK_PRIO=1 CONFIG_APPTRACE_LOCK_ENABLE=y @@ -603,6 +589,7 @@ CONFIG_BT_CONTROLLER_ENABLED=y # NimBLE Options # CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y +# CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL is not set # CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set # CONFIG_BT_NIMBLE_LOG_LEVEL_NONE is not set # CONFIG_BT_NIMBLE_LOG_LEVEL_ERROR is not set @@ -642,7 +629,6 @@ CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=12 CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=256 CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=24 CONFIG_BT_NIMBLE_MSYS_2_BLOCK_SIZE=320 -CONFIG_BT_NIMBLE_MSYS_BUF_FROM_HEAP=y CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=24 CONFIG_BT_NIMBLE_TRANSPORT_ACL_SIZE=255 CONFIG_BT_NIMBLE_TRANSPORT_EVT_SIZE=70 @@ -666,13 +652,12 @@ CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY=y CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY=y # CONFIG_BT_NIMBLE_EXT_ADV is not set CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS=0 -CONFIG_BT_NIMBLE_MAX_PERIODIC_ADVERTISER_LIST=5 -# CONFIG_BT_NIMBLE_BLE_POWER_CONTROL is not set # CONFIG_BT_NIMBLE_GATT_CACHING is not set CONFIG_BT_NIMBLE_WHITELIST_SIZE=12 # CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set # CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set CONFIG_BT_NIMBLE_USE_ESP_TIMER=y +CONFIG_BT_NIMBLE_LEGACY_VHCI_ENABLE=y # CONFIG_BT_NIMBLE_BLE_GATT_BLOB_TRANSFER is not set # @@ -717,7 +702,6 @@ CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SUPERVISION_TMO=0 # end of BLE Services # CONFIG_BT_NIMBLE_VS_SUPPORT is not set -# CONFIG_BT_NIMBLE_OPTIMIZE_MULTI_CONN is not set # CONFIG_BT_NIMBLE_ENC_ADV_DATA is not set # CONFIG_BT_NIMBLE_HIGH_DUTY_ADV_ITVL is not set # CONFIG_BT_NIMBLE_HOST_QUEUE_CONG_CHECK is not set @@ -736,51 +720,77 @@ CONFIG_BT_NIMBLE_HCI_UART_CTS_PIN=23 # # Controller Options # - -# -# HCI Config -# -CONFIG_BT_LE_HCI_INTERFACE_USE_RAM=y -# CONFIG_BT_LE_HCI_INTERFACE_USE_UART is not set -# end of HCI Config - -CONFIG_BT_LE_CONTROLLER_NPL_OS_PORTING_SUPPORT=y -CONFIG_BT_LE_CONTROLLER_TASK_STACK_SIZE=4096 -# CONFIG_BT_LE_CONTROLLER_LOG_ENABLED is not set -CONFIG_BT_LE_LL_RESOLV_LIST_SIZE=4 -CONFIG_BT_LE_LL_DUP_SCAN_LIST_COUNT=20 -CONFIG_BT_LE_LL_SCA=60 -# CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EN is not set -CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS=y -CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF=0 -# CONFIG_BT_LE_SLEEP_ENABLE is not set -CONFIG_BT_LE_LP_CLK_SRC_MAIN_XTAL=y -# CONFIG_BT_LE_LP_CLK_SRC_DEFAULT is not set +CONFIG_BT_CTRL_MODE_EFF=1 +CONFIG_BT_CTRL_BLE_MAX_ACT=6 +CONFIG_BT_CTRL_BLE_MAX_ACT_EFF=6 +CONFIG_BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB=0 +CONFIG_BT_CTRL_PINNED_TO_CORE=0 +CONFIG_BT_CTRL_HCI_MODE_VHCI=y +# CONFIG_BT_CTRL_HCI_MODE_UART_H4 is not set +CONFIG_BT_CTRL_HCI_TL=1 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=30 +CONFIG_BT_BLE_CCA_MODE_NONE=y +# CONFIG_BT_BLE_CCA_MODE_HW is not set +# CONFIG_BT_BLE_CCA_MODE_SW is not set +CONFIG_BT_BLE_CCA_MODE=0 +CONFIG_BT_CTRL_HW_CCA_VAL=20 +CONFIG_BT_CTRL_HW_CCA_EFF=0 +CONFIG_BT_CTRL_CE_LENGTH_TYPE_ORIG=y +# CONFIG_BT_CTRL_CE_LENGTH_TYPE_CE is not set +# CONFIG_BT_CTRL_CE_LENGTH_TYPE_SD is not set +CONFIG_BT_CTRL_CE_LENGTH_TYPE_EFF=0 +CONFIG_BT_CTRL_TX_ANTENNA_INDEX_0=y +# CONFIG_BT_CTRL_TX_ANTENNA_INDEX_1 is not set +CONFIG_BT_CTRL_TX_ANTENNA_INDEX_EFF=0 +CONFIG_BT_CTRL_RX_ANTENNA_INDEX_0=y +# CONFIG_BT_CTRL_RX_ANTENNA_INDEX_1 is not set +CONFIG_BT_CTRL_RX_ANTENNA_INDEX_EFF=0 +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N24 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N21 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N18 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N15 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N12 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N9 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N6 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N3 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N0 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P3 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P6 is not set +CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P9=y +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P12 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P15 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P18 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P21 is not set +CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_EFF=11 CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 CONFIG_BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 -CONFIG_BT_LE_SCAN_DUPL=y -CONFIG_BT_LE_SCAN_DUPL_TYPE_DEVICE=y -# CONFIG_BT_LE_SCAN_DUPL_TYPE_DATA is not set -# CONFIG_BT_LE_SCAN_DUPL_TYPE_DATA_DEVICE is not set -CONFIG_BT_LE_SCAN_DUPL_TYPE=0 -CONFIG_BT_LE_SCAN_DUPL_CACHE_REFRESH_PERIOD=0 -CONFIG_BT_LE_MSYS_INIT_IN_CONTROLLER=y -# CONFIG_BT_LE_TX_CCA_ENABLED is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N15 is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N12 is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N9 is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N6 is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N3 is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N0 is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P3 is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P6 is not set -CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P9=y -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P12 is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P15 is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P18 is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P20 is not set -CONFIG_BT_LE_DFT_TX_POWER_LEVEL_DBM_EFF=9 +CONFIG_BT_CTRL_BLE_SCAN_DUPL=y +CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DEVICE=y +# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA is not set +# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA_DEVICE is not set +CONFIG_BT_CTRL_SCAN_DUPL_TYPE=0 +CONFIG_BT_CTRL_SCAN_DUPL_CACHE_SIZE=100 +CONFIG_BT_CTRL_DUPL_SCAN_CACHE_REFRESH_PERIOD=0 +# CONFIG_BT_CTRL_BLE_MESH_SCAN_DUPL_EN is not set +# CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EN is not set +CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_DIS=y +CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EFF=0 + +# +# MODEM SLEEP Options +# +# CONFIG_BT_CTRL_MODEM_SLEEP is not set +# end of MODEM SLEEP Options + +CONFIG_BT_CTRL_SLEEP_MODE_EFF=0 +CONFIG_BT_CTRL_SLEEP_CLOCK_EFF=0 +CONFIG_BT_CTRL_HCI_TL_EFF=1 +# CONFIG_BT_CTRL_AGC_RECORRECT_EN is not set +# CONFIG_BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set +# CONFIG_BT_BLE_ADV_DATA_LENGTH_ZERO_AUX is not set +CONFIG_BT_CTRL_CHAN_ASS_EN=y +CONFIG_BT_CTRL_LE_PING_EN=y # end of Controller Options # @@ -808,6 +818,7 @@ CONFIG_BT_ALARM_MAX_NUM=50 # TWAI Configuration # # CONFIG_TWAI_ISR_IN_IRAM is not set +CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y # end of TWAI Configuration # @@ -891,6 +902,7 @@ CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y # # CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set # CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set +# CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set # CONFIG_ADC_ENABLE_DEBUG_LOG is not set # end of ADC and ADC Calibration @@ -951,13 +963,6 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:MCPWM Configurations -# -# ESP-Driver:Parallel IO Configurations -# -# CONFIG_PARLIO_ENABLE_DEBUG_LOG is not set -# CONFIG_PARLIO_ISR_IRAM_SAFE is not set -# end of ESP-Driver:Parallel IO Configurations - # # ESP-Driver:PCNT Configurations # @@ -984,17 +989,23 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # # ESP-Driver:SPI Configurations # -# CONFIG_SPI_MASTER_IN_IRAM is not set CONFIG_SPI_MASTER_ISR_IN_IRAM=y # CONFIG_SPI_SLAVE_IN_IRAM is not set CONFIG_SPI_SLAVE_ISR_IN_IRAM=y # end of ESP-Driver:SPI Configurations +# +# ESP-Driver:Touch Sensor Configurations +# +# CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set +# CONFIG_TOUCH_ISR_IRAM_SAFE is not set +# CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Touch Sensor Configurations + # # ESP-Driver:Temperature Sensor Configurations # # CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set -# CONFIG_TEMP_SENSOR_ISR_IRAM_SAFE is not set # end of ESP-Driver:Temperature Sensor Configurations # @@ -1079,15 +1090,16 @@ CONFIG_HTTPD_PURGE_BUF_LEN=32 # # Chip revision # -CONFIG_ESP32C6_REV_MIN_0=y -# CONFIG_ESP32C6_REV_MIN_1 is not set -CONFIG_ESP32C6_REV_MIN_FULL=0 +CONFIG_ESP32S3_REV_MIN_0=y +# CONFIG_ESP32S3_REV_MIN_1 is not set +# CONFIG_ESP32S3_REV_MIN_2 is not set +CONFIG_ESP32S3_REV_MIN_FULL=0 CONFIG_ESP_REV_MIN_FULL=0 # -# Maximum Supported ESP32-C6 Revision (Rev v0.99) +# Maximum Supported ESP32-S3 Revision (Rev v0.99) # -CONFIG_ESP32C6_REV_MAX_FULL=99 +CONFIG_ESP32S3_REV_MAX_FULL=99 CONFIG_ESP_REV_MAX_FULL=99 # end of Chip revision @@ -1098,22 +1110,22 @@ CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y -CONFIG_ESP_MAC_ADDR_UNIVERSE_IEEE802154=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 -# CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_TWO is not set -CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_FOUR=y -CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4 # CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set # end of MAC Config # # Sleep Config # -# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND=y # CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set -# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set +CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y +CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0 # CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set # CONFIG_ESP_SLEEP_DEBUG is not set @@ -1126,8 +1138,8 @@ CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y CONFIG_RTC_CLK_SRC_INT_RC=y # CONFIG_RTC_CLK_SRC_EXT_CRYS is not set # CONFIG_RTC_CLK_SRC_EXT_OSC is not set -# CONFIG_RTC_CLK_SRC_INT_RC32K is not set -CONFIG_RTC_CLK_CAL_CYCLES=576 +# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_RTC_CLK_CAL_CYCLES=1024 # end of RTC Clock Config # @@ -1136,12 +1148,6 @@ CONFIG_RTC_CLK_CAL_CYCLES=576 CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y # end of Peripheral Control -# -# ETM Configuration -# -# CONFIG_ETM_ENABLE_DEBUG_LOG is not set -# end of ETM Configuration - # # GDMA Configurations # @@ -1157,16 +1163,6 @@ CONFIG_XTAL_FREQ_40=y CONFIG_XTAL_FREQ=40 # end of Main XTAL Config -# -# Crypto DPA Protection -# -CONFIG_ESP_CRYPTO_DPA_PROTECTION_AT_STARTUP=y -CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_LOW=y -# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_MEDIUM is not set -# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_HIGH is not set -CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL=1 -# end of Crypto DPA Protection - CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y # end of Hardware Settings @@ -1181,7 +1177,10 @@ CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y # # LCD Peripheral Configuration # +CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 # CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set +# CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set # end of LCD Peripheral Configuration # end of LCD and Touch Panel @@ -1211,6 +1210,8 @@ CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 CONFIG_ESP_PHY_MAX_TX_POWER=20 # CONFIG_ESP_PHY_REDUCE_TX_POWER is not set +CONFIG_ESP_PHY_ENABLE_USB=y +# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set CONFIG_ESP_PHY_RF_CAL_PARTIAL=y # CONFIG_ESP_PHY_RF_CAL_NONE is not set # CONFIG_ESP_PHY_RF_CAL_FULL is not set @@ -1222,13 +1223,46 @@ CONFIG_ESP_PHY_CALIBRATION_MODE=0 # Power Management # # CONFIG_PM_ENABLE is not set +CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y -# CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP is not set +CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y # end of Power Management # # ESP PSRAM # +CONFIG_SPIRAM=y + +# +# SPI RAM config +# +# CONFIG_SPIRAM_MODE_QUAD is not set +CONFIG_SPIRAM_MODE_OCT=y +CONFIG_SPIRAM_TYPE_AUTO=y +# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set +CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y +CONFIG_SPIRAM_CLK_IO=30 +CONFIG_SPIRAM_CS_IO=26 +# CONFIG_SPIRAM_XIP_FROM_PSRAM is not set +CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y +CONFIG_SPIRAM_RODATA=y +# CONFIG_SPIRAM_SPEED_120M is not set +CONFIG_SPIRAM_SPEED_80M=y +# CONFIG_SPIRAM_SPEED_40M is not set +CONFIG_SPIRAM_SPEED=80 +# CONFIG_SPIRAM_ECC_ENABLE is not set +CONFIG_SPIRAM_BOOT_INIT=y +# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set +# CONFIG_SPIRAM_USE_MEMMAP is not set +# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set +CONFIG_SPIRAM_USE_MALLOC=y +CONFIG_SPIRAM_MEMTEST=y +CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384 +# CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set +CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 +# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set +# end of SPI RAM config +# end of ESP PSRAM # # ESP Ringbuf @@ -1240,9 +1274,49 @@ CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y # ESP System Settings # # CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_120 is not set -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 + +# +# Cache config +# +CONFIG_ESP32S3_INSTRUCTION_CACHE_16KB=y +# CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB is not set +CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE=0x4000 +# CONFIG_ESP32S3_INSTRUCTION_CACHE_4WAYS is not set +CONFIG_ESP32S3_INSTRUCTION_CACHE_8WAYS=y +CONFIG_ESP32S3_ICACHE_ASSOCIATED_WAYS=8 +# CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_16B is not set +CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_32B=y +CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_SIZE=32 +# CONFIG_ESP32S3_DATA_CACHE_16KB is not set +CONFIG_ESP32S3_DATA_CACHE_32KB=y +# CONFIG_ESP32S3_DATA_CACHE_64KB is not set +CONFIG_ESP32S3_DATA_CACHE_SIZE=0x8000 +# CONFIG_ESP32S3_DATA_CACHE_4WAYS is not set +CONFIG_ESP32S3_DATA_CACHE_8WAYS=y +CONFIG_ESP32S3_DCACHE_ASSOCIATED_WAYS=8 +# CONFIG_ESP32S3_DATA_CACHE_LINE_16B is not set +# CONFIG_ESP32S3_DATA_CACHE_LINE_32B is not set +CONFIG_ESP32S3_DATA_CACHE_LINE_64B=y +CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=64 +# end of Cache config + +# +# Memory +# +# CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM is not set +# CONFIG_ESP32S3_USE_FIXED_STATIC_RAM_SIZE is not set +# end of Memory + +# +# Trace memory +# +# CONFIG_ESP32S3_TRAX is not set +CONFIG_ESP32S3_TRACEMEM_RESERVE_DRAM=0x0 +# end of Trace memory + # CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y # CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set @@ -1251,12 +1325,12 @@ CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y -# CONFIG_ESP_SYSTEM_USE_EH_FRAME is not set # # Memory protection # -CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y # end of Memory protection CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 @@ -1267,6 +1341,7 @@ CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# CONFIG_ESP_CONSOLE_USB_CDC is not set # CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set # CONFIG_ESP_CONSOLE_UART_CUSTOM is not set # CONFIG_ESP_CONSOLE_NONE is not set @@ -1277,13 +1352,8 @@ CONFIG_ESP_CONSOLE_UART=y CONFIG_ESP_CONSOLE_UART_NUM=0 CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 -CONFIG_ESP_INT_WDT=y -CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 -CONFIG_ESP_TASK_WDT_EN=y -CONFIG_ESP_TASK_WDT_INIT=y -# CONFIG_ESP_TASK_WDT_PANIC is not set -CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 -CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_ESP_INT_WDT is not set +# CONFIG_ESP_TASK_WDT_EN is not set # CONFIG_ESP_PANIC_HANDLER_IRAM is not set # CONFIG_ESP_DEBUG_STUBS_ENABLE is not set CONFIG_ESP_DEBUG_OCDAWARE=y @@ -1299,13 +1369,12 @@ CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set CONFIG_ESP_BROWNOUT_DET_LVL=7 # end of Brownout Detector CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y -CONFIG_ESP_SYSTEM_HW_STACK_GUARD=y CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y -CONFIG_ESP_SYSTEM_HW_PC_RECORD=y # end of ESP System Settings # @@ -1336,10 +1405,10 @@ CONFIG_ESP_TIMER_IMPL_SYSTIMER=y CONFIG_ESP_WIFI_ENABLED=y CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y -CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=16 +CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=32 CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y # CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 @@ -1349,17 +1418,18 @@ CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y CONFIG_ESP_WIFI_TX_BA_WIN=6 CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP_WIFI_RX_BA_WIN=6 +# CONFIG_ESP_WIFI_AMSDU_TX_ENABLED is not set CONFIG_ESP_WIFI_NVS_ENABLED=y CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 CONFIG_ESP_WIFI_IRAM_OPT=y -# CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set +CONFIG_ESP_WIFI_EXTRA_IRAM_OPT=y CONFIG_ESP_WIFI_RX_IRAM_OPT=y CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y CONFIG_ESP_WIFI_ENABLE_SAE_PK=y CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y -# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set +CONFIG_ESP_WIFI_SLP_IRAM_OPT=y CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 @@ -1372,16 +1442,15 @@ CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y +# CONFIG_ESP_WIFI_EAP_TLS1_3 is not set # CONFIG_ESP_WIFI_WAPI_PSK is not set # CONFIG_ESP_WIFI_SUITE_B_192 is not set # CONFIG_ESP_WIFI_11KV_SUPPORT is not set # CONFIG_ESP_WIFI_MBO_SUPPORT is not set +# CONFIG_ESP_WIFI_ENABLE_ROAMING_APP is not set # CONFIG_ESP_WIFI_DPP_SUPPORT is not set # CONFIG_ESP_WIFI_11R_SUPPORT is not set # CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set -# CONFIG_ESP_WIFI_ENABLE_WIFI_TX_STATS is not set -# CONFIG_ESP_WIFI_ENABLE_WIFI_RX_STATS is not set -CONFIG_ESP_WIFI_TX_HETB_QUEUE_NUM=3 # # WPS Configuration Options @@ -1442,6 +1511,7 @@ CONFIG_FATFS_API_ENCODING_ANSI_OEM=y CONFIG_FATFS_FS_LOCK=0 CONFIG_FATFS_TIMEOUT_MS=10000 CONFIG_FATFS_PER_FILE_CACHE=y +CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y # CONFIG_FATFS_USE_FASTSEEK is not set CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 # CONFIG_FATFS_IMMEDIATE_FSYNC is not set @@ -1458,7 +1528,7 @@ CONFIG_FATFS_LINK_LOCK=y # # CONFIG_FREERTOS_SMP is not set CONFIG_FREERTOS_UNICORE=y -CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_HZ=1000 CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set @@ -1498,7 +1568,7 @@ CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y # CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y -# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set +CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set # end of Port @@ -1516,8 +1586,9 @@ CONFIG_FREERTOS_NUMBER_OF_CORES=1 # CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y # CONFIG_HAL_ASSERTION_DISABLE is not set -CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=0 -CONFIG_HAL_SYSTIMER_USE_ROM_IMPL=y +# CONFIG_HAL_ASSERTION_SILENT is not set +# CONFIG_HAL_ASSERTION_ENABLE is not set +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 CONFIG_HAL_WDT_USE_ROM_IMPL=y CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y @@ -1535,26 +1606,9 @@ CONFIG_HEAP_TRACING_OFF=y # CONFIG_HEAP_USE_HOOKS is not set # CONFIG_HEAP_TASK_TRACKING is not set # CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set -CONFIG_HEAP_TLSF_USE_ROM_IMPL=y +# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set # end of Heap memory debugging -# -# IEEE 802.15.4 -# -CONFIG_IEEE802154_ENABLED=y -CONFIG_IEEE802154_RX_BUFFER_SIZE=20 -# CONFIG_IEEE802154_CCA_CARRIER is not set -CONFIG_IEEE802154_CCA_ED=y -# CONFIG_IEEE802154_CCA_CARRIER_OR_ED is not set -# CONFIG_IEEE802154_CCA_CARRIER_AND_ED is not set -CONFIG_IEEE802154_CCA_MODE=1 -CONFIG_IEEE802154_CCA_THRESHOLD=-60 -CONFIG_IEEE802154_PENDING_TABLE_SIZE=20 -# CONFIG_IEEE802154_MULTI_PAN_ENABLE is not set -# CONFIG_IEEE802154_TIMING_OPTIMIZATION is not set -# CONFIG_IEEE802154_DEBUG is not set -# end of IEEE 802.15.4 - # # Log output # @@ -1720,6 +1774,7 @@ CONFIG_LWIP_DNS_MAX_SERVERS=3 # end of DNS CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 +CONFIG_LWIP_ESP_LWIP_ASSERT=y # # Hooks @@ -1751,6 +1806,7 @@ CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y # mbedTLS # CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC is not set # CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set # CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y @@ -1789,12 +1845,10 @@ CONFIG_MBEDTLS_AES_USE_INTERRUPT=y CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y CONFIG_MBEDTLS_HARDWARE_MPI=y -# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set +CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_HARDWARE_SHA=y -CONFIG_MBEDTLS_HARDWARE_ECC=y -CONFIG_MBEDTLS_ECC_OTHER_CURVES_SOFT_FALLBACK=y CONFIG_MBEDTLS_ROM_MD5=y # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set # CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set @@ -1913,6 +1967,8 @@ CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y # CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set # end of Newlib +CONFIG_STDATOMIC_S32C1I_SPIRAM_WORKAROUND=y + # # NVS # @@ -1940,7 +1996,7 @@ CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53" CONFIG_OPENTHREAD_XTAL_ACCURACY=130 # CONFIG_OPENTHREAD_SPINEL_ONLY is not set -CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE=y +# CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE is not set # # Thread Address Query Config @@ -1992,6 +2048,14 @@ CONFIG_SPI_FLASH_BROWNOUT_RESET=y # # Features here require specific hardware (READ DOCS FIRST!) # +# CONFIG_SPI_FLASH_HPM_ENA is not set +CONFIG_SPI_FLASH_HPM_AUTO=y +# CONFIG_SPI_FLASH_HPM_DIS is not set +CONFIG_SPI_FLASH_HPM_ON=y +CONFIG_SPI_FLASH_HPM_DC_AUTO=y +# CONFIG_SPI_FLASH_HPM_DC_DISABLE is not set +CONFIG_SPI_FLASH_SUSPEND_QVL_SUPPORTED=y +# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 # end of Optional and Experimental Features (READ DOCS FIRST) # end of Main Flash configuration @@ -2019,12 +2083,19 @@ CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 # Auto-detect flash chips # CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y -CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y -CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y -CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y -CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y -CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP=y -CONFIG_SPI_FLASH_SUPPORT_TH_CHIP=y +CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_TH_SUPPORTED=y +# CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_GD_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set +CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP=y # end of Auto-detect flash chips CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y @@ -2102,6 +2173,28 @@ CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y # CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set # end of Unity unit testing library +# +# USB-OTG +# +CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256 +CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y +# CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set +# CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set + +# +# Root Hub configuration +# +CONFIG_USB_HOST_DEBOUNCE_DELAY_MS=250 +CONFIG_USB_HOST_RESET_HOLD_MS=30 +CONFIG_USB_HOST_RESET_RECOVERY_MS=30 +CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10 +# end of Root Hub configuration + +# CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set +# CONFIG_USB_HOST_EXT_HUB_SUPPORT is not set +CONFIG_USB_OTG_SUPPORTED=y +# end of USB-OTG + # # Virtual file system # @@ -2164,9 +2257,8 @@ CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 # # Memory settings # -# CONFIG_LV_MEM_CUSTOM is not set -CONFIG_LV_MEM_SIZE_KILOBYTES=32 -CONFIG_LV_MEM_ADDR=0x0 +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEM_CUSTOM_INCLUDE="stdlib.h" CONFIG_LV_MEM_BUF_MAX_NUM=16 # CONFIG_LV_MEMCPY_MEMSET_STD is not set # end of Memory settings @@ -2174,10 +2266,10 @@ CONFIG_LV_MEM_BUF_MAX_NUM=16 # # HAL Settings # -CONFIG_LV_DISP_DEF_REFR_PERIOD=10 +CONFIG_LV_DISP_DEF_REFR_PERIOD=5 CONFIG_LV_INDEV_DEF_READ_PERIOD=30 # CONFIG_LV_TICK_CUSTOM is not set -CONFIG_LV_DPI_DEF=130 +CONFIG_LV_DPI_DEF=217 # end of HAL Settings # @@ -2231,7 +2323,6 @@ CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" # Others # # CONFIG_LV_USE_PERF_MONITOR is not set -# CONFIG_LV_USE_MEM_MONITOR is not set # CONFIG_LV_USE_REFR_DEBUG is not set # CONFIG_LV_SPRINTF_CUSTOM is not set # CONFIG_LV_SPRINTF_USE_FLOAT is not set @@ -2244,7 +2335,7 @@ CONFIG_LV_USE_USER_DATA=y # # CONFIG_LV_BIG_ENDIAN_SYSTEM is not set CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 -# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set +CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y # CONFIG_LV_USE_LARGE_COORD is not set # end of Compiler settings # end of Feature configuration @@ -2256,7 +2347,7 @@ CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 # # Enable built-in fonts # -# CONFIG_LV_FONT_MONTSERRAT_8 is not set +CONFIG_LV_FONT_MONTSERRAT_8=y CONFIG_LV_FONT_MONTSERRAT_10=y CONFIG_LV_FONT_MONTSERRAT_12=y CONFIG_LV_FONT_MONTSERRAT_14=y @@ -2323,7 +2414,7 @@ CONFIG_LV_USE_FONT_PLACEHOLDER=y # CONFIG_LV_TXT_ENC_UTF8=y # CONFIG_LV_TXT_ENC_ASCII is not set -CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_)]}" +CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_" CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0 CONFIG_LV_TXT_COLOR_CMD="#" # CONFIG_LV_USE_BIDI is not set @@ -2409,7 +2500,7 @@ CONFIG_LV_USE_GRID=y # CONFIG_LV_USE_PNG is not set # CONFIG_LV_USE_BMP is not set # CONFIG_LV_USE_SJPG is not set -# CONFIG_LV_USE_GIF is not set +CONFIG_LV_USE_GIF=y # CONFIG_LV_USE_QRCODE is not set # CONFIG_LV_USE_FREETYPE is not set # CONFIG_LV_USE_TINY_TTF is not set @@ -2432,7 +2523,7 @@ CONFIG_LV_USE_SNAPSHOT=y # # Examples # -CONFIG_LV_BUILD_EXAMPLES=y +# CONFIG_LV_BUILD_EXAMPLES is not set # end of Examples # @@ -2534,7 +2625,9 @@ CONFIG_LV_TFT_CUSTOM_SPI_CLK_DIVIDER=2 # Display Pin Assignments # CONFIG_LV_DISP_SPI_MOSI=23 -# CONFIG_LV_DISPLAY_USE_SPI_MISO is not set +CONFIG_LV_DISPLAY_USE_SPI_MISO=y +CONFIG_LV_DISP_SPI_MISO=19 +CONFIG_LV_DISP_SPI_INPUT_DELAY_NS=0 CONFIG_LV_DISP_SPI_CLK=18 CONFIG_LV_DISPLAY_USE_SPI_CS=y CONFIG_LV_DISP_SPI_CS=17 @@ -2549,54 +2642,61 @@ CONFIG_LV_DISP_BACKLIGHT_SWITCH=y # CONFIG_LV_DISP_BACKLIGHT_PWM is not set CONFIG_LV_BACKLIGHT_ACTIVE_LVL=y CONFIG_LV_DISP_PIN_BCKL=32 +CONFIG_LV_I2C=y CONFIG_LV_I2C_DISPLAY_PORT=0 # end of LVGL TFT Display controller # # LVGL Touch controller # -CONFIG_LV_TOUCH_CONTROLLER=1 +CONFIG_LV_TOUCH_CONTROLLER=7 # CONFIG_LV_TOUCH_CONTROLLER_NONE is not set -CONFIG_LV_TOUCH_CONTROLLER_XPT2046=y +# CONFIG_LV_TOUCH_CONTROLLER_XPT2046 is not set # CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set # CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set # CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set # CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set # CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set -# CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set -CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI=y -CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST=y -# CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST is not set +CONFIG_LV_TOUCH_CONTROLLER_GT911=y +CONFIG_LV_I2C_TOUCH=y # -# Touchpanel (XPT2046) Pin Assignments +# Touchpanel Configuration (GT911) # -CONFIG_LV_TOUCH_SPI_MISO=19 -CONFIG_LV_TOUCH_SPI_MOSI=23 -CONFIG_LV_TOUCH_SPI_CLK=18 -CONFIG_LV_TOUCH_SPI_CS=5 -CONFIG_LV_TOUCH_PIN_IRQ=25 -# end of Touchpanel (XPT2046) Pin Assignments - -# -# Touchpanel Configuration (XPT2046) -# -CONFIG_LV_TOUCH_X_MIN=200 -CONFIG_LV_TOUCH_Y_MIN=120 -CONFIG_LV_TOUCH_X_MAX=1900 -CONFIG_LV_TOUCH_Y_MAX=1900 -CONFIG_LV_TOUCH_XY_SWAP=y -CONFIG_LV_TOUCH_INVERT_X=y -# CONFIG_LV_TOUCH_INVERT_Y is not set -# CONFIG_LV_TOUCH_DETECT_IRQ is not set -CONFIG_LV_TOUCH_DETECT_IRQ_PRESSURE=y -# CONFIG_LV_TOUCH_DETECT_PRESSURE is not set -# end of Touchpanel Configuration (XPT2046) +CONFIG_LV_GT911_SWAPXY=y +# CONFIG_LV_GT911_INVERT_X is not set +CONFIG_LV_GT911_INVERT_Y=y +# end of Touchpanel Configuration (GT911) +CONFIG_LV_I2C_TOUCH_PORT_0=y +# CONFIG_LV_I2C_TOUCH_PORT_1 is not set CONFIG_LV_I2C_TOUCH_PORT=0 # end of LVGL Touch controller # end of LVGL ESP Drivers +# +# I2C Port Settings +# + +# +# I2C Port 0 +# +CONFIG_I2C_MANAGER_0_ENABLED=y +CONFIG_I2C_MANAGER_0_SDA=19 +CONFIG_I2C_MANAGER_0_SCL=20 +CONFIG_I2C_MANAGER_0_FREQ_HZ=400000 +CONFIG_I2C_MANAGER_0_TIMEOUT=100 +CONFIG_I2C_MANAGER_0_LOCK_TIMEOUT=50 +# CONFIG_I2C_MANAGER_0_PULLUPS is not set +# end of I2C Port 0 + +# +# I2C Port 1 +# +# CONFIG_I2C_MANAGER_1_ENABLED is not set +# end of I2C Port 1 +# end of I2C Port Settings + # # mDNS # @@ -2627,7 +2727,7 @@ CONFIG_MDNS_PREDEF_NETIF_ETH=y # end of mDNS # end of Component config -# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set +CONFIG_IDF_EXPERIMENTAL_FEATURES=y # Deprecated options for backward compatibility # CONFIG_APP_BUILD_TYPE_ELF_RAM is not set @@ -2641,9 +2741,9 @@ CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y CONFIG_LOG_BOOTLOADER_LEVEL=3 # CONFIG_APP_ROLLBACK_ENABLE is not set # CONFIG_FLASH_ENCRYPTION_ENABLED is not set -# CONFIG_FLASHMODE_QIO is not set +CONFIG_FLASHMODE_QIO=y # CONFIG_FLASHMODE_QOUT is not set -CONFIG_FLASHMODE_DIO=y +# CONFIG_FLASHMODE_DIO is not set # CONFIG_FLASHMODE_DOUT is not set CONFIG_MONITOR_BAUD=115200 # CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set @@ -2651,10 +2751,10 @@ CONFIG_MONITOR_BAUD=115200 # CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set CONFIG_OPTIMIZATION_LEVEL_RELEASE=y CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y -# CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED is not set +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y # CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set -CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED=y -CONFIG_OPTIMIZATION_ASSERTION_LEVEL=0 +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 # CONFIG_CXX_EXCEPTIONS is not set CONFIG_STACK_CHECK_NONE=y # CONFIG_STACK_CHECK_NORM is not set @@ -2667,6 +2767,7 @@ CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y # CONFIG_BLUEDROID_ENABLED is not set CONFIG_NIMBLE_ENABLED=y CONFIG_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y +# CONFIG_NIMBLE_MEM_ALLOC_MODE_EXTERNAL is not set # CONFIG_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set CONFIG_NIMBLE_MAX_CONNECTIONS=3 CONFIG_NIMBLE_MAX_BONDS=3 @@ -2714,7 +2815,13 @@ CONFIG_POST_EVENTS_FROM_IRAM_ISR=y CONFIG_GDBSTUB_SUPPORT_TASKS=y CONFIG_GDBSTUB_MAX_TASKS=32 # CONFIG_OTA_ALLOW_HTTP is not set -# CONFIG_ESP_SYSTEM_PD_FLASH is not set +CONFIG_ESP32S3_DEEP_SLEEP_WAKEUP_DELAY=0 +CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=0 +CONFIG_ESP32S3_RTC_CLK_SRC_INT_RC=y +# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32S3_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_ESP32S3_RTC_CLK_CAL_CYCLES=1024 CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y # CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 @@ -2722,6 +2829,14 @@ CONFIG_ESP32_PHY_MAX_TX_POWER=20 # CONFIG_REDUCE_PHY_TX_POWER is not set # CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y +CONFIG_PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP=y +CONFIG_ESP32S3_SPIRAM_SUPPORT=y +CONFIG_DEFAULT_PSRAM_CLK_IO=30 +CONFIG_DEFAULT_PSRAM_CS_IO=26 +# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_80 is not set +# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_160 is not set +CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240=y +CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ=240 CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 CONFIG_MAIN_TASK_STACK_SIZE=3584 @@ -2732,31 +2847,37 @@ CONFIG_CONSOLE_UART_DEFAULT=y CONFIG_CONSOLE_UART=y CONFIG_CONSOLE_UART_NUM=0 CONFIG_CONSOLE_UART_BAUDRATE=115200 -CONFIG_INT_WDT=y -CONFIG_INT_WDT_TIMEOUT_MS=300 -CONFIG_TASK_WDT=y -CONFIG_ESP_TASK_WDT=y -# CONFIG_TASK_WDT_PANIC is not set -CONFIG_TASK_WDT_TIMEOUT_S=5 -CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_INT_WDT is not set # CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP32S3_DEBUG_OCDAWARE=y CONFIG_BROWNOUT_DET=y +CONFIG_ESP32S3_BROWNOUT_DET=y +CONFIG_ESP32S3_BROWNOUT_DET=y CONFIG_BROWNOUT_DET_LVL_SEL_7=y +CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_7=y # CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_6 is not set # CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_5 is not set # CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_4 is not set # CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_3 is not set # CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_1 is not set CONFIG_BROWNOUT_DET_LVL=7 +CONFIG_ESP32S3_BROWNOUT_DET_LVL=7 CONFIG_IPC_TASK_STACK_SIZE=1024 CONFIG_TIMER_TASK_STACK_SIZE=3584 CONFIG_ESP32_WIFI_ENABLED=y CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y -CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 +CONFIG_ESP32_WIFI_CACHE_TX_BUFFER_NUM=32 # CONFIG_ESP32_WIFI_CSI_ENABLED is not set CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y CONFIG_ESP32_WIFI_TX_BA_WIN=6 @@ -2764,6 +2885,7 @@ CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP32_WIFI_RX_BA_WIN=6 CONFIG_ESP32_WIFI_RX_BA_WIN=6 +# CONFIG_ESP32_WIFI_AMSDU_TX_ENABLED is not set CONFIG_ESP32_WIFI_NVS_ENABLED=y CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 @@ -2790,6 +2912,7 @@ CONFIG_TIMER_TASK_PRIORITY=1 CONFIG_TIMER_TASK_STACK_DEPTH=2048 CONFIG_TIMER_QUEUE_LENGTH=10 # CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set # CONFIG_L2_TO_L3_COPY is not set CONFIG_ESP_GRATUITOUS_ARP=y CONFIG_GARP_TMR_INTERVAL=60 @@ -2811,6 +2934,12 @@ CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y # CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF # CONFIG_PPP_SUPPORT is not set +CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_SYSTIMER=y +CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_FRC1=y +# CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_SYSTIMER is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_FRC1 is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_NONE is not set CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 CONFIG_ESP32_PTHREAD_STACK_MIN=768 diff --git a/configs/sdkconfig.awokmini b/configs/sdkconfig_default similarity index 97% rename from configs/sdkconfig.awokmini rename to configs/sdkconfig_default index ffaa782a..768b194f 100644 --- a/configs/sdkconfig.awokmini +++ b/configs/sdkconfig_default @@ -836,7 +836,6 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # # ESP-Driver:SPI Configurations # -# CONFIG_SPI_MASTER_IN_IRAM is not set CONFIG_SPI_MASTER_ISR_IN_IRAM=y # CONFIG_SPI_SLAVE_IN_IRAM is not set CONFIG_SPI_SLAVE_ISR_IN_IRAM=y @@ -975,7 +974,7 @@ CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y # CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y -# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set +CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0 # CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set # CONFIG_ESP_SLEEP_DEBUG is not set @@ -989,7 +988,7 @@ CONFIG_RTC_CLK_SRC_INT_RC=y # CONFIG_RTC_CLK_SRC_EXT_CRYS is not set # CONFIG_RTC_CLK_SRC_EXT_OSC is not set # CONFIG_RTC_CLK_SRC_INT_8MD256 is not set -CONFIG_RTC_CLK_CAL_CYCLES=576 +CONFIG_RTC_CLK_CAL_CYCLES=1024 # end of RTC Clock Config # @@ -1063,6 +1062,7 @@ CONFIG_ESP_PHY_CALIBRATION_MODE=0 # Power Management # # CONFIG_PM_ENABLE is not set +CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y # end of Power Management # @@ -1210,13 +1210,13 @@ CONFIG_ESP_WIFI_NVS_ENABLED=y CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 CONFIG_ESP_WIFI_IRAM_OPT=y -# CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set +CONFIG_ESP_WIFI_EXTRA_IRAM_OPT=y CONFIG_ESP_WIFI_RX_IRAM_OPT=y CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y CONFIG_ESP_WIFI_ENABLE_SAE_PK=y CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y -# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set +CONFIG_ESP_WIFI_SLP_IRAM_OPT=y CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 @@ -1351,7 +1351,7 @@ CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y CONFIG_FREERTOS_CORETIMER_0=y # CONFIG_FREERTOS_CORETIMER_1 is not set CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y -# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set +CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set # end of Port @@ -1624,7 +1624,7 @@ CONFIG_MBEDTLS_CMAC_C=y CONFIG_MBEDTLS_HARDWARE_AES=y CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y CONFIG_MBEDTLS_HARDWARE_MPI=y -# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set +CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y CONFIG_MBEDTLS_HARDWARE_SHA=y CONFIG_MBEDTLS_ROM_MD5=y # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set @@ -1770,7 +1770,7 @@ CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53" CONFIG_OPENTHREAD_XTAL_ACCURACY=130 # CONFIG_OPENTHREAD_SPINEL_ONLY is not set -CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE=y +# CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE is not set # # Thread Address Query Config @@ -1853,12 +1853,12 @@ CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y -CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y -CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y -CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y -CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y -CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP=y -CONFIG_SPI_FLASH_SUPPORT_TH_CHIP=y +# CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_GD_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set # end of Auto-detect flash chips CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y @@ -2008,7 +2008,7 @@ CONFIG_LV_MEM_BUF_MAX_NUM=16 # # HAL Settings # -CONFIG_LV_DISP_DEF_REFR_PERIOD=10 +CONFIG_LV_DISP_DEF_REFR_PERIOD=5 CONFIG_LV_INDEV_DEF_READ_PERIOD=30 # CONFIG_LV_TICK_CUSTOM is not set CONFIG_LV_DPI_DEF=130 @@ -2090,7 +2090,7 @@ CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 # # Enable built-in fonts # -# CONFIG_LV_FONT_MONTSERRAT_8 is not set +CONFIG_LV_FONT_MONTSERRAT_8=y CONFIG_LV_FONT_MONTSERRAT_10=y CONFIG_LV_FONT_MONTSERRAT_12=y CONFIG_LV_FONT_MONTSERRAT_14=y @@ -2157,7 +2157,7 @@ CONFIG_LV_USE_FONT_PLACEHOLDER=y # CONFIG_LV_TXT_ENC_UTF8=y # CONFIG_LV_TXT_ENC_ASCII is not set -CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_)]}" +CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_" CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0 CONFIG_LV_TXT_COLOR_CMD="#" # CONFIG_LV_USE_BIDI is not set @@ -2243,7 +2243,7 @@ CONFIG_LV_USE_GRID=y # CONFIG_LV_USE_PNG is not set # CONFIG_LV_USE_BMP is not set # CONFIG_LV_USE_SJPG is not set -# CONFIG_LV_USE_GIF is not set +CONFIG_LV_USE_GIF=y # CONFIG_LV_USE_QRCODE is not set # CONFIG_LV_USE_FREETYPE is not set # CONFIG_LV_USE_TINY_TTF is not set @@ -2266,7 +2266,7 @@ CONFIG_LV_USE_SNAPSHOT=y # # Examples # -CONFIG_LV_BUILD_EXAMPLES=y +# CONFIG_LV_BUILD_EXAMPLES is not set # end of Examples # @@ -2369,7 +2369,9 @@ CONFIG_LV_TFT_CUSTOM_SPI_CLK_DIVIDER=2 # Display Pin Assignments # CONFIG_LV_DISP_SPI_MOSI=23 -# CONFIG_LV_DISPLAY_USE_SPI_MISO is not set +CONFIG_LV_DISPLAY_USE_SPI_MISO=y +CONFIG_LV_DISP_SPI_MISO=19 +CONFIG_LV_DISP_SPI_INPUT_DELAY_NS=0 CONFIG_LV_DISP_SPI_CLK=18 CONFIG_LV_DISPLAY_USE_SPI_CS=y CONFIG_LV_DISP_SPI_CS=17 @@ -2391,44 +2393,15 @@ CONFIG_LV_I2C_DISPLAY_PORT=0 # # LVGL Touch controller # -CONFIG_LV_TOUCH_CONTROLLER=1 -# CONFIG_LV_TOUCH_CONTROLLER_NONE is not set -CONFIG_LV_TOUCH_CONTROLLER_XPT2046=y +CONFIG_LV_TOUCH_CONTROLLER=0 +CONFIG_LV_TOUCH_CONTROLLER_NONE=y +# CONFIG_LV_TOUCH_CONTROLLER_XPT2046 is not set # CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set # CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set # CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set # CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set # CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set # CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set -CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI=y -CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST=y -# CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST is not set - -# -# Touchpanel (XPT2046) Pin Assignments -# -CONFIG_LV_TOUCH_SPI_MISO=19 -CONFIG_LV_TOUCH_SPI_MOSI=23 -CONFIG_LV_TOUCH_SPI_CLK=18 -CONFIG_LV_TOUCH_SPI_CS=5 -CONFIG_LV_TOUCH_PIN_IRQ=25 -# end of Touchpanel (XPT2046) Pin Assignments - -# -# Touchpanel Configuration (XPT2046) -# -CONFIG_LV_TOUCH_X_MIN=200 -CONFIG_LV_TOUCH_Y_MIN=120 -CONFIG_LV_TOUCH_X_MAX=1900 -CONFIG_LV_TOUCH_Y_MAX=1900 -# CONFIG_LV_TOUCH_XY_SWAP is not set -# CONFIG_LV_TOUCH_INVERT_X is not set -# CONFIG_LV_TOUCH_INVERT_Y is not set -CONFIG_LV_TOUCH_DETECT_IRQ=y -# CONFIG_LV_TOUCH_DETECT_IRQ_PRESSURE is not set -# CONFIG_LV_TOUCH_DETECT_PRESSURE is not set -# end of Touchpanel Configuration (XPT2046) - CONFIG_LV_I2C_TOUCH_PORT=0 # end of LVGL Touch controller # end of LVGL ESP Drivers @@ -2588,7 +2561,7 @@ CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y # CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set # CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set # CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set -CONFIG_ESP32_RTC_CLK_CAL_CYCLES=576 +CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 # CONFIG_ESP32_XTAL_FREQ_26 is not set CONFIG_ESP32_XTAL_FREQ_40=y # CONFIG_ESP32_XTAL_FREQ_AUTO is not set diff --git a/configs/sdkconfig.screen.backup b/configs/sdkconfig_marauderv6 similarity index 99% rename from configs/sdkconfig.screen.backup rename to configs/sdkconfig_marauderv6 index 1871b05a..2ac60cfb 100644 --- a/configs/sdkconfig.screen.backup +++ b/configs/sdkconfig_marauderv6 @@ -450,7 +450,7 @@ CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y CONFIG_BT_NIMBLE_LOG_LEVEL_INFO=y # CONFIG_BT_NIMBLE_LOG_LEVEL_DEBUG is not set CONFIG_BT_NIMBLE_LOG_LEVEL=1 -CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=3 CONFIG_BT_NIMBLE_MAX_BONDS=3 CONFIG_BT_NIMBLE_MAX_CCCDS=8 CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM=0 @@ -478,8 +478,8 @@ CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE=0 # # Memory Settings # -CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=24 -CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=128 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=12 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=256 CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=24 CONFIG_BT_NIMBLE_MSYS_2_BLOCK_SIZE=320 CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=24 @@ -491,14 +491,16 @@ CONFIG_BT_NIMBLE_L2CAP_COC_SDU_BUFF_COUNT=1 # end of Memory Settings CONFIG_BT_NIMBLE_GATT_MAX_PROCS=4 -# CONFIG_BT_NIMBLE_HS_FLOW_CTRL is not set +CONFIG_BT_NIMBLE_HS_FLOW_CTRL=y +CONFIG_BT_NIMBLE_HS_FLOW_CTRL_ITVL=1000 +CONFIG_BT_NIMBLE_HS_FLOW_CTRL_THRESH=2 +CONFIG_BT_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y CONFIG_BT_NIMBLE_RPA_TIMEOUT=900 # CONFIG_BT_NIMBLE_MESH is not set CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000 # CONFIG_BT_NIMBLE_HOST_BASED_PRIVACY is not set -CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=y -CONFIG_BT_NIMBLE_MAX_CONN_REATTEMPT=3 +# CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT is not set CONFIG_BT_NIMBLE_WHITELIST_SIZE=12 # CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set # CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set @@ -2006,7 +2008,7 @@ CONFIG_LV_MEM_BUF_MAX_NUM=16 # # HAL Settings # -CONFIG_LV_DISP_DEF_REFR_PERIOD=30 +CONFIG_LV_DISP_DEF_REFR_PERIOD=5 CONFIG_LV_INDEV_DEF_READ_PERIOD=30 # CONFIG_LV_TICK_CUSTOM is not set CONFIG_LV_DPI_DEF=130 @@ -2088,7 +2090,7 @@ CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 # # Enable built-in fonts # -# CONFIG_LV_FONT_MONTSERRAT_8 is not set +CONFIG_LV_FONT_MONTSERRAT_8=y CONFIG_LV_FONT_MONTSERRAT_10=y CONFIG_LV_FONT_MONTSERRAT_12=y CONFIG_LV_FONT_MONTSERRAT_14=y @@ -2241,7 +2243,7 @@ CONFIG_LV_USE_GRID=y # CONFIG_LV_USE_PNG is not set # CONFIG_LV_USE_BMP is not set # CONFIG_LV_USE_SJPG is not set -# CONFIG_LV_USE_GIF is not set +CONFIG_LV_USE_GIF=y # CONFIG_LV_USE_QRCODE is not set # CONFIG_LV_USE_FREETYPE is not set # CONFIG_LV_USE_TINY_TTF is not set @@ -2400,8 +2402,8 @@ CONFIG_LV_TOUCH_CONTROLLER_XPT2046=y # CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set # CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI=y -# CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST is not set -CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST=y +CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST=y +# CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST is not set # # Touchpanel (XPT2046) Pin Assignments @@ -2506,7 +2508,7 @@ CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y CONFIG_NIMBLE_ENABLED=y CONFIG_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y # CONFIG_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set -CONFIG_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_NIMBLE_MAX_CONNECTIONS=3 CONFIG_NIMBLE_MAX_BONDS=3 CONFIG_NIMBLE_MAX_CCCDS=8 CONFIG_NIMBLE_L2CAP_COC_MAX_NUM=0 @@ -2527,13 +2529,16 @@ CONFIG_NIMBLE_SVC_GAP_DEVICE_NAME="nimble" CONFIG_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31 CONFIG_NIMBLE_ATT_PREFERRED_MTU=256 CONFIG_NIMBLE_SVC_GAP_APPEARANCE=0 -CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT=24 +CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT=12 CONFIG_BT_NIMBLE_ACL_BUF_COUNT=24 CONFIG_BT_NIMBLE_ACL_BUF_SIZE=255 CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE=70 CONFIG_BT_NIMBLE_HCI_EVT_HI_BUF_COUNT=30 CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT=8 -# CONFIG_NIMBLE_HS_FLOW_CTRL is not set +CONFIG_NIMBLE_HS_FLOW_CTRL=y +CONFIG_NIMBLE_HS_FLOW_CTRL_ITVL=1000 +CONFIG_NIMBLE_HS_FLOW_CTRL_THRESH=2 +CONFIG_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y CONFIG_NIMBLE_RPA_TIMEOUT=900 # CONFIG_NIMBLE_MESH is not set CONFIG_NIMBLE_CRYPTO_STACK_MBEDTLS=y @@ -2728,4 +2733,4 @@ CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y CONFIG_SUPPORT_TERMIOS=y CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 -# End of deprecated options +# End of deprecated options \ No newline at end of file diff --git a/configs/sdkconfig.esp32 b/configs/sdkconfig_waveshare7inch similarity index 61% rename from configs/sdkconfig.esp32 rename to configs/sdkconfig_waveshare7inch index 8bde7f3e..11b04006 100644 --- a/configs/sdkconfig.esp32 +++ b/configs/sdkconfig_waveshare7inch @@ -2,44 +2,57 @@ # Automatically generated file. DO NOT EDIT. # Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Configuration # -CONFIG_SOC_BROWNOUT_RESET_SUPPORTED="Not determined" -CONFIG_SOC_TWAI_BRP_DIV_SUPPORTED="Not determined" -CONFIG_SOC_DPORT_WORKAROUND="Not determined" -CONFIG_SOC_CAPS_ECO_VER_MAX=301 +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 CONFIG_SOC_ADC_SUPPORTED=y -CONFIG_SOC_DAC_SUPPORTED=y CONFIG_SOC_UART_SUPPORTED=y -CONFIG_SOC_MCPWM_SUPPORTED=y -CONFIG_SOC_GPTIMER_SUPPORTED=y -CONFIG_SOC_SDMMC_HOST_SUPPORTED=y -CONFIG_SOC_BT_SUPPORTED=y CONFIG_SOC_PCNT_SUPPORTED=y CONFIG_SOC_PHY_SUPPORTED=y CONFIG_SOC_WIFI_SUPPORTED=y -CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y CONFIG_SOC_TWAI_SUPPORTED=y -CONFIG_SOC_EFUSE_SUPPORTED=y -CONFIG_SOC_EMAC_SUPPORTED=y +CONFIG_SOC_GDMA_SUPPORTED=y +CONFIG_SOC_AHB_GDMA_SUPPORTED=y +CONFIG_SOC_GPTIMER_SUPPORTED=y +CONFIG_SOC_LCDCAM_SUPPORTED=y +CONFIG_SOC_MCPWM_SUPPORTED=y +CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y +CONFIG_SOC_CACHE_SUPPORT_WRAP=y CONFIG_SOC_ULP_SUPPORTED=y +CONFIG_SOC_ULP_FSM_SUPPORTED=y +CONFIG_SOC_RISCV_COPROC_SUPPORTED=y +CONFIG_SOC_BT_SUPPORTED=y +CONFIG_SOC_USB_OTG_SUPPORTED=y +CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y +CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y +CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y +CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y +CONFIG_SOC_EFUSE_SUPPORTED=y +CONFIG_SOC_SDMMC_HOST_SUPPORTED=y CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y CONFIG_SOC_RTC_MEM_SUPPORTED=y +CONFIG_SOC_PSRAM_DMA_CAPABLE=y +CONFIG_SOC_XT_WDT_SUPPORTED=y CONFIG_SOC_I2S_SUPPORTED=y CONFIG_SOC_RMT_SUPPORTED=y CONFIG_SOC_SDM_SUPPORTED=y CONFIG_SOC_GPSPI_SUPPORTED=y CONFIG_SOC_LEDC_SUPPORTED=y CONFIG_SOC_I2C_SUPPORTED=y +CONFIG_SOC_SYSTIMER_SUPPORTED=y CONFIG_SOC_SUPPORT_COEXISTENCE=y +CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y CONFIG_SOC_AES_SUPPORTED=y CONFIG_SOC_MPI_SUPPORTED=y CONFIG_SOC_SHA_SUPPORTED=y +CONFIG_SOC_HMAC_SUPPORTED=y +CONFIG_SOC_DIG_SIGN_SUPPORTED=y CONFIG_SOC_FLASH_ENC_SUPPORTED=y CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +CONFIG_SOC_MEMPROT_SUPPORTED=y CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y CONFIG_SOC_BOD_SUPPORTED=y -CONFIG_SOC_ULP_FSM_SUPPORTED=y CONFIG_SOC_CLK_TREE_SUPPORTED=y CONFIG_SOC_MPU_SUPPORTED=y CONFIG_SOC_WDT_SUPPORTED=y @@ -49,30 +62,36 @@ CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y CONFIG_SOC_PM_SUPPORTED=y -CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5 -CONFIG_SOC_XTAL_SUPPORT_26M=y CONFIG_SOC_XTAL_SUPPORT_40M=y -CONFIG_SOC_XTAL_SUPPORT_AUTO_DETECT=y +CONFIG_SOC_APPCPU_HAS_CLOCK_GATING_BUG=y CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +CONFIG_SOC_ADC_ARBITER_SUPPORTED=y +CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y +CONFIG_SOC_ADC_MONITOR_SUPPORTED=y CONFIG_SOC_ADC_DMA_SUPPORTED=y CONFIG_SOC_ADC_PERIPH_NUM=2 CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 CONFIG_SOC_ADC_ATTEN_NUM=4 CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 -CONFIG_SOC_ADC_PATT_LEN_MAX=16 -CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=9 +CONFIG_SOC_ADC_PATT_LEN_MAX=24 +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 -CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2 +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 -CONFIG_SOC_ADC_DIGI_MONITOR_NUM=0 -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=2 -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=20 -CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9 +CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y +CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y CONFIG_SOC_ADC_SHARED_POWER=y -CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y -CONFIG_SOC_IDCACHE_PER_CORE=y +CONFIG_SOC_APB_BACKUP_DMA=y +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y +CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y +CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y CONFIG_SOC_CPU_CORES_NUM=2 CONFIG_SOC_CPU_INTR_NUM=32 CONFIG_SOC_CPU_HAS_FPU=y @@ -80,48 +99,56 @@ CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64 -CONFIG_SOC_DAC_CHAN_NUM=2 -CONFIG_SOC_DAC_RESOLUTION=8 -CONFIG_SOC_DAC_DMA_16BIT_ALIGN=y +CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096 +CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 +CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 +CONFIG_SOC_AHB_GDMA_VERSION=1 +CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 +CONFIG_SOC_GDMA_PAIRS_PER_GROUP=5 +CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=5 +CONFIG_SOC_AHB_GDMA_SUPPORT_PSRAM=y CONFIG_SOC_GPIO_PORT=1 -CONFIG_SOC_GPIO_PIN_COUNT=40 -CONFIG_SOC_GPIO_VALID_GPIO_MASK=0xFFFFFFFFFF -CONFIG_SOC_GPIO_IN_RANGE_MAX=39 -CONFIG_SOC_GPIO_OUT_RANGE_MAX=33 -CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA +CONFIG_SOC_GPIO_PIN_COUNT=49 +CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y +CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y +CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y +CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y +CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x1FFFFFFFFFFFF +CONFIG_SOC_GPIO_IN_RANGE_MAX=48 +CONFIG_SOC_GPIO_OUT_RANGE_MAX=48 +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000 CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y CONFIG_SOC_I2C_NUM=2 CONFIG_SOC_HP_I2C_NUM=2 CONFIG_SOC_I2C_FIFO_LEN=32 -CONFIG_SOC_I2C_CMD_REG_NUM=16 +CONFIG_SOC_I2C_CMD_REG_NUM=8 CONFIG_SOC_I2C_SUPPORT_SLAVE=y -CONFIG_SOC_I2C_SUPPORT_APB=y -CONFIG_SOC_I2C_STOP_INDEPENDENT=y +CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y +CONFIG_SOC_I2C_SUPPORT_XTAL=y +CONFIG_SOC_I2C_SUPPORT_RTC=y +CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y CONFIG_SOC_I2S_NUM=2 -CONFIG_SOC_I2S_HW_VERSION_1=y -CONFIG_SOC_I2S_SUPPORTS_APLL=y +CONFIG_SOC_I2S_HW_VERSION_2=y +CONFIG_SOC_I2S_SUPPORTS_XTAL=y CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y +CONFIG_SOC_I2S_SUPPORTS_PCM=y CONFIG_SOC_I2S_SUPPORTS_PDM=y CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y -CONFIG_SOC_I2S_PDM_MAX_TX_LINES=1 +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y -CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1 -CONFIG_SOC_I2S_SUPPORTS_ADC_DAC=y -CONFIG_SOC_I2S_SUPPORTS_ADC=y -CONFIG_SOC_I2S_SUPPORTS_DAC=y -CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y -CONFIG_SOC_I2S_TRANS_SIZE_ALIGN_WORD=y -CONFIG_SOC_I2S_LCD_I80_VARIANT=y -CONFIG_SOC_LCD_I80_SUPPORTED=y -CONFIG_SOC_LCD_I80_BUSES=2 -CONFIG_SOC_LCD_I80_BUS_WIDTH=24 -CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=4 +CONFIG_SOC_I2S_SUPPORTS_TDM=y CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y -CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y -CONFIG_SOC_LEDC_SUPPORT_HS_MODE=y +CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y CONFIG_SOC_LEDC_CHANNEL_NUM=8 -CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 +CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y CONFIG_SOC_MCPWM_GROUPS=2 CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 @@ -132,116 +159,208 @@ CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 -CONFIG_SOC_MMU_PERIPH_NUM=2 -CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=3 -CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 -CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 +CONFIG_SOC_MMU_PERIPH_NUM=1 CONFIG_SOC_PCNT_GROUPS=1 -CONFIG_SOC_PCNT_UNITS_PER_GROUP=8 +CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 CONFIG_SOC_RMT_GROUPS=1 -CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=8 -CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=8 +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4 +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4 CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 -CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64 -CONFIG_SOC_RMT_SUPPORT_REF_TICK=y +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 +CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y +CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y +CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y +CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y +CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y +CONFIG_SOC_RMT_SUPPORT_XTAL=y +CONFIG_SOC_RMT_SUPPORT_RC_FAST=y CONFIG_SOC_RMT_SUPPORT_APB=y -CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y -CONFIG_SOC_RTCIO_PIN_COUNT=18 +CONFIG_SOC_RMT_SUPPORT_DMA=y +CONFIG_SOC_LCD_I80_SUPPORTED=y +CONFIG_SOC_LCD_RGB_SUPPORTED=y +CONFIG_SOC_LCD_I80_BUSES=1 +CONFIG_SOC_LCD_RGB_PANELS=1 +CONFIG_SOC_LCD_I80_BUS_WIDTH=16 +CONFIG_SOC_LCD_RGB_DATA_WIDTH=16 +CONFIG_SOC_LCD_SUPPORT_RGB_YUV_CONV=y +CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 +CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549 +CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128 +CONFIG_SOC_RTCIO_PIN_COUNT=22 CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y -CONFIG_SOC_SDM_GROUPS=1 +CONFIG_SOC_SDM_GROUPS=y CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 CONFIG_SOC_SDM_CLK_SUPPORT_APB=y -CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y -CONFIG_SOC_SPI_AS_CS_SUPPORTED=y CONFIG_SOC_SPI_PERIPH_NUM=3 -CONFIG_SOC_SPI_DMA_CHAN_NUM=2 -CONFIG_SOC_SPI_MAX_CS_NUM=3 -CONFIG_SOC_SPI_SUPPORT_CLK_APB=y +CONFIG_SOC_SPI_MAX_CS_NUM=6 CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 -CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192 +CONFIG_SOC_SPI_SUPPORT_DDRCLK=y +CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y +CONFIG_SOC_SPI_SUPPORT_CD_SIG=y +CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y +CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +CONFIG_SOC_SPI_SUPPORT_CLK_APB=y +CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y +CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y +CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 +CONFIG_SOC_SPI_SUPPORT_OCT=y +CONFIG_SOC_SPI_SCT_SUPPORTED=y +CONFIG_SOC_SPI_SCT_REG_NUM=14 +CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y +CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA +CONFIG_SOC_MEMSPI_SRC_FREQ_120M=y CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y -CONFIG_SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y +CONFIG_SOC_SPIRAM_SUPPORTED=y +CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y +CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 +CONFIG_SOC_SYSTIMER_ALARM_NUM=3 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 +CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y +CONFIG_SOC_SYSTIMER_INT_LEVEL=y +CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y CONFIG_SOC_TIMER_GROUPS=2 CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 -CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64 -CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 +CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y -CONFIG_SOC_TOUCH_SENSOR_VERSION=1 -CONFIG_SOC_TOUCH_SENSOR_NUM=10 +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +CONFIG_SOC_TOUCH_SENSOR_VERSION=2 +CONFIG_SOC_TOUCH_SENSOR_NUM=15 +CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y +CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y +CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y +CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3 +CONFIG_SOC_TOUCH_PROXIMITY_MEAS_DONE_SUPPORTED=y CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 CONFIG_SOC_TWAI_CONTROLLER_NUM=1 -CONFIG_SOC_TWAI_BRP_MIN=2 CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y -CONFIG_SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT=y +CONFIG_SOC_TWAI_BRP_MIN=2 +CONFIG_SOC_TWAI_BRP_MAX=16384 +CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y CONFIG_SOC_UART_NUM=3 CONFIG_SOC_UART_HP_NUM=3 -CONFIG_SOC_UART_SUPPORT_APB_CLK=y -CONFIG_SOC_UART_SUPPORT_REF_TICK=y CONFIG_SOC_UART_FIFO_LEN=128 CONFIG_SOC_UART_BITRATE_MAX=5000000 -CONFIG_SOC_SPIRAM_SUPPORTED=y -CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y -CONFIG_SOC_SHA_SUPPORT_PARALLEL_ENG=y -CONFIG_SOC_SHA_ENDIANNESS_BE=y +CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y +CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y +CONFIG_SOC_UART_SUPPORT_APB_CLK=y +CONFIG_SOC_UART_SUPPORT_RTC_CLK=y +CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y +CONFIG_SOC_USB_OTG_PERIPH_NUM=1 +CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 +CONFIG_SOC_SHA_SUPPORT_DMA=y +CONFIG_SOC_SHA_SUPPORT_RESUME=y +CONFIG_SOC_SHA_GDMA=y CONFIG_SOC_SHA_SUPPORT_SHA1=y +CONFIG_SOC_SHA_SUPPORT_SHA224=y CONFIG_SOC_SHA_SUPPORT_SHA256=y CONFIG_SOC_SHA_SUPPORT_SHA384=y CONFIG_SOC_SHA_SUPPORT_SHA512=y +CONFIG_SOC_SHA_SUPPORT_SHA512_224=y +CONFIG_SOC_SHA_SUPPORT_SHA512_256=y +CONFIG_SOC_SHA_SUPPORT_SHA512_T=y CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 -CONFIG_SOC_MPI_OPERATIONS_NUM=y +CONFIG_SOC_MPI_OPERATIONS_NUM=3 CONFIG_SOC_RSA_MAX_BIT_LEN=4096 +CONFIG_SOC_AES_SUPPORT_DMA=y +CONFIG_SOC_AES_GDMA=y CONFIG_SOC_AES_SUPPORT_AES_128=y -CONFIG_SOC_AES_SUPPORT_AES_192=y CONFIG_SOC_AES_SUPPORT_AES_256=y -CONFIG_SOC_SECURE_BOOT_V1=y -CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y -CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 -CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_CPU_PD=y +CONFIG_SOC_PM_SUPPORT_TAGMEM_PD=y CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y -CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y -CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y CONFIG_SOC_PM_SUPPORT_MODEM_PD=y CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y -CONFIG_SOC_CLK_APLL_SUPPORTED=y +CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y +CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y +CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y -CONFIG_SOC_SDMMC_USE_IOMUX=y +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y +CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_USB_JTAG=y +CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y +CONFIG_SOC_EFUSE_DIS_ICACHE=y +CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y +CONFIG_SOC_SECURE_BOOT_V2_RSA=y +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 +CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y +CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y +CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 +CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=256 +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192 +CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y +CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_OPI_MODE=y +CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y +CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y +CONFIG_SOC_MEMSPI_CORE_CLK_SHARED_WITH_PSRAM=y +CONFIG_SOC_COEX_HW_PTI=y +CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y +CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y CONFIG_SOC_SDMMC_NUM_SLOTS=2 +CONFIG_SOC_SDMMC_SUPPORT_XTAL_CLOCK=y +CONFIG_SOC_SDMMC_DELAY_PHASE_NUM=4 +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y +CONFIG_SOC_WIFI_HW_TSF=y +CONFIG_SOC_WIFI_FTM_SUPPORT=y +CONFIG_SOC_WIFI_GCMP_SUPPORT=y CONFIG_SOC_WIFI_WAPI_SUPPORT=y CONFIG_SOC_WIFI_CSI_SUPPORT=y CONFIG_SOC_WIFI_MESH_SUPPORT=y CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y -CONFIG_SOC_WIFI_NAN_SUPPORT=y +CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y CONFIG_SOC_BLE_SUPPORTED=y CONFIG_SOC_BLE_MESH_SUPPORTED=y -CONFIG_SOC_BT_CLASSIC_SUPPORTED=y +CONFIG_SOC_BLE_50_SUPPORTED=y +CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y CONFIG_SOC_BLUFI_SUPPORTED=y -CONFIG_SOC_BT_H2C_ENC_KEY_CTRL_ENH_VSC_SUPPORTED=y CONFIG_SOC_ULP_HAS_ADC=y CONFIG_SOC_PHY_COMBO_MODULE=y -CONFIG_SOC_EMAC_RMII_CLK_OUT_INTERNAL_LOOPBACK=y CONFIG_IDF_CMAKE=y CONFIG_IDF_TOOLCHAIN="gcc" CONFIG_IDF_TARGET_ARCH_XTENSA=y CONFIG_IDF_TARGET_ARCH="xtensa" -CONFIG_IDF_TARGET="esp32" +CONFIG_IDF_TARGET="esp32s3" CONFIG_IDF_INIT_VERSION="5.3.1" -CONFIG_IDF_TARGET_ESP32=y -CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 +CONFIG_IDF_TARGET_ESP32S3=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009 # # Build type @@ -253,8 +372,6 @@ CONFIG_APP_BUILD_BOOTLOADER=y CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y # CONFIG_APP_REPRODUCIBLE_BUILD is not set # CONFIG_APP_NO_BLOBS is not set -# CONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set -# CONFIG_APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set # end of Build type # @@ -268,7 +385,7 @@ CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y CONFIG_BOOTLOADER_PROJECT_VER=1 # end of Bootloader manager -CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000 +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set @@ -288,7 +405,6 @@ CONFIG_BOOTLOADER_LOG_LEVEL=3 CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y # end of Serial Flash Configurations -# CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V is not set CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y # CONFIG_BOOTLOADER_FACTORY_RESET is not set # CONFIG_BOOTLOADER_APP_TEST is not set @@ -307,10 +423,12 @@ CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 # # Security features # -CONFIG_SECURE_BOOT_V1_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_PREFERRED=y # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set # CONFIG_SECURE_BOOT is not set # CONFIG_SECURE_FLASH_ENC_ENABLED is not set +CONFIG_SECURE_ROM_DL_MODE_ENABLED=y # end of Security features # @@ -327,40 +445,66 @@ CONFIG_ESP_ROM_HAS_CRC_LE=y CONFIG_ESP_ROM_HAS_CRC_BE=y CONFIG_ESP_ROM_HAS_MZ_CRC32=y CONFIG_ESP_ROM_HAS_JPEG_DECODE=y -CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y +CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y +CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y +CONFIG_ESP_ROM_USB_OTG_NUM=3 +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 +CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y +CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y +CONFIG_ESP_ROM_GET_CLK_FREQ=y +CONFIG_ESP_ROM_HAS_HAL_WDT=y CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y +CONFIG_ESP_ROM_HAS_SPI_FLASH=y +CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y CONFIG_ESP_ROM_HAS_NEWLIB=y CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y +CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y +CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y +CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y +CONFIG_ESP_ROM_HAS_CACHE_SUSPEND_WAITI_BUG=y +CONFIG_ESP_ROM_HAS_CACHE_WRITEBACK_BUG=y CONFIG_ESP_ROM_HAS_SW_FLOAT=y -CONFIG_ESP_ROM_USB_OTG_NUM=-1 -CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=-1 +CONFIG_ESP_ROM_HAS_VERSION=y CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y +# +# Boot ROM Behavior +# +CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y +# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set +# end of Boot ROM Behavior + # # Serial flasher config # # CONFIG_ESPTOOLPY_NO_STUB is not set -# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# CONFIG_ESPTOOLPY_OCT_FLASH is not set +CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=y +CONFIG_ESPTOOLPY_FLASHMODE_QIO=y # CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set -CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set # CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y CONFIG_ESPTOOLPY_FLASHMODE="dio" -# CONFIG_ESPTOOLPY_FLASHFREQ_80M is not set -CONFIG_ESPTOOLPY_FLASHFREQ_40M=y -# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set # CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set -CONFIG_ESPTOOLPY_FLASHFREQ="40m" +CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y +CONFIG_ESPTOOLPY_FLASHFREQ="80m" # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set -CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y -# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y # CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set -CONFIG_ESPTOOLPY_FLASHSIZE="4MB" +CONFIG_ESPTOOLPY_FLASHSIZE="8MB" # CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set CONFIG_ESPTOOLPY_BEFORE_RESET=y # CONFIG_ESPTOOLPY_BEFORE_NORESET is not set @@ -387,8 +531,8 @@ CONFIG_PARTITION_TABLE_MD5=y # # Compiler options # -CONFIG_COMPILER_OPTIMIZATION_DEBUG=y -# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set +# CONFIG_COMPILER_OPTIMIZATION_DEBUG is not set +CONFIG_COMPILER_OPTIMIZATION_SIZE=y # CONFIG_COMPILER_OPTIMIZATION_PERF is not set # CONFIG_COMPILER_OPTIMIZATION_NONE is not set CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y @@ -425,6 +569,7 @@ CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y CONFIG_APPTRACE_DEST_NONE=y # CONFIG_APPTRACE_DEST_UART1 is not set # CONFIG_APPTRACE_DEST_UART2 is not set +# CONFIG_APPTRACE_DEST_USB_CDC is not set CONFIG_APPTRACE_DEST_UART_NONE=y CONFIG_APPTRACE_UART_TASK_PRIO=1 CONFIG_APPTRACE_LOCK_ENABLE=y @@ -444,6 +589,7 @@ CONFIG_BT_CONTROLLER_ENABLED=y # NimBLE Options # CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y +# CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL is not set # CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set # CONFIG_BT_NIMBLE_LOG_LEVEL_NONE is not set # CONFIG_BT_NIMBLE_LOG_LEVEL_ERROR is not set @@ -455,8 +601,6 @@ CONFIG_BT_NIMBLE_MAX_CONNECTIONS=3 CONFIG_BT_NIMBLE_MAX_BONDS=3 CONFIG_BT_NIMBLE_MAX_CCCDS=8 CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM=0 -CONFIG_BT_NIMBLE_PINNED_TO_CORE_0=y -# CONFIG_BT_NIMBLE_PINNED_TO_CORE_1 is not set CONFIG_BT_NIMBLE_PINNED_TO_CORE=0 CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=4096 CONFIG_BT_NIMBLE_ROLE_CENTRAL=y @@ -502,8 +646,13 @@ CONFIG_BT_NIMBLE_RPA_TIMEOUT=900 # CONFIG_BT_NIMBLE_MESH is not set CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000 -# CONFIG_BT_NIMBLE_HOST_BASED_PRIVACY is not set # CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT is not set +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=y +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY=y +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY=y +# CONFIG_BT_NIMBLE_EXT_ADV is not set +CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS=0 +# CONFIG_BT_NIMBLE_GATT_CACHING is not set CONFIG_BT_NIMBLE_WHITELIST_SIZE=12 # CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set # CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set @@ -571,48 +720,77 @@ CONFIG_BT_NIMBLE_HCI_UART_CTS_PIN=23 # # Controller Options # -CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y -# CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY is not set -# CONFIG_BTDM_CTRL_MODE_BTDM is not set -CONFIG_BTDM_CTRL_BLE_MAX_CONN=3 -CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=0 -CONFIG_BTDM_CTRL_PCM_ROLE_EFF=0 -CONFIG_BTDM_CTRL_PCM_POLAR_EFF=0 -CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=3 -CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=0 -CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0 -CONFIG_BTDM_CTRL_PINNED_TO_CORE_0=y -# CONFIG_BTDM_CTRL_PINNED_TO_CORE_1 is not set -CONFIG_BTDM_CTRL_PINNED_TO_CORE=0 -CONFIG_BTDM_CTRL_HCI_MODE_VHCI=y -# CONFIG_BTDM_CTRL_HCI_MODE_UART_H4 is not set +CONFIG_BT_CTRL_MODE_EFF=1 +CONFIG_BT_CTRL_BLE_MAX_ACT=6 +CONFIG_BT_CTRL_BLE_MAX_ACT_EFF=6 +CONFIG_BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB=0 +CONFIG_BT_CTRL_PINNED_TO_CORE=0 +CONFIG_BT_CTRL_HCI_MODE_VHCI=y +# CONFIG_BT_CTRL_HCI_MODE_UART_H4 is not set +CONFIG_BT_CTRL_HCI_TL=1 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=30 +CONFIG_BT_BLE_CCA_MODE_NONE=y +# CONFIG_BT_BLE_CCA_MODE_HW is not set +# CONFIG_BT_BLE_CCA_MODE_SW is not set +CONFIG_BT_BLE_CCA_MODE=0 +CONFIG_BT_CTRL_HW_CCA_VAL=20 +CONFIG_BT_CTRL_HW_CCA_EFF=0 +CONFIG_BT_CTRL_CE_LENGTH_TYPE_ORIG=y +# CONFIG_BT_CTRL_CE_LENGTH_TYPE_CE is not set +# CONFIG_BT_CTRL_CE_LENGTH_TYPE_SD is not set +CONFIG_BT_CTRL_CE_LENGTH_TYPE_EFF=0 +CONFIG_BT_CTRL_TX_ANTENNA_INDEX_0=y +# CONFIG_BT_CTRL_TX_ANTENNA_INDEX_1 is not set +CONFIG_BT_CTRL_TX_ANTENNA_INDEX_EFF=0 +CONFIG_BT_CTRL_RX_ANTENNA_INDEX_0=y +# CONFIG_BT_CTRL_RX_ANTENNA_INDEX_1 is not set +CONFIG_BT_CTRL_RX_ANTENNA_INDEX_EFF=0 +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N24 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N21 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N18 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N15 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N12 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N9 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N6 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N3 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N0 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P3 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P6 is not set +CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P9=y +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P12 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P15 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P18 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P21 is not set +CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_EFF=11 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 +CONFIG_BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 +CONFIG_BT_CTRL_BLE_SCAN_DUPL=y +CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DEVICE=y +# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA is not set +# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA_DEVICE is not set +CONFIG_BT_CTRL_SCAN_DUPL_TYPE=0 +CONFIG_BT_CTRL_SCAN_DUPL_CACHE_SIZE=100 +CONFIG_BT_CTRL_DUPL_SCAN_CACHE_REFRESH_PERIOD=0 +# CONFIG_BT_CTRL_BLE_MESH_SCAN_DUPL_EN is not set +# CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EN is not set +CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_DIS=y +CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EFF=0 # # MODEM SLEEP Options # -CONFIG_BTDM_CTRL_MODEM_SLEEP=y -CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_ORIG=y -# CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_EVED is not set -CONFIG_BTDM_CTRL_LPCLK_SEL_MAIN_XTAL=y +# CONFIG_BT_CTRL_MODEM_SLEEP is not set # end of MODEM SLEEP Options -CONFIG_BTDM_BLE_DEFAULT_SCA_250PPM=y -CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1 -CONFIG_BTDM_BLE_SCAN_DUPL=y -CONFIG_BTDM_SCAN_DUPL_TYPE_DEVICE=y -# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA is not set -# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA_DEVICE is not set -CONFIG_BTDM_SCAN_DUPL_TYPE=0 -CONFIG_BTDM_SCAN_DUPL_CACHE_SIZE=100 -CONFIG_BTDM_SCAN_DUPL_CACHE_REFRESH_PERIOD=0 -# CONFIG_BTDM_BLE_MESH_SCAN_DUPL_EN is not set -CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED=y -# CONFIG_BTDM_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set -CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y -CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 -CONFIG_BTDM_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 -CONFIG_BTDM_RESERVE_DRAM=0xdb5c -CONFIG_BTDM_CTRL_HLI=y +CONFIG_BT_CTRL_SLEEP_MODE_EFF=0 +CONFIG_BT_CTRL_SLEEP_CLOCK_EFF=0 +CONFIG_BT_CTRL_HCI_TL_EFF=1 +# CONFIG_BT_CTRL_AGC_RECORRECT_EN is not set +# CONFIG_BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set +# CONFIG_BT_BLE_ADV_DATA_LENGTH_ZERO_AUX is not set +CONFIG_BT_CTRL_CHAN_ASS_EN=y +CONFIG_BT_CTRL_LE_PING_EN=y # end of Controller Options # @@ -640,35 +818,21 @@ CONFIG_BT_ALARM_MAX_NUM=50 # TWAI Configuration # # CONFIG_TWAI_ISR_IN_IRAM is not set -CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC=y -CONFIG_TWAI_ERRATA_FIX_TX_INTR_LOST=y -CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID=y -CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT=y CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y # end of TWAI Configuration # # Legacy ADC Driver Configuration # -CONFIG_ADC_DISABLE_DAC=y # CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set # # Legacy ADC Calibration Configuration # -CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y -CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y -CONFIG_ADC_CAL_LUT_ENABLE=y # CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set # end of Legacy ADC Calibration Configuration # end of Legacy ADC Driver Configuration -# -# Legacy DAC Driver Configurations -# -# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy DAC Driver Configurations - # # Legacy MCPWM Driver Configurations # @@ -704,6 +868,12 @@ CONFIG_ADC_CAL_LUT_ENABLE=y # # CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set # end of Legacy SDM Driver Configurations + +# +# Legacy Temperature Sensor Driver Configurations +# +# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy Temperature Sensor Driver Configurations # end of Driver Configurations # @@ -711,17 +881,14 @@ CONFIG_ADC_CAL_LUT_ENABLE=y # # CONFIG_EFUSE_CUSTOM_TABLE is not set # CONFIG_EFUSE_VIRTUAL is not set -# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set -CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y -# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set -CONFIG_EFUSE_MAX_BLK_LEN=192 +CONFIG_EFUSE_MAX_BLK_LEN=256 # end of eFuse Bit Manager # # ESP-TLS # CONFIG_ESP_TLS_USING_MBEDTLS=y -# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set +CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set # CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set # CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set @@ -735,16 +902,7 @@ CONFIG_ESP_TLS_USING_MBEDTLS=y # # CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set # CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set - -# -# ADC Calibration Configurations -# -CONFIG_ADC_CALI_EFUSE_TP_ENABLE=y -CONFIG_ADC_CALI_EFUSE_VREF_ENABLE=y -CONFIG_ADC_CALI_LUT_ENABLE=y -# end of ADC Calibration Configurations - -CONFIG_ADC_DISABLE_DAC_OUTPUT=y +# CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set # CONFIG_ADC_ENABLE_DEBUG_LOG is not set # end of ADC and ADC Calibration @@ -762,19 +920,9 @@ CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y CONFIG_ESP_ERR_TO_NAME_LOOKUP=y # end of Common ESP-related -# -# ESP-Driver:DAC Configurations -# -# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set -# CONFIG_DAC_ISR_IRAM_SAFE is not set -# CONFIG_DAC_ENABLE_DEBUG_LOG is not set -CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y -# end of ESP-Driver:DAC Configurations - # # ESP-Driver:GPIO Configurations # -# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set # CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set # end of ESP-Driver:GPIO Configurations @@ -841,7 +989,6 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # # ESP-Driver:SPI Configurations # -# CONFIG_SPI_MASTER_IN_IRAM is not set CONFIG_SPI_MASTER_ISR_IN_IRAM=y # CONFIG_SPI_SLAVE_IN_IRAM is not set CONFIG_SPI_SLAVE_ISR_IN_IRAM=y @@ -855,25 +1002,28 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y # CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:Touch Sensor Configurations +# +# ESP-Driver:Temperature Sensor Configurations +# +# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Temperature Sensor Configurations + # # ESP-Driver:UART Configurations # # CONFIG_UART_ISR_IN_IRAM is not set # end of ESP-Driver:UART Configurations +# +# ESP-Driver:USB Serial/JTAG Configuration +# +CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y +# end of ESP-Driver:USB Serial/JTAG Configuration + # # Ethernet # CONFIG_ETH_ENABLED=y -CONFIG_ETH_USE_ESP32_EMAC=y -CONFIG_ETH_PHY_INTERFACE_RMII=y -CONFIG_ETH_RMII_CLK_INPUT=y -# CONFIG_ETH_RMII_CLK_OUTPUT is not set -CONFIG_ETH_RMII_CLK_IN_GPIO=0 -CONFIG_ETH_DMA_BUFFER_SIZE=512 -CONFIG_ETH_DMA_RX_BUFFER_NUM=10 -CONFIG_ETH_DMA_TX_BUFFER_NUM=10 -# CONFIG_ETH_IRAM_OPTIMIZATION is not set CONFIG_ETH_USE_SPI_ETHERNET=y # CONFIG_ETH_SPI_ETHERNET_DM9051 is not set # CONFIG_ETH_SPI_ETHERNET_W5500 is not set @@ -940,21 +1090,17 @@ CONFIG_HTTPD_PURGE_BUF_LEN=32 # # Chip revision # -CONFIG_ESP32_REV_MIN_0=y -# CONFIG_ESP32_REV_MIN_1 is not set -# CONFIG_ESP32_REV_MIN_1_1 is not set -# CONFIG_ESP32_REV_MIN_2 is not set -# CONFIG_ESP32_REV_MIN_3 is not set -# CONFIG_ESP32_REV_MIN_3_1 is not set -CONFIG_ESP32_REV_MIN=0 -CONFIG_ESP32_REV_MIN_FULL=0 +CONFIG_ESP32S3_REV_MIN_0=y +# CONFIG_ESP32S3_REV_MIN_1 is not set +# CONFIG_ESP32S3_REV_MIN_2 is not set +CONFIG_ESP32S3_REV_MIN_FULL=0 CONFIG_ESP_REV_MIN_FULL=0 # -# Maximum Supported ESP32 Revision (Rev v3.99) +# Maximum Supported ESP32-S3 Revision (Rev v0.99) # -CONFIG_ESP32_REV_MAX_FULL=399 -CONFIG_ESP_REV_MAX_FULL=399 +CONFIG_ESP32S3_REV_MAX_FULL=99 +CONFIG_ESP_REV_MAX_FULL=99 # end of Chip revision # @@ -966,22 +1112,21 @@ CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 -# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set -CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y -CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 -# CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR is not set +# CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4 # CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set # end of MAC Config # # Sleep Config # -# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND=y # CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y -# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set -CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=2000 +CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y +CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0 # CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set # CONFIG_ESP_SLEEP_DEBUG is not set CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y @@ -1003,12 +1148,18 @@ CONFIG_RTC_CLK_CAL_CYCLES=1024 CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y # end of Peripheral Control +# +# GDMA Configurations +# +CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y +# CONFIG_GDMA_ISR_IRAM_SAFE is not set +# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set +# end of GDMA Configurations + # # Main XTAL Config # -# CONFIG_XTAL_FREQ_26 is not set CONFIG_XTAL_FREQ_40=y -# CONFIG_XTAL_FREQ_AUTO is not set CONFIG_XTAL_FREQ=40 # end of Main XTAL Config @@ -1028,6 +1179,8 @@ CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y # CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 # CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set +# CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set # end of LCD Peripheral Configuration # end of LCD and Touch Panel @@ -1057,6 +1210,8 @@ CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 CONFIG_ESP_PHY_MAX_TX_POWER=20 # CONFIG_ESP_PHY_REDUCE_TX_POWER is not set +CONFIG_ESP_PHY_ENABLE_USB=y +# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set CONFIG_ESP_PHY_RF_CAL_PARTIAL=y # CONFIG_ESP_PHY_RF_CAL_NONE is not set # CONFIG_ESP_PHY_RF_CAL_FULL is not set @@ -1068,12 +1223,45 @@ CONFIG_ESP_PHY_CALIBRATION_MODE=0 # Power Management # # CONFIG_PM_ENABLE is not set +CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y +CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y # end of Power Management # # ESP PSRAM # -# CONFIG_SPIRAM is not set +CONFIG_SPIRAM=y + +# +# SPI RAM config +# +# CONFIG_SPIRAM_MODE_QUAD is not set +CONFIG_SPIRAM_MODE_OCT=y +CONFIG_SPIRAM_TYPE_AUTO=y +# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set +CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y +CONFIG_SPIRAM_CLK_IO=30 +CONFIG_SPIRAM_CS_IO=26 +# CONFIG_SPIRAM_XIP_FROM_PSRAM is not set +CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y +CONFIG_SPIRAM_RODATA=y +# CONFIG_SPIRAM_SPEED_120M is not set +CONFIG_SPIRAM_SPEED_80M=y +# CONFIG_SPIRAM_SPEED_40M is not set +CONFIG_SPIRAM_SPEED=80 +# CONFIG_SPIRAM_ECC_ENABLE is not set +CONFIG_SPIRAM_BOOT_INIT=y +# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set +# CONFIG_SPIRAM_USE_MEMMAP is not set +# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set +CONFIG_SPIRAM_USE_MALLOC=y +CONFIG_SPIRAM_MEMTEST=y +CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384 +# CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set +CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 +# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set +# end of SPI RAM config # end of ESP PSRAM # @@ -1086,27 +1274,47 @@ CONFIG_ESP_PHY_CALIBRATION_MODE=0 # ESP System Settings # # CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 + +# +# Cache config +# +CONFIG_ESP32S3_INSTRUCTION_CACHE_16KB=y +# CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB is not set +CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE=0x4000 +# CONFIG_ESP32S3_INSTRUCTION_CACHE_4WAYS is not set +CONFIG_ESP32S3_INSTRUCTION_CACHE_8WAYS=y +CONFIG_ESP32S3_ICACHE_ASSOCIATED_WAYS=8 +# CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_16B is not set +CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_32B=y +CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_SIZE=32 +# CONFIG_ESP32S3_DATA_CACHE_16KB is not set +CONFIG_ESP32S3_DATA_CACHE_32KB=y +# CONFIG_ESP32S3_DATA_CACHE_64KB is not set +CONFIG_ESP32S3_DATA_CACHE_SIZE=0x8000 +# CONFIG_ESP32S3_DATA_CACHE_4WAYS is not set +CONFIG_ESP32S3_DATA_CACHE_8WAYS=y +CONFIG_ESP32S3_DCACHE_ASSOCIATED_WAYS=8 +# CONFIG_ESP32S3_DATA_CACHE_LINE_16B is not set +# CONFIG_ESP32S3_DATA_CACHE_LINE_32B is not set +CONFIG_ESP32S3_DATA_CACHE_LINE_64B=y +CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=64 +# end of Cache config # # Memory # -# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set - -# -# Non-backward compatible options -# -# CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM is not set -# end of Non-backward compatible options +# CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM is not set +# CONFIG_ESP32S3_USE_FIXED_STATIC_RAM_SIZE is not set # end of Memory # # Trace memory # -# CONFIG_ESP32_TRAX is not set -CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 +# CONFIG_ESP32S3_TRAX is not set +CONFIG_ESP32S3_TRACEMEM_RESERVE_DRAM=0x0 # end of Trace memory # CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set @@ -1114,66 +1322,65 @@ CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y # CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set # CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 +CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y +CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y +CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y # # Memory protection # +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y # end of Memory protection CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y -# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set # CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# CONFIG_ESP_CONSOLE_USB_CDC is not set +# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set # CONFIG_ESP_CONSOLE_UART_CUSTOM is not set # CONFIG_ESP_CONSOLE_NONE is not set +# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set +CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y CONFIG_ESP_CONSOLE_UART=y CONFIG_ESP_CONSOLE_UART_NUM=0 CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 -CONFIG_ESP_INT_WDT=y -CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 -CONFIG_ESP_INT_WDT_CHECK_CPU1=y -CONFIG_ESP_TASK_WDT_EN=y -CONFIG_ESP_TASK_WDT_INIT=y -# CONFIG_ESP_TASK_WDT_PANIC is not set -CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 -CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y -CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +# CONFIG_ESP_INT_WDT is not set +# CONFIG_ESP_TASK_WDT_EN is not set # CONFIG_ESP_PANIC_HANDLER_IRAM is not set # CONFIG_ESP_DEBUG_STUBS_ENABLE is not set CONFIG_ESP_DEBUG_OCDAWARE=y -CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5=y +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y # # Brownout Detector # CONFIG_ESP_BROWNOUT_DET=y -CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0=y -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7 is not set -CONFIG_ESP_BROWNOUT_DET_LVL=0 +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set +CONFIG_ESP_BROWNOUT_DET_LVL=7 # end of Brownout Detector -# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y # end of ESP System Settings # # IPC (Inter-Processor Call) # CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 -CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y -CONFIG_ESP_IPC_ISR_ENABLE=y # end of IPC (Inter-Processor Call) # @@ -1189,7 +1396,7 @@ CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y # CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set -CONFIG_ESP_TIMER_IMPL_TG0_LAC=y +CONFIG_ESP_TIMER_IMPL_SYSTIMER=y # end of ESP Timer (High Resolution Timer) # @@ -1198,10 +1405,10 @@ CONFIG_ESP_TIMER_IMPL_TG0_LAC=y CONFIG_ESP_WIFI_ENABLED=y CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y -CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=16 +CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=32 CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y # CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 @@ -1211,33 +1418,36 @@ CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y CONFIG_ESP_WIFI_TX_BA_WIN=6 CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP_WIFI_RX_BA_WIN=6 +# CONFIG_ESP_WIFI_AMSDU_TX_ENABLED is not set CONFIG_ESP_WIFI_NVS_ENABLED=y -CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y -# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 CONFIG_ESP_WIFI_IRAM_OPT=y -# CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set +CONFIG_ESP_WIFI_EXTRA_IRAM_OPT=y CONFIG_ESP_WIFI_RX_IRAM_OPT=y CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y CONFIG_ESP_WIFI_ENABLE_SAE_PK=y CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y -# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set +CONFIG_ESP_WIFI_SLP_IRAM_OPT=y CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 +# CONFIG_ESP_WIFI_FTM_ENABLE is not set CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y +# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set CONFIG_ESP_WIFI_GMAC_SUPPORT=y CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y # CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 -# CONFIG_ESP_WIFI_NAN_ENABLE is not set CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y +# CONFIG_ESP_WIFI_EAP_TLS1_3 is not set # CONFIG_ESP_WIFI_WAPI_PSK is not set +# CONFIG_ESP_WIFI_SUITE_B_192 is not set # CONFIG_ESP_WIFI_11KV_SUPPORT is not set # CONFIG_ESP_WIFI_MBO_SUPPORT is not set +# CONFIG_ESP_WIFI_ENABLE_ROAMING_APP is not set # CONFIG_ESP_WIFI_DPP_SUPPORT is not set # CONFIG_ESP_WIFI_11R_SUPPORT is not set # CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set @@ -1301,6 +1511,7 @@ CONFIG_FATFS_API_ENCODING_ANSI_OEM=y CONFIG_FATFS_FS_LOCK=0 CONFIG_FATFS_TIMEOUT_MS=10000 CONFIG_FATFS_PER_FILE_CACHE=y +CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y # CONFIG_FATFS_USE_FASTSEEK is not set CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 # CONFIG_FATFS_IMMEDIATE_FSYNC is not set @@ -1316,8 +1527,9 @@ CONFIG_FATFS_LINK_LOCK=y # Kernel # # CONFIG_FREERTOS_SMP is not set -# CONFIG_FREERTOS_UNICORE is not set -CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_UNICORE=y +CONFIG_FREERTOS_HZ=1000 +CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y @@ -1329,7 +1541,6 @@ CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 # CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" # CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set -# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU1 is not set CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 @@ -1346,7 +1557,6 @@ CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 # # Port # -CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y # CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y # CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set @@ -1354,12 +1564,11 @@ CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y CONFIG_FREERTOS_ISR_STACKSIZE=1536 CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y -# CONFIG_FREERTOS_FPU_IN_ISR is not set -CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y -CONFIG_FREERTOS_CORETIMER_0=y -# CONFIG_FREERTOS_CORETIMER_1 is not set -CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y -# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set +CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y +CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y +# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set +CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y +CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set # end of Port @@ -1369,7 +1578,7 @@ CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y CONFIG_FREERTOS_DEBUG_OCDAWARE=y CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y -CONFIG_FREERTOS_NUMBER_OF_CORES=2 +CONFIG_FREERTOS_NUMBER_OF_CORES=1 # end of FreeRTOS # @@ -1380,6 +1589,7 @@ CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y # CONFIG_HAL_ASSERTION_SILENT is not set # CONFIG_HAL_ASSERTION_ENABLE is not set CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +CONFIG_HAL_WDT_USE_ROM_IMPL=y CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y # end of Hardware Abstraction Layer (HAL) and Low Level (LL) @@ -1526,7 +1736,6 @@ CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y # CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set -# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF # CONFIG_LWIP_PPP_SUPPORT is not set CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 @@ -1597,6 +1806,7 @@ CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y # mbedTLS # CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC is not set # CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set # CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y @@ -1631,9 +1841,13 @@ CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 # CONFIG_MBEDTLS_ECP_RESTARTABLE is not set CONFIG_MBEDTLS_CMAC_C=y CONFIG_MBEDTLS_HARDWARE_AES=y +CONFIG_MBEDTLS_AES_USE_INTERRUPT=y +CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y CONFIG_MBEDTLS_HARDWARE_MPI=y -# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set +CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y +CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y +CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_HARDWARE_SHA=y CONFIG_MBEDTLS_ROM_MD5=y # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set @@ -1753,9 +1967,12 @@ CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y # CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set # end of Newlib +CONFIG_STDATOMIC_S32C1I_SPIRAM_WORKAROUND=y + # # NVS # +# CONFIG_NVS_ENCRYPTION is not set # CONFIG_NVS_ASSERT_ERROR_CHECK is not set # CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set # end of NVS @@ -1779,7 +1996,7 @@ CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53" CONFIG_OPENTHREAD_XTAL_ACCURACY=130 # CONFIG_OPENTHREAD_SPINEL_ONLY is not set -CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE=y +# CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE is not set # # Thread Address Query Config @@ -1801,9 +2018,6 @@ CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 CONFIG_PTHREAD_STACK_MIN=768 -CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y -# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set -# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" # end of PThreads @@ -1834,6 +2048,14 @@ CONFIG_SPI_FLASH_BROWNOUT_RESET=y # # Features here require specific hardware (READ DOCS FIRST!) # +# CONFIG_SPI_FLASH_HPM_ENA is not set +CONFIG_SPI_FLASH_HPM_AUTO=y +# CONFIG_SPI_FLASH_HPM_DIS is not set +CONFIG_SPI_FLASH_HPM_ON=y +CONFIG_SPI_FLASH_HPM_DC_AUTO=y +# CONFIG_SPI_FLASH_HPM_DC_DISABLE is not set +CONFIG_SPI_FLASH_SUSPEND_QVL_SUPPORTED=y +# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 # end of Optional and Experimental Features (READ DOCS FIRST) # end of Main Flash configuration @@ -1844,10 +2066,10 @@ CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 # CONFIG_SPI_FLASH_VERIFY_WRITE is not set # CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +# CONFIG_SPI_FLASH_ROM_IMPL is not set CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y # CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set # CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set -# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set # CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 @@ -1865,12 +2087,15 @@ CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y -CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y -CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y -CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y -CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y +CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_TH_SUPPORTED=y +# CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_GD_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set +CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP=y # end of Auto-detect flash chips CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y @@ -1948,6 +2173,28 @@ CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y # CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set # end of Unity unit testing library +# +# USB-OTG +# +CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256 +CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y +# CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set +# CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set + +# +# Root Hub configuration +# +CONFIG_USB_HOST_DEBOUNCE_DELAY_MS=250 +CONFIG_USB_HOST_RESET_HOLD_MS=30 +CONFIG_USB_HOST_RESET_RECOVERY_MS=30 +CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10 +# end of Root Hub configuration + +# CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set +# CONFIG_USB_HOST_EXT_HUB_SUPPORT is not set +CONFIG_USB_OTG_SUPPORTED=y +# end of USB-OTG + # # Virtual file system # @@ -1987,6 +2234,469 @@ CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y # CONFIG_WIFI_PROV_STA_FAST_SCAN is not set # end of Wi-Fi Provisioning Manager +# +# LVGL configuration +# +CONFIG_LV_CONF_SKIP=y +# CONFIG_LV_CONF_MINIMAL is not set + +# +# Color settings +# +# CONFIG_LV_COLOR_DEPTH_32 is not set +CONFIG_LV_COLOR_DEPTH_16=y +# CONFIG_LV_COLOR_DEPTH_8 is not set +# CONFIG_LV_COLOR_DEPTH_1 is not set +CONFIG_LV_COLOR_DEPTH=16 +CONFIG_LV_COLOR_16_SWAP=y +# CONFIG_LV_COLOR_SCREEN_TRANSP is not set +CONFIG_LV_COLOR_MIX_ROUND_OFS=128 +CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 +# end of Color settings + +# +# Memory settings +# +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEM_CUSTOM_INCLUDE="stdlib.h" +CONFIG_LV_MEM_BUF_MAX_NUM=16 +# CONFIG_LV_MEMCPY_MEMSET_STD is not set +# end of Memory settings + +# +# HAL Settings +# +CONFIG_LV_DISP_DEF_REFR_PERIOD=5 +CONFIG_LV_INDEV_DEF_READ_PERIOD=30 +# CONFIG_LV_TICK_CUSTOM is not set +CONFIG_LV_DPI_DEF=217 +# end of HAL Settings + +# +# Feature configuration +# + +# +# Drawing +# +CONFIG_LV_DRAW_COMPLEX=y +CONFIG_LV_SHADOW_CACHE_SIZE=0 +CONFIG_LV_CIRCLE_CACHE_SIZE=4 +CONFIG_LV_LAYER_SIMPLE_BUF_SIZE=24576 +CONFIG_LV_IMG_CACHE_DEF_SIZE=0 +CONFIG_LV_GRADIENT_MAX_STOPS=2 +CONFIG_LV_GRAD_CACHE_DEF_SIZE=0 +# CONFIG_LV_DITHER_GRADIENT is not set +CONFIG_LV_DISP_ROT_MAX_BUF=10240 +# end of Drawing + +# +# GPU +# +# CONFIG_LV_USE_GPU_ARM2D is not set +# CONFIG_LV_USE_GPU_STM32_DMA2D is not set +# CONFIG_LV_USE_GPU_RA6M3_G2D is not set +# CONFIG_LV_USE_GPU_SWM341_DMA2D is not set +# CONFIG_LV_USE_GPU_NXP_PXP is not set +# CONFIG_LV_USE_GPU_NXP_VG_LITE is not set +# CONFIG_LV_USE_GPU_SDL is not set +# end of GPU + +# +# Logging +# +# CONFIG_LV_USE_LOG is not set +# end of Logging + +# +# Asserts +# +CONFIG_LV_USE_ASSERT_NULL=y +CONFIG_LV_USE_ASSERT_MALLOC=y +# CONFIG_LV_USE_ASSERT_STYLE is not set +# CONFIG_LV_USE_ASSERT_MEM_INTEGRITY is not set +# CONFIG_LV_USE_ASSERT_OBJ is not set +CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" +# end of Asserts + +# +# Others +# +# CONFIG_LV_USE_PERF_MONITOR is not set +# CONFIG_LV_USE_REFR_DEBUG is not set +# CONFIG_LV_SPRINTF_CUSTOM is not set +# CONFIG_LV_SPRINTF_USE_FLOAT is not set +CONFIG_LV_USE_USER_DATA=y +# CONFIG_LV_ENABLE_GC is not set +# end of Others + +# +# Compiler settings +# +# CONFIG_LV_BIG_ENDIAN_SYSTEM is not set +CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 +CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y +# CONFIG_LV_USE_LARGE_COORD is not set +# end of Compiler settings +# end of Feature configuration + +# +# Font usage +# + +# +# Enable built-in fonts +# +CONFIG_LV_FONT_MONTSERRAT_8=y +CONFIG_LV_FONT_MONTSERRAT_10=y +CONFIG_LV_FONT_MONTSERRAT_12=y +CONFIG_LV_FONT_MONTSERRAT_14=y +CONFIG_LV_FONT_MONTSERRAT_16=y +CONFIG_LV_FONT_MONTSERRAT_18=y +# CONFIG_LV_FONT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_MONTSERRAT_22 is not set +CONFIG_LV_FONT_MONTSERRAT_24=y +# CONFIG_LV_FONT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_UNSCII_8 is not set +# CONFIG_LV_FONT_UNSCII_16 is not set +# CONFIG_LV_FONT_CUSTOM is not set +# end of Enable built-in fonts + +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12 is not set +CONFIG_LV_FONT_DEFAULT_MONTSERRAT_14=y +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_16 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_16 is not set +# CONFIG_LV_FONT_FMT_TXT_LARGE is not set +# CONFIG_LV_USE_FONT_COMPRESSED is not set +# CONFIG_LV_USE_FONT_SUBPX is not set +CONFIG_LV_USE_FONT_PLACEHOLDER=y +# end of Font usage + +# +# Text Settings +# +CONFIG_LV_TXT_ENC_UTF8=y +# CONFIG_LV_TXT_ENC_ASCII is not set +CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_" +CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0 +CONFIG_LV_TXT_COLOR_CMD="#" +# CONFIG_LV_USE_BIDI is not set +# CONFIG_LV_USE_ARABIC_PERSIAN_CHARS is not set +# end of Text Settings + +# +# Widget usage +# +CONFIG_LV_USE_ARC=y +CONFIG_LV_USE_BAR=y +CONFIG_LV_USE_BTN=y +CONFIG_LV_USE_BTNMATRIX=y +CONFIG_LV_USE_CANVAS=y +CONFIG_LV_USE_CHECKBOX=y +CONFIG_LV_USE_DROPDOWN=y +CONFIG_LV_USE_IMG=y +CONFIG_LV_USE_LABEL=y +CONFIG_LV_LABEL_TEXT_SELECTION=y +CONFIG_LV_LABEL_LONG_TXT_HINT=y +CONFIG_LV_USE_LINE=y +CONFIG_LV_USE_ROLLER=y +CONFIG_LV_ROLLER_INF_PAGES=7 +CONFIG_LV_USE_SLIDER=y +CONFIG_LV_USE_SWITCH=y +CONFIG_LV_USE_TEXTAREA=y +CONFIG_LV_TEXTAREA_DEF_PWD_SHOW_TIME=1500 +CONFIG_LV_USE_TABLE=y +# end of Widget usage + +# +# Extra Widgets +# +CONFIG_LV_USE_ANIMIMG=y +CONFIG_LV_USE_CALENDAR=y +# CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY is not set +CONFIG_LV_USE_CALENDAR_HEADER_ARROW=y +CONFIG_LV_USE_CALENDAR_HEADER_DROPDOWN=y +CONFIG_LV_USE_CHART=y +CONFIG_LV_USE_COLORWHEEL=y +CONFIG_LV_USE_IMGBTN=y +CONFIG_LV_USE_KEYBOARD=y +CONFIG_LV_USE_LED=y +CONFIG_LV_USE_LIST=y +CONFIG_LV_USE_MENU=y +CONFIG_LV_USE_METER=y +CONFIG_LV_USE_MSGBOX=y +CONFIG_LV_USE_SPAN=y +CONFIG_LV_SPAN_SNIPPET_STACK_SIZE=64 +CONFIG_LV_USE_SPINBOX=y +CONFIG_LV_USE_SPINNER=y +CONFIG_LV_USE_TABVIEW=y +CONFIG_LV_USE_TILEVIEW=y +CONFIG_LV_USE_WIN=y +# end of Extra Widgets + +# +# Themes +# +CONFIG_LV_USE_THEME_DEFAULT=y +# CONFIG_LV_THEME_DEFAULT_DARK is not set +CONFIG_LV_THEME_DEFAULT_GROW=y +CONFIG_LV_THEME_DEFAULT_TRANSITION_TIME=80 +CONFIG_LV_USE_THEME_BASIC=y +# CONFIG_LV_USE_THEME_MONO is not set +# end of Themes + +# +# Layouts +# +CONFIG_LV_USE_FLEX=y +CONFIG_LV_USE_GRID=y +# end of Layouts + +# +# 3rd Party Libraries +# +# CONFIG_LV_USE_FS_STDIO is not set +# CONFIG_LV_USE_FS_POSIX is not set +# CONFIG_LV_USE_FS_WIN32 is not set +# CONFIG_LV_USE_FS_FATFS is not set +# CONFIG_LV_USE_FS_LITTLEFS is not set +# CONFIG_LV_USE_PNG is not set +# CONFIG_LV_USE_BMP is not set +# CONFIG_LV_USE_SJPG is not set +CONFIG_LV_USE_GIF=y +# CONFIG_LV_USE_QRCODE is not set +# CONFIG_LV_USE_FREETYPE is not set +# CONFIG_LV_USE_TINY_TTF is not set +# CONFIG_LV_USE_RLOTTIE is not set +# CONFIG_LV_USE_FFMPEG is not set +# end of 3rd Party Libraries + +# +# Others +# +CONFIG_LV_USE_SNAPSHOT=y +# CONFIG_LV_USE_MONKEY is not set +# CONFIG_LV_USE_GRIDNAV is not set +# CONFIG_LV_USE_FRAGMENT is not set +# CONFIG_LV_USE_IMGFONT is not set +# CONFIG_LV_USE_MSG is not set +# CONFIG_LV_USE_IME_PINYIN is not set +# end of Others + +# +# Examples +# +# CONFIG_LV_BUILD_EXAMPLES is not set +# end of Examples + +# +# Demos +# +# CONFIG_LV_USE_DEMO_WIDGETS is not set +# CONFIG_LV_USE_DEMO_KEYPAD_AND_ENCODER is not set +# CONFIG_LV_USE_DEMO_BENCHMARK is not set +# CONFIG_LV_USE_DEMO_STRESS is not set +# CONFIG_LV_USE_DEMO_MUSIC is not set +# end of Demos +# end of LVGL configuration + +# +# LVGL ESP Drivers +# + +# +# LVGL TFT Display controller +# +CONFIG_LV_PREDEFINED_DISPLAY_NONE=y +# CONFIG_LV_PREDEFINED_DISPLAY_WROVER4 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STACK is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5CORE2 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STICK is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STICKC is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ERTFT0356 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ADA_FEATHERWING is not set +# CONFIG_LV_PREDEFINED_DISPLAY_RPI_MPI3501 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_WEMOS_LOLIN is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ATAG is not set +# CONFIG_LV_PREDEFINED_DISPLAY_RPI_RA8875 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_TTGO is not set +# CONFIG_LV_PREDEFINED_DISPLAY_TTGO_CAMERA_PLUS is not set +# CONFIG_LV_PREDEFINED_DISPLAY_WT32_SC01 is not set +CONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9341=y +CONFIG_LV_TFT_DISPLAY_PROTOCOL_SPI=y +CONFIG_LV_HOR_RES_MAX=240 +CONFIG_LV_VER_RES_MAX=320 +CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT=y +# CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT_INVERTED is not set +# CONFIG_LV_DISPLAY_ORIENTATION_LANDSCAPE is not set +# CONFIG_LV_DISPLAY_ORIENTATION_LANDSCAPE_INVERTED is not set +CONFIG_LV_DISPLAY_ORIENTATION=0 +CONFIG_LV_PREDEFINED_PINS_NONE=y +# CONFIG_LV_PREDEFINED_PINS_38V4 is not set +# CONFIG_LV_PREDEFINED_PINS_30 is not set +# CONFIG_LV_PREDEFINED_PINS_38V1 is not set +# CONFIG_LV_PREDEFINED_PINS_TKOALA is not set +CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9341=y +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9481 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9486 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9488 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7789 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7796S is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_GC9A01 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7735S is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_HX8357 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SH1107 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SSD1306 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_FT81X is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_IL3820 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_JD79653A is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_UC8151D is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_RA8875 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9163C is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_PCD8544 is not set +# CONFIG_CUSTOM_DISPLAY_BUFFER_SIZE is not set +CONFIG_LV_TFT_DISPLAY_SPI2_HOST=y +# CONFIG_LV_TFT_DISPLAY_SPI3_HOST is not set +CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_SIO=y +# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_DIO is not set +# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_QIO is not set +CONFIG_LV_TFT_DISPLAY_SPI_HALF_DUPLEX=y +# CONFIG_LV_TFT_DISPLAY_SPI_FULL_DUPLEX is not set +CONFIG_LV_TFT_USE_CUSTOM_SPI_CLK_DIVIDER=y +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_1 is not set +CONFIG_LV_TFT_SPI_CLK_DIVIDER_2=y +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_3 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_4 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_5 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_6 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_7 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_8 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_9 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_10 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_12 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_16 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_20 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_24 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_32 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_40 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_48 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_80 is not set +CONFIG_LV_TFT_CUSTOM_SPI_CLK_DIVIDER=2 +# CONFIG_LV_INVERT_COLORS is not set + +# +# Display Pin Assignments +# +CONFIG_LV_DISP_SPI_MOSI=23 +CONFIG_LV_DISPLAY_USE_SPI_MISO=y +CONFIG_LV_DISP_SPI_MISO=19 +CONFIG_LV_DISP_SPI_INPUT_DELAY_NS=0 +CONFIG_LV_DISP_SPI_CLK=18 +CONFIG_LV_DISPLAY_USE_SPI_CS=y +CONFIG_LV_DISP_SPI_CS=17 +CONFIG_LV_DISPLAY_USE_DC=y +CONFIG_LV_DISP_PIN_DC=16 +CONFIG_LV_DISP_USE_RST=y +CONFIG_LV_DISP_PIN_RST=5 +# end of Display Pin Assignments + +# CONFIG_LV_DISP_BACKLIGHT_OFF is not set +CONFIG_LV_DISP_BACKLIGHT_SWITCH=y +# CONFIG_LV_DISP_BACKLIGHT_PWM is not set +CONFIG_LV_BACKLIGHT_ACTIVE_LVL=y +CONFIG_LV_DISP_PIN_BCKL=32 +CONFIG_LV_I2C=y +CONFIG_LV_I2C_DISPLAY_PORT=0 +# end of LVGL TFT Display controller + +# +# LVGL Touch controller +# +CONFIG_LV_TOUCH_CONTROLLER=7 +# CONFIG_LV_TOUCH_CONTROLLER_NONE is not set +# CONFIG_LV_TOUCH_CONTROLLER_XPT2046 is not set +# CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set +# CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set +# CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set +# CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set +# CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set +CONFIG_LV_TOUCH_CONTROLLER_GT911=y +CONFIG_LV_I2C_TOUCH=y + +# +# Touchpanel Configuration (GT911) +# +CONFIG_LV_GT911_SWAPXY=y +# CONFIG_LV_GT911_INVERT_X is not set +CONFIG_LV_GT911_INVERT_Y=y +# end of Touchpanel Configuration (GT911) + +CONFIG_LV_I2C_TOUCH_PORT_0=y +# CONFIG_LV_I2C_TOUCH_PORT_1 is not set +CONFIG_LV_I2C_TOUCH_PORT=0 +# end of LVGL Touch controller +# end of LVGL ESP Drivers + +# +# I2C Port Settings +# + +# +# I2C Port 0 +# +CONFIG_I2C_MANAGER_0_ENABLED=y +CONFIG_I2C_MANAGER_0_SDA=8 +CONFIG_I2C_MANAGER_0_SCL=9 +CONFIG_I2C_MANAGER_0_FREQ_HZ=400000 +CONFIG_I2C_MANAGER_0_TIMEOUT=100 +CONFIG_I2C_MANAGER_0_LOCK_TIMEOUT=50 +# CONFIG_I2C_MANAGER_0_PULLUPS is not set +# end of I2C Port 0 + +# +# I2C Port 1 +# +# CONFIG_I2C_MANAGER_1_ENABLED is not set +# end of I2C Port 1 +# end of I2C Port Settings + # # mDNS # @@ -1997,7 +2707,6 @@ CONFIG_MDNS_ACTION_QUEUE_LEN=16 CONFIG_MDNS_TASK_STACK_SIZE=4096 # CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set CONFIG_MDNS_TASK_AFFINITY_CPU0=y -# CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set CONFIG_MDNS_TASK_AFFINITY=0x0 CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000 CONFIG_MDNS_TIMER_PERIOD_MS=100 @@ -2018,14 +2727,11 @@ CONFIG_MDNS_PREDEF_NETIF_ETH=y # end of mDNS # end of Component config -# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set +CONFIG_IDF_EXPERIMENTAL_FEATURES=y # Deprecated options for backward compatibility # CONFIG_APP_BUILD_TYPE_ELF_RAM is not set # CONFIG_NO_BLOBS is not set -# CONFIG_ESP32_NO_BLOBS is not set -# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set -# CONFIG_ESP32_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set # CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set # CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set # CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set @@ -2035,16 +2741,16 @@ CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y CONFIG_LOG_BOOTLOADER_LEVEL=3 # CONFIG_APP_ROLLBACK_ENABLE is not set # CONFIG_FLASH_ENCRYPTION_ENABLED is not set -# CONFIG_FLASHMODE_QIO is not set +CONFIG_FLASHMODE_QIO=y # CONFIG_FLASHMODE_QOUT is not set -CONFIG_FLASHMODE_DIO=y +# CONFIG_FLASHMODE_DIO is not set # CONFIG_FLASHMODE_DOUT is not set CONFIG_MONITOR_BAUD=115200 -CONFIG_OPTIMIZATION_LEVEL_DEBUG=y -CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y -CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y -# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set -# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set +# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set +CONFIG_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y # CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set # CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set @@ -2061,13 +2767,12 @@ CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y # CONFIG_BLUEDROID_ENABLED is not set CONFIG_NIMBLE_ENABLED=y CONFIG_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y +# CONFIG_NIMBLE_MEM_ALLOC_MODE_EXTERNAL is not set # CONFIG_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set CONFIG_NIMBLE_MAX_CONNECTIONS=3 CONFIG_NIMBLE_MAX_BONDS=3 CONFIG_NIMBLE_MAX_CCCDS=8 CONFIG_NIMBLE_L2CAP_COC_MAX_NUM=0 -CONFIG_NIMBLE_PINNED_TO_CORE_0=y -# CONFIG_NIMBLE_PINNED_TO_CORE_1 is not set CONFIG_NIMBLE_PINNED_TO_CORE=0 CONFIG_NIMBLE_TASK_STACK_SIZE=4096 CONFIG_BT_NIMBLE_TASK_STACK_SIZE=4096 @@ -2098,29 +2803,8 @@ CONFIG_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y CONFIG_NIMBLE_RPA_TIMEOUT=900 # CONFIG_NIMBLE_MESH is not set CONFIG_NIMBLE_CRYPTO_STACK_MBEDTLS=y -CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY=y -# CONFIG_BTDM_CONTROLLER_MODE_BR_EDR_ONLY is not set -# CONFIG_BTDM_CONTROLLER_MODE_BTDM is not set -CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN=3 -CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=3 -CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0 -CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0 -CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0 -CONFIG_BTDM_CONTROLLER_HCI_MODE_VHCI=y -# CONFIG_BTDM_CONTROLLER_HCI_MODE_UART_H4 is not set -CONFIG_BTDM_CONTROLLER_MODEM_SLEEP=y -CONFIG_BLE_SCAN_DUPLICATE=y -CONFIG_SCAN_DUPLICATE_BY_DEVICE_ADDR=y -# CONFIG_SCAN_DUPLICATE_BY_ADV_DATA is not set -# CONFIG_SCAN_DUPLICATE_BY_ADV_DATA_AND_DEVICE_ADDR is not set -CONFIG_SCAN_DUPLICATE_TYPE=0 -CONFIG_DUPLICATE_SCAN_CACHE_SIZE=100 -# CONFIG_BLE_MESH_SCAN_DUPLICATE_EN is not set -CONFIG_BTDM_CONTROLLER_FULL_SCAN_SUPPORTED=y -CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_SUPPORTED=y -CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_NUM=100 -CONFIG_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 -CONFIG_ADC2_DISABLE_DAC=y +# CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_EN is not set +CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_DIS=y CONFIG_SW_COEXIST_ENABLE=y CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y @@ -2131,42 +2815,28 @@ CONFIG_POST_EVENTS_FROM_IRAM_ISR=y CONFIG_GDBSTUB_SUPPORT_TASKS=y CONFIG_GDBSTUB_MAX_TASKS=32 # CONFIG_OTA_ALLOW_HTTP is not set -# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set -CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y -CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 -# CONFIG_ESP_SYSTEM_PD_FLASH is not set -CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 -CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000 -CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y -CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y -# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set -# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set -# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set -# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set -# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set -# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set -CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 -# CONFIG_ESP32_XTAL_FREQ_26 is not set -CONFIG_ESP32_XTAL_FREQ_40=y -# CONFIG_ESP32_XTAL_FREQ_AUTO is not set -CONFIG_ESP32_XTAL_FREQ=40 +CONFIG_ESP32S3_DEEP_SLEEP_WAKEUP_DELAY=0 +CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=0 +CONFIG_ESP32S3_RTC_CLK_SRC_INT_RC=y +# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32S3_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_ESP32S3_RTC_CLK_CAL_CYCLES=1024 CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y # CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 CONFIG_ESP32_PHY_MAX_TX_POWER=20 # CONFIG_REDUCE_PHY_TX_POWER is not set # CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set -# CONFIG_SPIRAM_SUPPORT is not set -# CONFIG_ESP32_SPIRAM_SUPPORT is not set -# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set -CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y -# CONFIG_ESP32_DEFAULT_CPU_FREQ_240 is not set -CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=160 -CONFIG_TRACEMEM_RESERVE_DRAM=0x0 -# CONFIG_ESP32_PANIC_PRINT_HALT is not set -CONFIG_ESP32_PANIC_PRINT_REBOOT=y -# CONFIG_ESP32_PANIC_SILENT_REBOOT is not set -# CONFIG_ESP32_PANIC_GDBSTUB is not set +CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y +CONFIG_PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP=y +CONFIG_ESP32S3_SPIRAM_SUPPORT=y +CONFIG_DEFAULT_PSRAM_CLK_IO=30 +CONFIG_DEFAULT_PSRAM_CS_IO=26 +# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_80 is not set +# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_160 is not set +CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240=y +CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ=240 CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 CONFIG_MAIN_TASK_STACK_SIZE=3584 @@ -2177,47 +2847,37 @@ CONFIG_CONSOLE_UART_DEFAULT=y CONFIG_CONSOLE_UART=y CONFIG_CONSOLE_UART_NUM=0 CONFIG_CONSOLE_UART_BAUDRATE=115200 -CONFIG_INT_WDT=y -CONFIG_INT_WDT_TIMEOUT_MS=300 -CONFIG_INT_WDT_CHECK_CPU1=y -CONFIG_TASK_WDT=y -CONFIG_ESP_TASK_WDT=y -# CONFIG_TASK_WDT_PANIC is not set -CONFIG_TASK_WDT_TIMEOUT_S=5 -CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y -CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +# CONFIG_INT_WDT is not set # CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set -CONFIG_ESP32_DEBUG_OCDAWARE=y +CONFIG_ESP32S3_DEBUG_OCDAWARE=y CONFIG_BROWNOUT_DET=y -CONFIG_ESP32_BROWNOUT_DET=y -CONFIG_BROWNOUT_DET_LVL_SEL_0=y -CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0=y -# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set +CONFIG_ESP32S3_BROWNOUT_DET=y +CONFIG_ESP32S3_BROWNOUT_DET=y +CONFIG_BROWNOUT_DET_LVL_SEL_7=y +CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_7=y # CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set -CONFIG_BROWNOUT_DET_LVL=0 -CONFIG_ESP32_BROWNOUT_DET_LVL=0 -# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_1 is not set +CONFIG_BROWNOUT_DET_LVL=7 +CONFIG_ESP32S3_BROWNOUT_DET_LVL=7 CONFIG_IPC_TASK_STACK_SIZE=1024 CONFIG_TIMER_TASK_STACK_SIZE=3584 CONFIG_ESP32_WIFI_ENABLED=y CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y -CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 +CONFIG_ESP32_WIFI_CACHE_TX_BUFFER_NUM=32 # CONFIG_ESP32_WIFI_CSI_ENABLED is not set CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y CONFIG_ESP32_WIFI_TX_BA_WIN=6 @@ -2225,9 +2885,8 @@ CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP32_WIFI_RX_BA_WIN=6 CONFIG_ESP32_WIFI_RX_BA_WIN=6 +# CONFIG_ESP32_WIFI_AMSDU_TX_ENABLED is not set CONFIG_ESP32_WIFI_NVS_ENABLED=y -CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y -# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 CONFIG_ESP32_WIFI_IRAM_OPT=y @@ -2237,6 +2896,7 @@ CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y CONFIG_WPA_MBEDTLS_CRYPTO=y CONFIG_WPA_MBEDTLS_TLS_CLIENT=y # CONFIG_WPA_WAPI_PSK is not set +# CONFIG_WPA_SUITE_B_192 is not set # CONFIG_WPA_11KV_SUPPORT is not set # CONFIG_WPA_MBO_SUPPORT is not set # CONFIG_WPA_DPP_SUPPORT is not set @@ -2272,27 +2932,22 @@ CONFIG_UDP_RECVMBOX_SIZE=6 CONFIG_TCPIP_TASK_STACK_SIZE=3072 CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y # CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set -# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF # CONFIG_PPP_SUPPORT is not set -CONFIG_ESP32_TIME_SYSCALL_USE_RTC_HRT=y -CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y -# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set -# CONFIG_ESP32_TIME_SYSCALL_USE_HRT is not set -# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set -# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_SYSTIMER=y +CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_FRC1=y +# CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_SYSTIMER is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_FRC1 is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_NONE is not set CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 CONFIG_ESP32_PTHREAD_STACK_MIN=768 -CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y -# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set -# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y # CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set # CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set -# CONFIG_ESP32_ULP_COPROC_ENABLED is not set CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y CONFIG_SUPPORT_TERMIOS=y CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 diff --git a/dependencies.lock b/dependencies.lock index f68b2593..3dae7d07 100644 --- a/dependencies.lock +++ b/dependencies.lock @@ -6,5 +6,5 @@ dependencies: direct_dependencies: - idf manifest_hash: 18f8cad765fd13632cf3e427b305587d3280c096d6e66f6e16c1a1633cee1fc3 -target: esp32 +target: esp32s3 version: 2.0.0 diff --git a/main/vendor/drivers/ST7262.c b/main/vendor/drivers/ST7262.c index 5bb171be..1140aa0d 100644 --- a/main/vendor/drivers/ST7262.c +++ b/main/vendor/drivers/ST7262.c @@ -29,6 +29,38 @@ static SemaphoreHandle_t sem_vsync_end = NULL; static SemaphoreHandle_t sem_gui_ready = NULL; // Data lines D0 to D15 +#ifdef Crowtech_LCD +// Crowtech display (formerly Sasquatch display) +static const int lcd_data_gpio_nums[] = { + GPIO_NUM_15, // D0 - B0 + GPIO_NUM_7, // D1 - B1 + GPIO_NUM_6, // D2 - B2 + GPIO_NUM_5, // D3 - B3 + GPIO_NUM_4, // D4 - B4 + GPIO_NUM_9, // D5 - G0 + GPIO_NUM_46, // D6 - G1 + GPIO_NUM_3, // D7 - G2 + GPIO_NUM_8, // D8 - G3 + GPIO_NUM_16, // D9 - G4 + GPIO_NUM_1, // D10 - G5 + GPIO_NUM_14, // D11 - R0 + GPIO_NUM_21, // D12 - R1 + GPIO_NUM_47, // D13 - R2 + GPIO_NUM_48, // D14 - R3 + GPIO_NUM_45 // D15 - R4 +}; + +// Control signals for Crowtech display +#define LCD_HSYNC_GPIO_NUM GPIO_NUM_39 +#define LCD_VSYNC_GPIO_NUM GPIO_NUM_40 +#define LCD_DE_GPIO_NUM GPIO_NUM_41 +#define LCD_PCLK_GPIO_NUM GPIO_NUM_0 +#define LCD_DISP_GPIO_NUM -1 // Not used +#define LCD_BACKLIGHT_GPIO 2 // Not used +#define LCD_RESET_GPIO GPIO_NUM_4 // Corrected to GPIO4 + +#else +// Waveshare display static const int lcd_data_gpio_nums[] = { GPIO_NUM_14, // D0 - B3 GPIO_NUM_38, // D1 - B4 @@ -48,29 +80,7 @@ static const int lcd_data_gpio_nums[] = { GPIO_NUM_40 // D15 - R7 }; - -// Sasquatch Display - -// static const int lcd_data_gpio_nums[] = { -// GPIO_NUM_15, // D0 - B0 -// GPIO_NUM_7, // D1 - B1 -// GPIO_NUM_6, // D2 - B2 -// GPIO_NUM_5, // D3 - B3 -// GPIO_NUM_4, // D4 - B4 -// GPIO_NUM_9, // D5 - G0 -// GPIO_NUM_46, // D6 - G1 -// GPIO_NUM_3, // D7 - G2 -// GPIO_NUM_8, // D8 - G3 -// GPIO_NUM_16, // D9 - G4 -// GPIO_NUM_1, // D10 - G5 -// GPIO_NUM_14, // D11 - R0 -// GPIO_NUM_21, // D12 - R1 -// GPIO_NUM_47, // D13 - R2 -// GPIO_NUM_48, // D14 - R3 -// GPIO_NUM_45 // D15 - R4 -// }; - -// Control signals +// Control signals for Waveshare display #define LCD_HSYNC_GPIO_NUM GPIO_NUM_46 #define LCD_VSYNC_GPIO_NUM GPIO_NUM_3 #define LCD_DE_GPIO_NUM GPIO_NUM_5 @@ -79,15 +89,7 @@ static const int lcd_data_gpio_nums[] = { #define LCD_BACKLIGHT_GPIO -1 // Not used #define LCD_RESET_GPIO GPIO_NUM_4 // Corrected to GPIO4 - -// Sasquach -// #define LCD_HSYNC_GPIO_NUM GPIO_NUM_39 -// #define LCD_VSYNC_GPIO_NUM GPIO_NUM_40 -// #define LCD_DE_GPIO_NUM GPIO_NUM_41 -// #define LCD_PCLK_GPIO_NUM GPIO_NUM_0 -// #define LCD_DISP_GPIO_NUM -1 // Not used -// #define LCD_BACKLIGHT_GPIO 2 // Not used -// #define LCD_RESET_GPIO GPIO_NUM_4 // Corrected to GPIO4 +#endif // SPI pins for control interface (if used) #define LCD_SPI_CS_GPIO_NUM GPIO_NUM_13 // Adjust as per your hardware diff --git a/sdkconfig b/sdkconfig index 768b194f..bce329b8 100644 --- a/sdkconfig +++ b/sdkconfig @@ -2,44 +2,57 @@ # Automatically generated file. DO NOT EDIT. # Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Configuration # -CONFIG_SOC_BROWNOUT_RESET_SUPPORTED="Not determined" -CONFIG_SOC_TWAI_BRP_DIV_SUPPORTED="Not determined" -CONFIG_SOC_DPORT_WORKAROUND="Not determined" -CONFIG_SOC_CAPS_ECO_VER_MAX=301 +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 CONFIG_SOC_ADC_SUPPORTED=y -CONFIG_SOC_DAC_SUPPORTED=y CONFIG_SOC_UART_SUPPORTED=y -CONFIG_SOC_MCPWM_SUPPORTED=y -CONFIG_SOC_GPTIMER_SUPPORTED=y -CONFIG_SOC_SDMMC_HOST_SUPPORTED=y -CONFIG_SOC_BT_SUPPORTED=y CONFIG_SOC_PCNT_SUPPORTED=y CONFIG_SOC_PHY_SUPPORTED=y CONFIG_SOC_WIFI_SUPPORTED=y -CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y CONFIG_SOC_TWAI_SUPPORTED=y -CONFIG_SOC_EFUSE_SUPPORTED=y -CONFIG_SOC_EMAC_SUPPORTED=y +CONFIG_SOC_GDMA_SUPPORTED=y +CONFIG_SOC_AHB_GDMA_SUPPORTED=y +CONFIG_SOC_GPTIMER_SUPPORTED=y +CONFIG_SOC_LCDCAM_SUPPORTED=y +CONFIG_SOC_MCPWM_SUPPORTED=y +CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y +CONFIG_SOC_CACHE_SUPPORT_WRAP=y CONFIG_SOC_ULP_SUPPORTED=y +CONFIG_SOC_ULP_FSM_SUPPORTED=y +CONFIG_SOC_RISCV_COPROC_SUPPORTED=y +CONFIG_SOC_BT_SUPPORTED=y +CONFIG_SOC_USB_OTG_SUPPORTED=y +CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y +CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y +CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y +CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y +CONFIG_SOC_EFUSE_SUPPORTED=y +CONFIG_SOC_SDMMC_HOST_SUPPORTED=y CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y CONFIG_SOC_RTC_MEM_SUPPORTED=y +CONFIG_SOC_PSRAM_DMA_CAPABLE=y +CONFIG_SOC_XT_WDT_SUPPORTED=y CONFIG_SOC_I2S_SUPPORTED=y CONFIG_SOC_RMT_SUPPORTED=y CONFIG_SOC_SDM_SUPPORTED=y CONFIG_SOC_GPSPI_SUPPORTED=y CONFIG_SOC_LEDC_SUPPORTED=y CONFIG_SOC_I2C_SUPPORTED=y +CONFIG_SOC_SYSTIMER_SUPPORTED=y CONFIG_SOC_SUPPORT_COEXISTENCE=y +CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y CONFIG_SOC_AES_SUPPORTED=y CONFIG_SOC_MPI_SUPPORTED=y CONFIG_SOC_SHA_SUPPORTED=y +CONFIG_SOC_HMAC_SUPPORTED=y +CONFIG_SOC_DIG_SIGN_SUPPORTED=y CONFIG_SOC_FLASH_ENC_SUPPORTED=y CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +CONFIG_SOC_MEMPROT_SUPPORTED=y CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y CONFIG_SOC_BOD_SUPPORTED=y -CONFIG_SOC_ULP_FSM_SUPPORTED=y CONFIG_SOC_CLK_TREE_SUPPORTED=y CONFIG_SOC_MPU_SUPPORTED=y CONFIG_SOC_WDT_SUPPORTED=y @@ -49,30 +62,36 @@ CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y CONFIG_SOC_PM_SUPPORTED=y -CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5 -CONFIG_SOC_XTAL_SUPPORT_26M=y CONFIG_SOC_XTAL_SUPPORT_40M=y -CONFIG_SOC_XTAL_SUPPORT_AUTO_DETECT=y +CONFIG_SOC_APPCPU_HAS_CLOCK_GATING_BUG=y CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +CONFIG_SOC_ADC_ARBITER_SUPPORTED=y +CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y +CONFIG_SOC_ADC_MONITOR_SUPPORTED=y CONFIG_SOC_ADC_DMA_SUPPORTED=y CONFIG_SOC_ADC_PERIPH_NUM=2 CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 CONFIG_SOC_ADC_ATTEN_NUM=4 CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 -CONFIG_SOC_ADC_PATT_LEN_MAX=16 -CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=9 +CONFIG_SOC_ADC_PATT_LEN_MAX=24 +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 -CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2 +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 -CONFIG_SOC_ADC_DIGI_MONITOR_NUM=0 -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=2 -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=20 -CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9 +CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y +CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y CONFIG_SOC_ADC_SHARED_POWER=y -CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y -CONFIG_SOC_IDCACHE_PER_CORE=y +CONFIG_SOC_APB_BACKUP_DMA=y +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y +CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y +CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y CONFIG_SOC_CPU_CORES_NUM=2 CONFIG_SOC_CPU_INTR_NUM=32 CONFIG_SOC_CPU_HAS_FPU=y @@ -80,48 +99,56 @@ CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64 -CONFIG_SOC_DAC_CHAN_NUM=2 -CONFIG_SOC_DAC_RESOLUTION=8 -CONFIG_SOC_DAC_DMA_16BIT_ALIGN=y +CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096 +CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 +CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 +CONFIG_SOC_AHB_GDMA_VERSION=1 +CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 +CONFIG_SOC_GDMA_PAIRS_PER_GROUP=5 +CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=5 +CONFIG_SOC_AHB_GDMA_SUPPORT_PSRAM=y CONFIG_SOC_GPIO_PORT=1 -CONFIG_SOC_GPIO_PIN_COUNT=40 -CONFIG_SOC_GPIO_VALID_GPIO_MASK=0xFFFFFFFFFF -CONFIG_SOC_GPIO_IN_RANGE_MAX=39 -CONFIG_SOC_GPIO_OUT_RANGE_MAX=33 -CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA +CONFIG_SOC_GPIO_PIN_COUNT=49 +CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y +CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y +CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y +CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y +CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x1FFFFFFFFFFFF +CONFIG_SOC_GPIO_IN_RANGE_MAX=48 +CONFIG_SOC_GPIO_OUT_RANGE_MAX=48 +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000 CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y CONFIG_SOC_I2C_NUM=2 CONFIG_SOC_HP_I2C_NUM=2 CONFIG_SOC_I2C_FIFO_LEN=32 -CONFIG_SOC_I2C_CMD_REG_NUM=16 +CONFIG_SOC_I2C_CMD_REG_NUM=8 CONFIG_SOC_I2C_SUPPORT_SLAVE=y -CONFIG_SOC_I2C_SUPPORT_APB=y -CONFIG_SOC_I2C_STOP_INDEPENDENT=y +CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y +CONFIG_SOC_I2C_SUPPORT_XTAL=y +CONFIG_SOC_I2C_SUPPORT_RTC=y +CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y CONFIG_SOC_I2S_NUM=2 -CONFIG_SOC_I2S_HW_VERSION_1=y -CONFIG_SOC_I2S_SUPPORTS_APLL=y +CONFIG_SOC_I2S_HW_VERSION_2=y +CONFIG_SOC_I2S_SUPPORTS_XTAL=y CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y +CONFIG_SOC_I2S_SUPPORTS_PCM=y CONFIG_SOC_I2S_SUPPORTS_PDM=y CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y -CONFIG_SOC_I2S_PDM_MAX_TX_LINES=1 +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y -CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1 -CONFIG_SOC_I2S_SUPPORTS_ADC_DAC=y -CONFIG_SOC_I2S_SUPPORTS_ADC=y -CONFIG_SOC_I2S_SUPPORTS_DAC=y -CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y -CONFIG_SOC_I2S_TRANS_SIZE_ALIGN_WORD=y -CONFIG_SOC_I2S_LCD_I80_VARIANT=y -CONFIG_SOC_LCD_I80_SUPPORTED=y -CONFIG_SOC_LCD_I80_BUSES=2 -CONFIG_SOC_LCD_I80_BUS_WIDTH=24 -CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=4 +CONFIG_SOC_I2S_SUPPORTS_TDM=y CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y -CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y -CONFIG_SOC_LEDC_SUPPORT_HS_MODE=y +CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y CONFIG_SOC_LEDC_CHANNEL_NUM=8 -CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 +CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y CONFIG_SOC_MCPWM_GROUPS=2 CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 @@ -132,116 +159,208 @@ CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 -CONFIG_SOC_MMU_PERIPH_NUM=2 -CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=3 -CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 -CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 +CONFIG_SOC_MMU_PERIPH_NUM=1 CONFIG_SOC_PCNT_GROUPS=1 -CONFIG_SOC_PCNT_UNITS_PER_GROUP=8 +CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 CONFIG_SOC_RMT_GROUPS=1 -CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=8 -CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=8 +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4 +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4 CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 -CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64 -CONFIG_SOC_RMT_SUPPORT_REF_TICK=y +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 +CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y +CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y +CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y +CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y +CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y +CONFIG_SOC_RMT_SUPPORT_XTAL=y +CONFIG_SOC_RMT_SUPPORT_RC_FAST=y CONFIG_SOC_RMT_SUPPORT_APB=y -CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y -CONFIG_SOC_RTCIO_PIN_COUNT=18 +CONFIG_SOC_RMT_SUPPORT_DMA=y +CONFIG_SOC_LCD_I80_SUPPORTED=y +CONFIG_SOC_LCD_RGB_SUPPORTED=y +CONFIG_SOC_LCD_I80_BUSES=1 +CONFIG_SOC_LCD_RGB_PANELS=1 +CONFIG_SOC_LCD_I80_BUS_WIDTH=16 +CONFIG_SOC_LCD_RGB_DATA_WIDTH=16 +CONFIG_SOC_LCD_SUPPORT_RGB_YUV_CONV=y +CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 +CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549 +CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128 +CONFIG_SOC_RTCIO_PIN_COUNT=22 CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y -CONFIG_SOC_SDM_GROUPS=1 +CONFIG_SOC_SDM_GROUPS=y CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 CONFIG_SOC_SDM_CLK_SUPPORT_APB=y -CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y -CONFIG_SOC_SPI_AS_CS_SUPPORTED=y CONFIG_SOC_SPI_PERIPH_NUM=3 -CONFIG_SOC_SPI_DMA_CHAN_NUM=2 -CONFIG_SOC_SPI_MAX_CS_NUM=3 -CONFIG_SOC_SPI_SUPPORT_CLK_APB=y +CONFIG_SOC_SPI_MAX_CS_NUM=6 CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 -CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192 +CONFIG_SOC_SPI_SUPPORT_DDRCLK=y +CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y +CONFIG_SOC_SPI_SUPPORT_CD_SIG=y +CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y +CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +CONFIG_SOC_SPI_SUPPORT_CLK_APB=y +CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y +CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y +CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 +CONFIG_SOC_SPI_SUPPORT_OCT=y +CONFIG_SOC_SPI_SCT_SUPPORTED=y +CONFIG_SOC_SPI_SCT_REG_NUM=14 +CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y +CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA +CONFIG_SOC_MEMSPI_SRC_FREQ_120M=y CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y -CONFIG_SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y +CONFIG_SOC_SPIRAM_SUPPORTED=y +CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y +CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 +CONFIG_SOC_SYSTIMER_ALARM_NUM=3 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 +CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y +CONFIG_SOC_SYSTIMER_INT_LEVEL=y +CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y CONFIG_SOC_TIMER_GROUPS=2 CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 -CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64 -CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 +CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y -CONFIG_SOC_TOUCH_SENSOR_VERSION=1 -CONFIG_SOC_TOUCH_SENSOR_NUM=10 +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +CONFIG_SOC_TOUCH_SENSOR_VERSION=2 +CONFIG_SOC_TOUCH_SENSOR_NUM=15 +CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y +CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y +CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y +CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3 +CONFIG_SOC_TOUCH_PROXIMITY_MEAS_DONE_SUPPORTED=y CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 CONFIG_SOC_TWAI_CONTROLLER_NUM=1 -CONFIG_SOC_TWAI_BRP_MIN=2 CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y -CONFIG_SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT=y +CONFIG_SOC_TWAI_BRP_MIN=2 +CONFIG_SOC_TWAI_BRP_MAX=16384 +CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y CONFIG_SOC_UART_NUM=3 CONFIG_SOC_UART_HP_NUM=3 -CONFIG_SOC_UART_SUPPORT_APB_CLK=y -CONFIG_SOC_UART_SUPPORT_REF_TICK=y CONFIG_SOC_UART_FIFO_LEN=128 CONFIG_SOC_UART_BITRATE_MAX=5000000 -CONFIG_SOC_SPIRAM_SUPPORTED=y -CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y -CONFIG_SOC_SHA_SUPPORT_PARALLEL_ENG=y -CONFIG_SOC_SHA_ENDIANNESS_BE=y +CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y +CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y +CONFIG_SOC_UART_SUPPORT_APB_CLK=y +CONFIG_SOC_UART_SUPPORT_RTC_CLK=y +CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y +CONFIG_SOC_USB_OTG_PERIPH_NUM=1 +CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 +CONFIG_SOC_SHA_SUPPORT_DMA=y +CONFIG_SOC_SHA_SUPPORT_RESUME=y +CONFIG_SOC_SHA_GDMA=y CONFIG_SOC_SHA_SUPPORT_SHA1=y +CONFIG_SOC_SHA_SUPPORT_SHA224=y CONFIG_SOC_SHA_SUPPORT_SHA256=y CONFIG_SOC_SHA_SUPPORT_SHA384=y CONFIG_SOC_SHA_SUPPORT_SHA512=y +CONFIG_SOC_SHA_SUPPORT_SHA512_224=y +CONFIG_SOC_SHA_SUPPORT_SHA512_256=y +CONFIG_SOC_SHA_SUPPORT_SHA512_T=y CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 -CONFIG_SOC_MPI_OPERATIONS_NUM=y +CONFIG_SOC_MPI_OPERATIONS_NUM=3 CONFIG_SOC_RSA_MAX_BIT_LEN=4096 +CONFIG_SOC_AES_SUPPORT_DMA=y +CONFIG_SOC_AES_GDMA=y CONFIG_SOC_AES_SUPPORT_AES_128=y -CONFIG_SOC_AES_SUPPORT_AES_192=y CONFIG_SOC_AES_SUPPORT_AES_256=y -CONFIG_SOC_SECURE_BOOT_V1=y -CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y -CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 -CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_CPU_PD=y +CONFIG_SOC_PM_SUPPORT_TAGMEM_PD=y CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y -CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y -CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y CONFIG_SOC_PM_SUPPORT_MODEM_PD=y CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y -CONFIG_SOC_CLK_APLL_SUPPORTED=y +CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y +CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y +CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y -CONFIG_SOC_SDMMC_USE_IOMUX=y +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y +CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_USB_JTAG=y +CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y +CONFIG_SOC_EFUSE_DIS_ICACHE=y +CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y +CONFIG_SOC_SECURE_BOOT_V2_RSA=y +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 +CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y +CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y +CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 +CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=256 +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192 +CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y +CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_OPI_MODE=y +CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y +CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y +CONFIG_SOC_MEMSPI_CORE_CLK_SHARED_WITH_PSRAM=y +CONFIG_SOC_COEX_HW_PTI=y +CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y +CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y CONFIG_SOC_SDMMC_NUM_SLOTS=2 +CONFIG_SOC_SDMMC_SUPPORT_XTAL_CLOCK=y +CONFIG_SOC_SDMMC_DELAY_PHASE_NUM=4 +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y +CONFIG_SOC_WIFI_HW_TSF=y +CONFIG_SOC_WIFI_FTM_SUPPORT=y +CONFIG_SOC_WIFI_GCMP_SUPPORT=y CONFIG_SOC_WIFI_WAPI_SUPPORT=y CONFIG_SOC_WIFI_CSI_SUPPORT=y CONFIG_SOC_WIFI_MESH_SUPPORT=y CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y -CONFIG_SOC_WIFI_NAN_SUPPORT=y +CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y CONFIG_SOC_BLE_SUPPORTED=y CONFIG_SOC_BLE_MESH_SUPPORTED=y -CONFIG_SOC_BT_CLASSIC_SUPPORTED=y +CONFIG_SOC_BLE_50_SUPPORTED=y +CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y CONFIG_SOC_BLUFI_SUPPORTED=y -CONFIG_SOC_BT_H2C_ENC_KEY_CTRL_ENH_VSC_SUPPORTED=y CONFIG_SOC_ULP_HAS_ADC=y CONFIG_SOC_PHY_COMBO_MODULE=y -CONFIG_SOC_EMAC_RMII_CLK_OUT_INTERNAL_LOOPBACK=y CONFIG_IDF_CMAKE=y CONFIG_IDF_TOOLCHAIN="gcc" CONFIG_IDF_TARGET_ARCH_XTENSA=y CONFIG_IDF_TARGET_ARCH="xtensa" -CONFIG_IDF_TARGET="esp32" +CONFIG_IDF_TARGET="esp32s3" CONFIG_IDF_INIT_VERSION="5.3.1" -CONFIG_IDF_TARGET_ESP32=y -CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 +CONFIG_IDF_TARGET_ESP32S3=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009 # # Build type @@ -253,8 +372,6 @@ CONFIG_APP_BUILD_BOOTLOADER=y CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y # CONFIG_APP_REPRODUCIBLE_BUILD is not set # CONFIG_APP_NO_BLOBS is not set -# CONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set -# CONFIG_APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set # end of Build type # @@ -268,7 +385,7 @@ CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y CONFIG_BOOTLOADER_PROJECT_VER=1 # end of Bootloader manager -CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000 +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set @@ -306,10 +423,12 @@ CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 # # Security features # -CONFIG_SECURE_BOOT_V1_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_PREFERRED=y # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set # CONFIG_SECURE_BOOT is not set # CONFIG_SECURE_FLASH_ENC_ENABLED is not set +CONFIG_SECURE_ROM_DL_MODE_ENABLED=y # end of Security features # @@ -326,30 +445,56 @@ CONFIG_ESP_ROM_HAS_CRC_LE=y CONFIG_ESP_ROM_HAS_CRC_BE=y CONFIG_ESP_ROM_HAS_MZ_CRC32=y CONFIG_ESP_ROM_HAS_JPEG_DECODE=y -CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y +CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y +CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y +CONFIG_ESP_ROM_USB_OTG_NUM=3 +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 +CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y +CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y +CONFIG_ESP_ROM_GET_CLK_FREQ=y +CONFIG_ESP_ROM_HAS_HAL_WDT=y CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y +CONFIG_ESP_ROM_HAS_SPI_FLASH=y +CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y CONFIG_ESP_ROM_HAS_NEWLIB=y CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y +CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y +CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y +CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y +CONFIG_ESP_ROM_HAS_CACHE_SUSPEND_WAITI_BUG=y +CONFIG_ESP_ROM_HAS_CACHE_WRITEBACK_BUG=y CONFIG_ESP_ROM_HAS_SW_FLOAT=y -CONFIG_ESP_ROM_USB_OTG_NUM=-1 -CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=-1 +CONFIG_ESP_ROM_HAS_VERSION=y CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y +# +# Boot ROM Behavior +# +CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y +# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set +# end of Boot ROM Behavior + # # Serial flasher config # # CONFIG_ESPTOOLPY_NO_STUB is not set -# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# CONFIG_ESPTOOLPY_OCT_FLASH is not set +CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=y +CONFIG_ESPTOOLPY_FLASHMODE_QIO=y # CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set -CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set # CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y CONFIG_ESPTOOLPY_FLASHMODE="dio" +# CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set CONFIG_ESPTOOLPY_FLASHFREQ_80M=y # CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set -# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set # CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y CONFIG_ESPTOOLPY_FLASHFREQ="80m" # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set @@ -424,6 +569,7 @@ CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y CONFIG_APPTRACE_DEST_NONE=y # CONFIG_APPTRACE_DEST_UART1 is not set # CONFIG_APPTRACE_DEST_UART2 is not set +# CONFIG_APPTRACE_DEST_USB_CDC is not set CONFIG_APPTRACE_DEST_UART_NONE=y CONFIG_APPTRACE_UART_TASK_PRIO=1 CONFIG_APPTRACE_LOCK_ENABLE=y @@ -443,6 +589,7 @@ CONFIG_BT_CONTROLLER_ENABLED=y # NimBLE Options # CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y +# CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL is not set # CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set # CONFIG_BT_NIMBLE_LOG_LEVEL_NONE is not set # CONFIG_BT_NIMBLE_LOG_LEVEL_ERROR is not set @@ -499,8 +646,13 @@ CONFIG_BT_NIMBLE_RPA_TIMEOUT=900 # CONFIG_BT_NIMBLE_MESH is not set CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000 -# CONFIG_BT_NIMBLE_HOST_BASED_PRIVACY is not set # CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT is not set +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=y +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY=y +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY=y +# CONFIG_BT_NIMBLE_EXT_ADV is not set +CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS=0 +# CONFIG_BT_NIMBLE_GATT_CACHING is not set CONFIG_BT_NIMBLE_WHITELIST_SIZE=12 # CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set # CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set @@ -568,46 +720,77 @@ CONFIG_BT_NIMBLE_HCI_UART_CTS_PIN=23 # # Controller Options # -CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y -# CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY is not set -# CONFIG_BTDM_CTRL_MODE_BTDM is not set -CONFIG_BTDM_CTRL_BLE_MAX_CONN=3 -CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=0 -CONFIG_BTDM_CTRL_PCM_ROLE_EFF=0 -CONFIG_BTDM_CTRL_PCM_POLAR_EFF=0 -CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=3 -CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=0 -CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0 -CONFIG_BTDM_CTRL_PINNED_TO_CORE=0 -CONFIG_BTDM_CTRL_HCI_MODE_VHCI=y -# CONFIG_BTDM_CTRL_HCI_MODE_UART_H4 is not set +CONFIG_BT_CTRL_MODE_EFF=1 +CONFIG_BT_CTRL_BLE_MAX_ACT=6 +CONFIG_BT_CTRL_BLE_MAX_ACT_EFF=6 +CONFIG_BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB=0 +CONFIG_BT_CTRL_PINNED_TO_CORE=0 +CONFIG_BT_CTRL_HCI_MODE_VHCI=y +# CONFIG_BT_CTRL_HCI_MODE_UART_H4 is not set +CONFIG_BT_CTRL_HCI_TL=1 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=30 +CONFIG_BT_BLE_CCA_MODE_NONE=y +# CONFIG_BT_BLE_CCA_MODE_HW is not set +# CONFIG_BT_BLE_CCA_MODE_SW is not set +CONFIG_BT_BLE_CCA_MODE=0 +CONFIG_BT_CTRL_HW_CCA_VAL=20 +CONFIG_BT_CTRL_HW_CCA_EFF=0 +CONFIG_BT_CTRL_CE_LENGTH_TYPE_ORIG=y +# CONFIG_BT_CTRL_CE_LENGTH_TYPE_CE is not set +# CONFIG_BT_CTRL_CE_LENGTH_TYPE_SD is not set +CONFIG_BT_CTRL_CE_LENGTH_TYPE_EFF=0 +CONFIG_BT_CTRL_TX_ANTENNA_INDEX_0=y +# CONFIG_BT_CTRL_TX_ANTENNA_INDEX_1 is not set +CONFIG_BT_CTRL_TX_ANTENNA_INDEX_EFF=0 +CONFIG_BT_CTRL_RX_ANTENNA_INDEX_0=y +# CONFIG_BT_CTRL_RX_ANTENNA_INDEX_1 is not set +CONFIG_BT_CTRL_RX_ANTENNA_INDEX_EFF=0 +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N24 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N21 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N18 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N15 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N12 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N9 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N6 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N3 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N0 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P3 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P6 is not set +CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P9=y +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P12 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P15 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P18 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P21 is not set +CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_EFF=11 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 +CONFIG_BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 +CONFIG_BT_CTRL_BLE_SCAN_DUPL=y +CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DEVICE=y +# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA is not set +# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA_DEVICE is not set +CONFIG_BT_CTRL_SCAN_DUPL_TYPE=0 +CONFIG_BT_CTRL_SCAN_DUPL_CACHE_SIZE=100 +CONFIG_BT_CTRL_DUPL_SCAN_CACHE_REFRESH_PERIOD=0 +# CONFIG_BT_CTRL_BLE_MESH_SCAN_DUPL_EN is not set +# CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EN is not set +CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_DIS=y +CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EFF=0 # # MODEM SLEEP Options # -CONFIG_BTDM_CTRL_MODEM_SLEEP=y -CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_ORIG=y -# CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_EVED is not set -CONFIG_BTDM_CTRL_LPCLK_SEL_MAIN_XTAL=y +# CONFIG_BT_CTRL_MODEM_SLEEP is not set # end of MODEM SLEEP Options -CONFIG_BTDM_BLE_DEFAULT_SCA_250PPM=y -CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1 -CONFIG_BTDM_BLE_SCAN_DUPL=y -CONFIG_BTDM_SCAN_DUPL_TYPE_DEVICE=y -# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA is not set -# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA_DEVICE is not set -CONFIG_BTDM_SCAN_DUPL_TYPE=0 -CONFIG_BTDM_SCAN_DUPL_CACHE_SIZE=100 -CONFIG_BTDM_SCAN_DUPL_CACHE_REFRESH_PERIOD=0 -# CONFIG_BTDM_BLE_MESH_SCAN_DUPL_EN is not set -CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED=y -# CONFIG_BTDM_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set -CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y -CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 -CONFIG_BTDM_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 -CONFIG_BTDM_RESERVE_DRAM=0xdb5c -CONFIG_BTDM_CTRL_HLI=y +CONFIG_BT_CTRL_SLEEP_MODE_EFF=0 +CONFIG_BT_CTRL_SLEEP_CLOCK_EFF=0 +CONFIG_BT_CTRL_HCI_TL_EFF=1 +# CONFIG_BT_CTRL_AGC_RECORRECT_EN is not set +# CONFIG_BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set +# CONFIG_BT_BLE_ADV_DATA_LENGTH_ZERO_AUX is not set +CONFIG_BT_CTRL_CHAN_ASS_EN=y +CONFIG_BT_CTRL_LE_PING_EN=y # end of Controller Options # @@ -635,35 +818,21 @@ CONFIG_BT_ALARM_MAX_NUM=50 # TWAI Configuration # # CONFIG_TWAI_ISR_IN_IRAM is not set -CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC=y -CONFIG_TWAI_ERRATA_FIX_TX_INTR_LOST=y -CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID=y -CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT=y CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y # end of TWAI Configuration # # Legacy ADC Driver Configuration # -CONFIG_ADC_DISABLE_DAC=y # CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set # # Legacy ADC Calibration Configuration # -CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y -CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y -CONFIG_ADC_CAL_LUT_ENABLE=y # CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set # end of Legacy ADC Calibration Configuration # end of Legacy ADC Driver Configuration -# -# Legacy DAC Driver Configurations -# -# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy DAC Driver Configurations - # # Legacy MCPWM Driver Configurations # @@ -699,6 +868,12 @@ CONFIG_ADC_CAL_LUT_ENABLE=y # # CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set # end of Legacy SDM Driver Configurations + +# +# Legacy Temperature Sensor Driver Configurations +# +# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy Temperature Sensor Driver Configurations # end of Driver Configurations # @@ -706,17 +881,14 @@ CONFIG_ADC_CAL_LUT_ENABLE=y # # CONFIG_EFUSE_CUSTOM_TABLE is not set # CONFIG_EFUSE_VIRTUAL is not set -# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set -CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y -# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set -CONFIG_EFUSE_MAX_BLK_LEN=192 +CONFIG_EFUSE_MAX_BLK_LEN=256 # end of eFuse Bit Manager # # ESP-TLS # CONFIG_ESP_TLS_USING_MBEDTLS=y -# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set +CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set # CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set # CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set @@ -730,16 +902,7 @@ CONFIG_ESP_TLS_USING_MBEDTLS=y # # CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set # CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set - -# -# ADC Calibration Configurations -# -CONFIG_ADC_CALI_EFUSE_TP_ENABLE=y -CONFIG_ADC_CALI_EFUSE_VREF_ENABLE=y -CONFIG_ADC_CALI_LUT_ENABLE=y -# end of ADC Calibration Configurations - -CONFIG_ADC_DISABLE_DAC_OUTPUT=y +# CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set # CONFIG_ADC_ENABLE_DEBUG_LOG is not set # end of ADC and ADC Calibration @@ -757,19 +920,9 @@ CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y CONFIG_ESP_ERR_TO_NAME_LOOKUP=y # end of Common ESP-related -# -# ESP-Driver:DAC Configurations -# -# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set -# CONFIG_DAC_ISR_IRAM_SAFE is not set -# CONFIG_DAC_ENABLE_DEBUG_LOG is not set -CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y -# end of ESP-Driver:DAC Configurations - # # ESP-Driver:GPIO Configurations # -# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set # CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set # end of ESP-Driver:GPIO Configurations @@ -849,25 +1002,28 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y # CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:Touch Sensor Configurations +# +# ESP-Driver:Temperature Sensor Configurations +# +# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Temperature Sensor Configurations + # # ESP-Driver:UART Configurations # # CONFIG_UART_ISR_IN_IRAM is not set # end of ESP-Driver:UART Configurations +# +# ESP-Driver:USB Serial/JTAG Configuration +# +CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y +# end of ESP-Driver:USB Serial/JTAG Configuration + # # Ethernet # CONFIG_ETH_ENABLED=y -CONFIG_ETH_USE_ESP32_EMAC=y -CONFIG_ETH_PHY_INTERFACE_RMII=y -CONFIG_ETH_RMII_CLK_INPUT=y -# CONFIG_ETH_RMII_CLK_OUTPUT is not set -CONFIG_ETH_RMII_CLK_IN_GPIO=0 -CONFIG_ETH_DMA_BUFFER_SIZE=512 -CONFIG_ETH_DMA_RX_BUFFER_NUM=10 -CONFIG_ETH_DMA_TX_BUFFER_NUM=10 -# CONFIG_ETH_IRAM_OPTIMIZATION is not set CONFIG_ETH_USE_SPI_ETHERNET=y # CONFIG_ETH_SPI_ETHERNET_DM9051 is not set # CONFIG_ETH_SPI_ETHERNET_W5500 is not set @@ -934,21 +1090,17 @@ CONFIG_HTTPD_PURGE_BUF_LEN=32 # # Chip revision # -CONFIG_ESP32_REV_MIN_0=y -# CONFIG_ESP32_REV_MIN_1 is not set -# CONFIG_ESP32_REV_MIN_1_1 is not set -# CONFIG_ESP32_REV_MIN_2 is not set -# CONFIG_ESP32_REV_MIN_3 is not set -# CONFIG_ESP32_REV_MIN_3_1 is not set -CONFIG_ESP32_REV_MIN=0 -CONFIG_ESP32_REV_MIN_FULL=0 +CONFIG_ESP32S3_REV_MIN_0=y +# CONFIG_ESP32S3_REV_MIN_1 is not set +# CONFIG_ESP32S3_REV_MIN_2 is not set +CONFIG_ESP32S3_REV_MIN_FULL=0 CONFIG_ESP_REV_MIN_FULL=0 # -# Maximum Supported ESP32 Revision (Rev v3.99) +# Maximum Supported ESP32-S3 Revision (Rev v0.99) # -CONFIG_ESP32_REV_MAX_FULL=399 -CONFIG_ESP_REV_MAX_FULL=399 +CONFIG_ESP32S3_REV_MAX_FULL=99 +CONFIG_ESP_REV_MAX_FULL=99 # end of Chip revision # @@ -960,18 +1112,17 @@ CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 -# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set -CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y -CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 -# CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR is not set +# CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4 # CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set # end of MAC Config # # Sleep Config # -# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND=y # CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y @@ -997,12 +1148,18 @@ CONFIG_RTC_CLK_CAL_CYCLES=1024 CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y # end of Peripheral Control +# +# GDMA Configurations +# +CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y +# CONFIG_GDMA_ISR_IRAM_SAFE is not set +# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set +# end of GDMA Configurations + # # Main XTAL Config # -# CONFIG_XTAL_FREQ_26 is not set CONFIG_XTAL_FREQ_40=y -# CONFIG_XTAL_FREQ_AUTO is not set CONFIG_XTAL_FREQ=40 # end of Main XTAL Config @@ -1022,6 +1179,8 @@ CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y # CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 # CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set +# CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set # end of LCD Peripheral Configuration # end of LCD and Touch Panel @@ -1051,6 +1210,8 @@ CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 CONFIG_ESP_PHY_MAX_TX_POWER=20 # CONFIG_ESP_PHY_REDUCE_TX_POWER is not set +CONFIG_ESP_PHY_ENABLE_USB=y +# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set CONFIG_ESP_PHY_RF_CAL_PARTIAL=y # CONFIG_ESP_PHY_RF_CAL_NONE is not set # CONFIG_ESP_PHY_RF_CAL_FULL is not set @@ -1063,12 +1224,44 @@ CONFIG_ESP_PHY_CALIBRATION_MODE=0 # # CONFIG_PM_ENABLE is not set CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y +CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y # end of Power Management # # ESP PSRAM # -# CONFIG_SPIRAM is not set +CONFIG_SPIRAM=y + +# +# SPI RAM config +# +# CONFIG_SPIRAM_MODE_QUAD is not set +CONFIG_SPIRAM_MODE_OCT=y +CONFIG_SPIRAM_TYPE_AUTO=y +# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set +CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y +CONFIG_SPIRAM_CLK_IO=30 +CONFIG_SPIRAM_CS_IO=26 +# CONFIG_SPIRAM_XIP_FROM_PSRAM is not set +CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y +CONFIG_SPIRAM_RODATA=y +# CONFIG_SPIRAM_SPEED_120M is not set +CONFIG_SPIRAM_SPEED_80M=y +# CONFIG_SPIRAM_SPEED_40M is not set +CONFIG_SPIRAM_SPEED=80 +# CONFIG_SPIRAM_ECC_ENABLE is not set +CONFIG_SPIRAM_BOOT_INIT=y +# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set +# CONFIG_SPIRAM_USE_MEMMAP is not set +# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set +CONFIG_SPIRAM_USE_MALLOC=y +CONFIG_SPIRAM_MEMTEST=y +CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384 +# CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set +CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 +# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set +# end of SPI RAM config # end of ESP PSRAM # @@ -1081,29 +1274,47 @@ CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y # ESP System Settings # # CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 + +# +# Cache config +# +CONFIG_ESP32S3_INSTRUCTION_CACHE_16KB=y +# CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB is not set +CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE=0x4000 +# CONFIG_ESP32S3_INSTRUCTION_CACHE_4WAYS is not set +CONFIG_ESP32S3_INSTRUCTION_CACHE_8WAYS=y +CONFIG_ESP32S3_ICACHE_ASSOCIATED_WAYS=8 +# CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_16B is not set +CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_32B=y +CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_SIZE=32 +# CONFIG_ESP32S3_DATA_CACHE_16KB is not set +CONFIG_ESP32S3_DATA_CACHE_32KB=y +# CONFIG_ESP32S3_DATA_CACHE_64KB is not set +CONFIG_ESP32S3_DATA_CACHE_SIZE=0x8000 +# CONFIG_ESP32S3_DATA_CACHE_4WAYS is not set +CONFIG_ESP32S3_DATA_CACHE_8WAYS=y +CONFIG_ESP32S3_DCACHE_ASSOCIATED_WAYS=8 +# CONFIG_ESP32S3_DATA_CACHE_LINE_16B is not set +# CONFIG_ESP32S3_DATA_CACHE_LINE_32B is not set +CONFIG_ESP32S3_DATA_CACHE_LINE_64B=y +CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=64 +# end of Cache config # # Memory # -# CONFIG_ESP32_RTCDATA_IN_FAST_MEM is not set -# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set -# CONFIG_ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY is not set - -# -# Non-backward compatible options -# -# CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM is not set -# end of Non-backward compatible options +# CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM is not set +# CONFIG_ESP32S3_USE_FIXED_STATIC_RAM_SIZE is not set # end of Memory # # Trace memory # -# CONFIG_ESP32_TRAX is not set -CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 +# CONFIG_ESP32S3_TRAX is not set +CONFIG_ESP32S3_TRACEMEM_RESERVE_DRAM=0x0 # end of Trace memory # CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set @@ -1118,6 +1329,8 @@ CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y # # Memory protection # +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y # end of Memory protection CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 @@ -1128,41 +1341,40 @@ CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# CONFIG_ESP_CONSOLE_USB_CDC is not set +# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set # CONFIG_ESP_CONSOLE_UART_CUSTOM is not set # CONFIG_ESP_CONSOLE_NONE is not set +# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set +CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y CONFIG_ESP_CONSOLE_UART=y CONFIG_ESP_CONSOLE_UART_NUM=0 CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 -CONFIG_ESP_INT_WDT=y -CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 -CONFIG_ESP_TASK_WDT_EN=y -CONFIG_ESP_TASK_WDT_INIT=y -# CONFIG_ESP_TASK_WDT_PANIC is not set -CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 -CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_ESP_INT_WDT is not set +# CONFIG_ESP_TASK_WDT_EN is not set # CONFIG_ESP_PANIC_HANDLER_IRAM is not set # CONFIG_ESP_DEBUG_STUBS_ENABLE is not set CONFIG_ESP_DEBUG_OCDAWARE=y -CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5=y +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y # # Brownout Detector # CONFIG_ESP_BROWNOUT_DET=y -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set CONFIG_ESP_BROWNOUT_DET_LVL=7 # end of Brownout Detector -# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y # end of ESP System Settings # @@ -1184,7 +1396,7 @@ CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y # CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set -CONFIG_ESP_TIMER_IMPL_TG0_LAC=y +CONFIG_ESP_TIMER_IMPL_SYSTIMER=y # end of ESP Timer (High Resolution Timer) # @@ -1193,10 +1405,10 @@ CONFIG_ESP_TIMER_IMPL_TG0_LAC=y CONFIG_ESP_WIFI_ENABLED=y CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y -CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=16 +CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=32 CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y # CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 @@ -1206,6 +1418,7 @@ CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y CONFIG_ESP_WIFI_TX_BA_WIN=6 CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP_WIFI_RX_BA_WIN=6 +# CONFIG_ESP_WIFI_AMSDU_TX_ENABLED is not set CONFIG_ESP_WIFI_NVS_ENABLED=y CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 @@ -1220,17 +1433,21 @@ CONFIG_ESP_WIFI_SLP_IRAM_OPT=y CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 +# CONFIG_ESP_WIFI_FTM_ENABLE is not set CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y +# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set CONFIG_ESP_WIFI_GMAC_SUPPORT=y CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y # CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 -# CONFIG_ESP_WIFI_NAN_ENABLE is not set CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y +# CONFIG_ESP_WIFI_EAP_TLS1_3 is not set # CONFIG_ESP_WIFI_WAPI_PSK is not set +# CONFIG_ESP_WIFI_SUITE_B_192 is not set # CONFIG_ESP_WIFI_11KV_SUPPORT is not set # CONFIG_ESP_WIFI_MBO_SUPPORT is not set +# CONFIG_ESP_WIFI_ENABLE_ROAMING_APP is not set # CONFIG_ESP_WIFI_DPP_SUPPORT is not set # CONFIG_ESP_WIFI_11R_SUPPORT is not set # CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set @@ -1294,6 +1511,7 @@ CONFIG_FATFS_API_ENCODING_ANSI_OEM=y CONFIG_FATFS_FS_LOCK=0 CONFIG_FATFS_TIMEOUT_MS=10000 CONFIG_FATFS_PER_FILE_CACHE=y +CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y # CONFIG_FATFS_USE_FASTSEEK is not set CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 # CONFIG_FATFS_IMMEDIATE_FSYNC is not set @@ -1310,7 +1528,7 @@ CONFIG_FATFS_LINK_LOCK=y # # CONFIG_FREERTOS_SMP is not set CONFIG_FREERTOS_UNICORE=y -CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_HZ=1000 CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set @@ -1346,11 +1564,10 @@ CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y CONFIG_FREERTOS_ISR_STACKSIZE=1536 CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y -# CONFIG_FREERTOS_FPU_IN_ISR is not set -CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y -CONFIG_FREERTOS_CORETIMER_0=y -# CONFIG_FREERTOS_CORETIMER_1 is not set -CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y +CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y +CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y +# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set +CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set # end of Port @@ -1372,6 +1589,7 @@ CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y # CONFIG_HAL_ASSERTION_SILENT is not set # CONFIG_HAL_ASSERTION_ENABLE is not set CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +CONFIG_HAL_WDT_USE_ROM_IMPL=y CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y # end of Hardware Abstraction Layer (HAL) and Low Level (LL) @@ -1588,6 +1806,7 @@ CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y # mbedTLS # CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC is not set # CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set # CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y @@ -1622,9 +1841,13 @@ CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 # CONFIG_MBEDTLS_ECP_RESTARTABLE is not set CONFIG_MBEDTLS_CMAC_C=y CONFIG_MBEDTLS_HARDWARE_AES=y +CONFIG_MBEDTLS_AES_USE_INTERRUPT=y +CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y CONFIG_MBEDTLS_HARDWARE_MPI=y CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y +CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y +CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_HARDWARE_SHA=y CONFIG_MBEDTLS_ROM_MD5=y # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set @@ -1744,9 +1967,12 @@ CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y # CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set # end of Newlib +CONFIG_STDATOMIC_S32C1I_SPIRAM_WORKAROUND=y + # # NVS # +# CONFIG_NVS_ENCRYPTION is not set # CONFIG_NVS_ASSERT_ERROR_CHECK is not set # CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set # end of NVS @@ -1822,6 +2048,14 @@ CONFIG_SPI_FLASH_BROWNOUT_RESET=y # # Features here require specific hardware (READ DOCS FIRST!) # +# CONFIG_SPI_FLASH_HPM_ENA is not set +CONFIG_SPI_FLASH_HPM_AUTO=y +# CONFIG_SPI_FLASH_HPM_DIS is not set +CONFIG_SPI_FLASH_HPM_ON=y +CONFIG_SPI_FLASH_HPM_DC_AUTO=y +# CONFIG_SPI_FLASH_HPM_DC_DISABLE is not set +CONFIG_SPI_FLASH_SUSPEND_QVL_SUPPORTED=y +# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 # end of Optional and Experimental Features (READ DOCS FIRST) # end of Main Flash configuration @@ -1832,10 +2066,10 @@ CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 # CONFIG_SPI_FLASH_VERIFY_WRITE is not set # CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +# CONFIG_SPI_FLASH_ROM_IMPL is not set CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y # CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set # CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set -# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set # CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 @@ -1853,12 +2087,15 @@ CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_TH_SUPPORTED=y # CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_GD_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set +CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP=y # end of Auto-detect flash chips CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y @@ -1936,6 +2173,28 @@ CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y # CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set # end of Unity unit testing library +# +# USB-OTG +# +CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256 +CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y +# CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set +# CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set + +# +# Root Hub configuration +# +CONFIG_USB_HOST_DEBOUNCE_DELAY_MS=250 +CONFIG_USB_HOST_RESET_HOLD_MS=30 +CONFIG_USB_HOST_RESET_RECOVERY_MS=30 +CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10 +# end of Root Hub configuration + +# CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set +# CONFIG_USB_HOST_EXT_HUB_SUPPORT is not set +CONFIG_USB_OTG_SUPPORTED=y +# end of USB-OTG + # # Virtual file system # @@ -1998,9 +2257,8 @@ CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 # # Memory settings # -# CONFIG_LV_MEM_CUSTOM is not set -CONFIG_LV_MEM_SIZE_KILOBYTES=32 -CONFIG_LV_MEM_ADDR=0x0 +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEM_CUSTOM_INCLUDE="stdlib.h" CONFIG_LV_MEM_BUF_MAX_NUM=16 # CONFIG_LV_MEMCPY_MEMSET_STD is not set # end of Memory settings @@ -2011,7 +2269,7 @@ CONFIG_LV_MEM_BUF_MAX_NUM=16 CONFIG_LV_DISP_DEF_REFR_PERIOD=5 CONFIG_LV_INDEV_DEF_READ_PERIOD=30 # CONFIG_LV_TICK_CUSTOM is not set -CONFIG_LV_DPI_DEF=130 +CONFIG_LV_DPI_DEF=217 # end of HAL Settings # @@ -2065,7 +2323,6 @@ CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" # Others # # CONFIG_LV_USE_PERF_MONITOR is not set -# CONFIG_LV_USE_MEM_MONITOR is not set # CONFIG_LV_USE_REFR_DEBUG is not set # CONFIG_LV_SPRINTF_CUSTOM is not set # CONFIG_LV_SPRINTF_USE_FLOAT is not set @@ -2078,7 +2335,7 @@ CONFIG_LV_USE_USER_DATA=y # # CONFIG_LV_BIG_ENDIAN_SYSTEM is not set CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 -# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set +CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y # CONFIG_LV_USE_LARGE_COORD is not set # end of Compiler settings # end of Feature configuration @@ -2302,10 +2559,10 @@ CONFIG_LV_PREDEFINED_DISPLAY_NONE=y # CONFIG_LV_PREDEFINED_DISPLAY_TTGO is not set # CONFIG_LV_PREDEFINED_DISPLAY_TTGO_CAMERA_PLUS is not set # CONFIG_LV_PREDEFINED_DISPLAY_WT32_SC01 is not set -CONFIG_LV_TFT_DISPLAY_CONTROLLER_ST7735S=y +CONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9341=y CONFIG_LV_TFT_DISPLAY_PROTOCOL_SPI=y -CONFIG_LV_HOR_RES_MAX=128 -CONFIG_LV_VER_RES_MAX=128 +CONFIG_LV_HOR_RES_MAX=240 +CONFIG_LV_VER_RES_MAX=320 CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT=y # CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT_INVERTED is not set # CONFIG_LV_DISPLAY_ORIENTATION_LANDSCAPE is not set @@ -2316,14 +2573,14 @@ CONFIG_LV_PREDEFINED_PINS_NONE=y # CONFIG_LV_PREDEFINED_PINS_30 is not set # CONFIG_LV_PREDEFINED_PINS_38V1 is not set # CONFIG_LV_PREDEFINED_PINS_TKOALA is not set -# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9341 is not set +CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9341=y # CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9481 is not set # CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9486 is not set # CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9488 is not set # CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7789 is not set # CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7796S is not set # CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_GC9A01 is not set -CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7735S=y +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7735S is not set # CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_HX8357 is not set # CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SH1107 is not set # CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SSD1306 is not set @@ -2362,7 +2619,6 @@ CONFIG_LV_TFT_SPI_CLK_DIVIDER_2=y # CONFIG_LV_TFT_SPI_CLK_DIVIDER_48 is not set # CONFIG_LV_TFT_SPI_CLK_DIVIDER_80 is not set CONFIG_LV_TFT_CUSTOM_SPI_CLK_DIVIDER=2 -# CONFIG_LV_M5STICKC_HANDLE_AXP192 is not set # CONFIG_LV_INVERT_COLORS is not set # @@ -2379,7 +2635,6 @@ CONFIG_LV_DISPLAY_USE_DC=y CONFIG_LV_DISP_PIN_DC=16 CONFIG_LV_DISP_USE_RST=y CONFIG_LV_DISP_PIN_RST=5 -CONFIG_LV_DISP_PIN_BUSY=35 # end of Display Pin Assignments # CONFIG_LV_DISP_BACKLIGHT_OFF is not set @@ -2387,25 +2642,61 @@ CONFIG_LV_DISP_BACKLIGHT_SWITCH=y # CONFIG_LV_DISP_BACKLIGHT_PWM is not set CONFIG_LV_BACKLIGHT_ACTIVE_LVL=y CONFIG_LV_DISP_PIN_BCKL=32 +CONFIG_LV_I2C=y CONFIG_LV_I2C_DISPLAY_PORT=0 # end of LVGL TFT Display controller # # LVGL Touch controller # -CONFIG_LV_TOUCH_CONTROLLER=0 -CONFIG_LV_TOUCH_CONTROLLER_NONE=y +CONFIG_LV_TOUCH_CONTROLLER=7 +# CONFIG_LV_TOUCH_CONTROLLER_NONE is not set # CONFIG_LV_TOUCH_CONTROLLER_XPT2046 is not set # CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set # CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set # CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set # CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set # CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set -# CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set +CONFIG_LV_TOUCH_CONTROLLER_GT911=y +CONFIG_LV_I2C_TOUCH=y + +# +# Touchpanel Configuration (GT911) +# +CONFIG_LV_GT911_SWAPXY=y +# CONFIG_LV_GT911_INVERT_X is not set +CONFIG_LV_GT911_INVERT_Y=y +# end of Touchpanel Configuration (GT911) + +CONFIG_LV_I2C_TOUCH_PORT_0=y +# CONFIG_LV_I2C_TOUCH_PORT_1 is not set CONFIG_LV_I2C_TOUCH_PORT=0 # end of LVGL Touch controller # end of LVGL ESP Drivers +# +# I2C Port Settings +# + +# +# I2C Port 0 +# +CONFIG_I2C_MANAGER_0_ENABLED=y +CONFIG_I2C_MANAGER_0_SDA=19 +CONFIG_I2C_MANAGER_0_SCL=20 +CONFIG_I2C_MANAGER_0_FREQ_HZ=400000 +CONFIG_I2C_MANAGER_0_TIMEOUT=100 +CONFIG_I2C_MANAGER_0_LOCK_TIMEOUT=50 +# CONFIG_I2C_MANAGER_0_PULLUPS is not set +# end of I2C Port 0 + +# +# I2C Port 1 +# +# CONFIG_I2C_MANAGER_1_ENABLED is not set +# end of I2C Port 1 +# end of I2C Port Settings + # # mDNS # @@ -2436,14 +2727,11 @@ CONFIG_MDNS_PREDEF_NETIF_ETH=y # end of mDNS # end of Component config -# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set +CONFIG_IDF_EXPERIMENTAL_FEATURES=y # Deprecated options for backward compatibility # CONFIG_APP_BUILD_TYPE_ELF_RAM is not set # CONFIG_NO_BLOBS is not set -# CONFIG_ESP32_NO_BLOBS is not set -# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set -# CONFIG_ESP32_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set # CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set # CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set # CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set @@ -2453,9 +2741,9 @@ CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y CONFIG_LOG_BOOTLOADER_LEVEL=3 # CONFIG_APP_ROLLBACK_ENABLE is not set # CONFIG_FLASH_ENCRYPTION_ENABLED is not set -# CONFIG_FLASHMODE_QIO is not set +CONFIG_FLASHMODE_QIO=y # CONFIG_FLASHMODE_QOUT is not set -CONFIG_FLASHMODE_DIO=y +# CONFIG_FLASHMODE_DIO is not set # CONFIG_FLASHMODE_DOUT is not set CONFIG_MONITOR_BAUD=115200 # CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set @@ -2479,6 +2767,7 @@ CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y # CONFIG_BLUEDROID_ENABLED is not set CONFIG_NIMBLE_ENABLED=y CONFIG_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y +# CONFIG_NIMBLE_MEM_ALLOC_MODE_EXTERNAL is not set # CONFIG_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set CONFIG_NIMBLE_MAX_CONNECTIONS=3 CONFIG_NIMBLE_MAX_BONDS=3 @@ -2514,29 +2803,8 @@ CONFIG_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y CONFIG_NIMBLE_RPA_TIMEOUT=900 # CONFIG_NIMBLE_MESH is not set CONFIG_NIMBLE_CRYPTO_STACK_MBEDTLS=y -CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY=y -# CONFIG_BTDM_CONTROLLER_MODE_BR_EDR_ONLY is not set -# CONFIG_BTDM_CONTROLLER_MODE_BTDM is not set -CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN=3 -CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=3 -CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0 -CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0 -CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0 -CONFIG_BTDM_CONTROLLER_HCI_MODE_VHCI=y -# CONFIG_BTDM_CONTROLLER_HCI_MODE_UART_H4 is not set -CONFIG_BTDM_CONTROLLER_MODEM_SLEEP=y -CONFIG_BLE_SCAN_DUPLICATE=y -CONFIG_SCAN_DUPLICATE_BY_DEVICE_ADDR=y -# CONFIG_SCAN_DUPLICATE_BY_ADV_DATA is not set -# CONFIG_SCAN_DUPLICATE_BY_ADV_DATA_AND_DEVICE_ADDR is not set -CONFIG_SCAN_DUPLICATE_TYPE=0 -CONFIG_DUPLICATE_SCAN_CACHE_SIZE=100 -# CONFIG_BLE_MESH_SCAN_DUPLICATE_EN is not set -CONFIG_BTDM_CONTROLLER_FULL_SCAN_SUPPORTED=y -CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_SUPPORTED=y -CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_NUM=100 -CONFIG_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 -CONFIG_ADC2_DISABLE_DAC=y +# CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_EN is not set +CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_DIS=y CONFIG_SW_COEXIST_ENABLE=y CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y @@ -2547,43 +2815,28 @@ CONFIG_POST_EVENTS_FROM_IRAM_ISR=y CONFIG_GDBSTUB_SUPPORT_TASKS=y CONFIG_GDBSTUB_MAX_TASKS=32 # CONFIG_OTA_ALLOW_HTTP is not set -# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set -CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y -CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 -# CONFIG_ESP_SYSTEM_PD_FLASH is not set -CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=0 +CONFIG_ESP32S3_DEEP_SLEEP_WAKEUP_DELAY=0 CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=0 -CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y -CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y -# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set -# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set -# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set -# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set -# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set -# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set -CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 -# CONFIG_ESP32_XTAL_FREQ_26 is not set -CONFIG_ESP32_XTAL_FREQ_40=y -# CONFIG_ESP32_XTAL_FREQ_AUTO is not set -CONFIG_ESP32_XTAL_FREQ=40 +CONFIG_ESP32S3_RTC_CLK_SRC_INT_RC=y +# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32S3_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_ESP32S3_RTC_CLK_CAL_CYCLES=1024 CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y # CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 CONFIG_ESP32_PHY_MAX_TX_POWER=20 # CONFIG_REDUCE_PHY_TX_POWER is not set # CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set -# CONFIG_SPIRAM_SUPPORT is not set -# CONFIG_ESP32_SPIRAM_SUPPORT is not set -# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set -CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y -# CONFIG_ESP32_DEFAULT_CPU_FREQ_240 is not set -CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=160 -CONFIG_TRACEMEM_RESERVE_DRAM=0x0 -# CONFIG_ESP32_PANIC_PRINT_HALT is not set -CONFIG_ESP32_PANIC_PRINT_REBOOT=y -# CONFIG_ESP32_PANIC_SILENT_REBOOT is not set -# CONFIG_ESP32_PANIC_GDBSTUB is not set -CONFIG_ESP32_ALLOW_RTC_FAST_MEM_AS_HEAP=y +CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y +CONFIG_PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP=y +CONFIG_ESP32S3_SPIRAM_SUPPORT=y +CONFIG_DEFAULT_PSRAM_CLK_IO=30 +CONFIG_DEFAULT_PSRAM_CS_IO=26 +# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_80 is not set +# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_160 is not set +CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240=y +CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ=240 CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 CONFIG_MAIN_TASK_STACK_SIZE=3584 @@ -2594,45 +2847,37 @@ CONFIG_CONSOLE_UART_DEFAULT=y CONFIG_CONSOLE_UART=y CONFIG_CONSOLE_UART_NUM=0 CONFIG_CONSOLE_UART_BAUDRATE=115200 -CONFIG_INT_WDT=y -CONFIG_INT_WDT_TIMEOUT_MS=300 -CONFIG_TASK_WDT=y -CONFIG_ESP_TASK_WDT=y -# CONFIG_TASK_WDT_PANIC is not set -CONFIG_TASK_WDT_TIMEOUT_S=5 -CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_INT_WDT is not set # CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set -CONFIG_ESP32_DEBUG_OCDAWARE=y +CONFIG_ESP32S3_DEBUG_OCDAWARE=y CONFIG_BROWNOUT_DET=y -CONFIG_ESP32_BROWNOUT_DET=y -# CONFIG_BROWNOUT_DET_LVL_SEL_0 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set +CONFIG_ESP32S3_BROWNOUT_DET=y +CONFIG_ESP32S3_BROWNOUT_DET=y CONFIG_BROWNOUT_DET_LVL_SEL_7=y -CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7=y +CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_1 is not set CONFIG_BROWNOUT_DET_LVL=7 -CONFIG_ESP32_BROWNOUT_DET_LVL=7 -# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set +CONFIG_ESP32S3_BROWNOUT_DET_LVL=7 CONFIG_IPC_TASK_STACK_SIZE=1024 CONFIG_TIMER_TASK_STACK_SIZE=3584 CONFIG_ESP32_WIFI_ENABLED=y CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y -CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 +CONFIG_ESP32_WIFI_CACHE_TX_BUFFER_NUM=32 # CONFIG_ESP32_WIFI_CSI_ENABLED is not set CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y CONFIG_ESP32_WIFI_TX_BA_WIN=6 @@ -2640,6 +2885,7 @@ CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP32_WIFI_RX_BA_WIN=6 CONFIG_ESP32_WIFI_RX_BA_WIN=6 +# CONFIG_ESP32_WIFI_AMSDU_TX_ENABLED is not set CONFIG_ESP32_WIFI_NVS_ENABLED=y CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 @@ -2650,6 +2896,7 @@ CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y CONFIG_WPA_MBEDTLS_CRYPTO=y CONFIG_WPA_MBEDTLS_TLS_CLIENT=y # CONFIG_WPA_WAPI_PSK is not set +# CONFIG_WPA_SUITE_B_192 is not set # CONFIG_WPA_11KV_SUPPORT is not set # CONFIG_WPA_MBO_SUPPORT is not set # CONFIG_WPA_DPP_SUPPORT is not set @@ -2687,12 +2934,12 @@ CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y # CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF # CONFIG_PPP_SUPPORT is not set -CONFIG_ESP32_TIME_SYSCALL_USE_RTC_HRT=y -CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y -# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set -# CONFIG_ESP32_TIME_SYSCALL_USE_HRT is not set -# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set -# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_SYSTIMER=y +CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_FRC1=y +# CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_SYSTIMER is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_FRC1 is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_NONE is not set CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 CONFIG_ESP32_PTHREAD_STACK_MIN=768 @@ -2701,7 +2948,6 @@ CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y # CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set # CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set -# CONFIG_ESP32_ULP_COPROC_ENABLED is not set CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y CONFIG_SUPPORT_TERMIOS=y CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 diff --git a/sdkconfig.old b/sdkconfig.old index f4fc3804..0d3466a5 100644 --- a/sdkconfig.old +++ b/sdkconfig.old @@ -2,44 +2,57 @@ # Automatically generated file. DO NOT EDIT. # Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Configuration # -CONFIG_SOC_BROWNOUT_RESET_SUPPORTED="Not determined" -CONFIG_SOC_TWAI_BRP_DIV_SUPPORTED="Not determined" -CONFIG_SOC_DPORT_WORKAROUND="Not determined" -CONFIG_SOC_CAPS_ECO_VER_MAX=301 +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 CONFIG_SOC_ADC_SUPPORTED=y -CONFIG_SOC_DAC_SUPPORTED=y CONFIG_SOC_UART_SUPPORTED=y -CONFIG_SOC_MCPWM_SUPPORTED=y -CONFIG_SOC_GPTIMER_SUPPORTED=y -CONFIG_SOC_SDMMC_HOST_SUPPORTED=y -CONFIG_SOC_BT_SUPPORTED=y CONFIG_SOC_PCNT_SUPPORTED=y CONFIG_SOC_PHY_SUPPORTED=y CONFIG_SOC_WIFI_SUPPORTED=y -CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y CONFIG_SOC_TWAI_SUPPORTED=y -CONFIG_SOC_EFUSE_SUPPORTED=y -CONFIG_SOC_EMAC_SUPPORTED=y +CONFIG_SOC_GDMA_SUPPORTED=y +CONFIG_SOC_AHB_GDMA_SUPPORTED=y +CONFIG_SOC_GPTIMER_SUPPORTED=y +CONFIG_SOC_LCDCAM_SUPPORTED=y +CONFIG_SOC_MCPWM_SUPPORTED=y +CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y +CONFIG_SOC_CACHE_SUPPORT_WRAP=y CONFIG_SOC_ULP_SUPPORTED=y +CONFIG_SOC_ULP_FSM_SUPPORTED=y +CONFIG_SOC_RISCV_COPROC_SUPPORTED=y +CONFIG_SOC_BT_SUPPORTED=y +CONFIG_SOC_USB_OTG_SUPPORTED=y +CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y +CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y +CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y +CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y +CONFIG_SOC_EFUSE_SUPPORTED=y +CONFIG_SOC_SDMMC_HOST_SUPPORTED=y CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y CONFIG_SOC_RTC_MEM_SUPPORTED=y +CONFIG_SOC_PSRAM_DMA_CAPABLE=y +CONFIG_SOC_XT_WDT_SUPPORTED=y CONFIG_SOC_I2S_SUPPORTED=y CONFIG_SOC_RMT_SUPPORTED=y CONFIG_SOC_SDM_SUPPORTED=y CONFIG_SOC_GPSPI_SUPPORTED=y CONFIG_SOC_LEDC_SUPPORTED=y CONFIG_SOC_I2C_SUPPORTED=y +CONFIG_SOC_SYSTIMER_SUPPORTED=y CONFIG_SOC_SUPPORT_COEXISTENCE=y +CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y CONFIG_SOC_AES_SUPPORTED=y CONFIG_SOC_MPI_SUPPORTED=y CONFIG_SOC_SHA_SUPPORTED=y +CONFIG_SOC_HMAC_SUPPORTED=y +CONFIG_SOC_DIG_SIGN_SUPPORTED=y CONFIG_SOC_FLASH_ENC_SUPPORTED=y CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +CONFIG_SOC_MEMPROT_SUPPORTED=y CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y CONFIG_SOC_BOD_SUPPORTED=y -CONFIG_SOC_ULP_FSM_SUPPORTED=y CONFIG_SOC_CLK_TREE_SUPPORTED=y CONFIG_SOC_MPU_SUPPORTED=y CONFIG_SOC_WDT_SUPPORTED=y @@ -49,30 +62,36 @@ CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y CONFIG_SOC_PM_SUPPORTED=y -CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5 -CONFIG_SOC_XTAL_SUPPORT_26M=y CONFIG_SOC_XTAL_SUPPORT_40M=y -CONFIG_SOC_XTAL_SUPPORT_AUTO_DETECT=y +CONFIG_SOC_APPCPU_HAS_CLOCK_GATING_BUG=y CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +CONFIG_SOC_ADC_ARBITER_SUPPORTED=y +CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y +CONFIG_SOC_ADC_MONITOR_SUPPORTED=y CONFIG_SOC_ADC_DMA_SUPPORTED=y CONFIG_SOC_ADC_PERIPH_NUM=2 CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 CONFIG_SOC_ADC_ATTEN_NUM=4 CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 -CONFIG_SOC_ADC_PATT_LEN_MAX=16 -CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=9 +CONFIG_SOC_ADC_PATT_LEN_MAX=24 +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 -CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2 +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 -CONFIG_SOC_ADC_DIGI_MONITOR_NUM=0 -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=2 -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=20 -CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9 +CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y +CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y CONFIG_SOC_ADC_SHARED_POWER=y -CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y -CONFIG_SOC_IDCACHE_PER_CORE=y +CONFIG_SOC_APB_BACKUP_DMA=y +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y +CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y +CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y CONFIG_SOC_CPU_CORES_NUM=2 CONFIG_SOC_CPU_INTR_NUM=32 CONFIG_SOC_CPU_HAS_FPU=y @@ -80,48 +99,56 @@ CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64 -CONFIG_SOC_DAC_CHAN_NUM=2 -CONFIG_SOC_DAC_RESOLUTION=8 -CONFIG_SOC_DAC_DMA_16BIT_ALIGN=y +CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096 +CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 +CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 +CONFIG_SOC_AHB_GDMA_VERSION=1 +CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 +CONFIG_SOC_GDMA_PAIRS_PER_GROUP=5 +CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=5 +CONFIG_SOC_AHB_GDMA_SUPPORT_PSRAM=y CONFIG_SOC_GPIO_PORT=1 -CONFIG_SOC_GPIO_PIN_COUNT=40 -CONFIG_SOC_GPIO_VALID_GPIO_MASK=0xFFFFFFFFFF -CONFIG_SOC_GPIO_IN_RANGE_MAX=39 -CONFIG_SOC_GPIO_OUT_RANGE_MAX=33 -CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA +CONFIG_SOC_GPIO_PIN_COUNT=49 +CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y +CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y +CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y +CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y +CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x1FFFFFFFFFFFF +CONFIG_SOC_GPIO_IN_RANGE_MAX=48 +CONFIG_SOC_GPIO_OUT_RANGE_MAX=48 +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000 CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y CONFIG_SOC_I2C_NUM=2 CONFIG_SOC_HP_I2C_NUM=2 CONFIG_SOC_I2C_FIFO_LEN=32 -CONFIG_SOC_I2C_CMD_REG_NUM=16 +CONFIG_SOC_I2C_CMD_REG_NUM=8 CONFIG_SOC_I2C_SUPPORT_SLAVE=y -CONFIG_SOC_I2C_SUPPORT_APB=y -CONFIG_SOC_I2C_STOP_INDEPENDENT=y +CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y +CONFIG_SOC_I2C_SUPPORT_XTAL=y +CONFIG_SOC_I2C_SUPPORT_RTC=y +CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y CONFIG_SOC_I2S_NUM=2 -CONFIG_SOC_I2S_HW_VERSION_1=y -CONFIG_SOC_I2S_SUPPORTS_APLL=y +CONFIG_SOC_I2S_HW_VERSION_2=y +CONFIG_SOC_I2S_SUPPORTS_XTAL=y CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y +CONFIG_SOC_I2S_SUPPORTS_PCM=y CONFIG_SOC_I2S_SUPPORTS_PDM=y CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y -CONFIG_SOC_I2S_PDM_MAX_TX_LINES=1 +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y -CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1 -CONFIG_SOC_I2S_SUPPORTS_ADC_DAC=y -CONFIG_SOC_I2S_SUPPORTS_ADC=y -CONFIG_SOC_I2S_SUPPORTS_DAC=y -CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y -CONFIG_SOC_I2S_TRANS_SIZE_ALIGN_WORD=y -CONFIG_SOC_I2S_LCD_I80_VARIANT=y -CONFIG_SOC_LCD_I80_SUPPORTED=y -CONFIG_SOC_LCD_I80_BUSES=2 -CONFIG_SOC_LCD_I80_BUS_WIDTH=24 -CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=4 +CONFIG_SOC_I2S_SUPPORTS_TDM=y CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y -CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y -CONFIG_SOC_LEDC_SUPPORT_HS_MODE=y +CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y CONFIG_SOC_LEDC_CHANNEL_NUM=8 -CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 +CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y CONFIG_SOC_MCPWM_GROUPS=2 CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 @@ -132,116 +159,208 @@ CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 -CONFIG_SOC_MMU_PERIPH_NUM=2 -CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=3 -CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 -CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 +CONFIG_SOC_MMU_PERIPH_NUM=1 CONFIG_SOC_PCNT_GROUPS=1 -CONFIG_SOC_PCNT_UNITS_PER_GROUP=8 +CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 CONFIG_SOC_RMT_GROUPS=1 -CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=8 -CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=8 +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4 +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4 CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 -CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64 -CONFIG_SOC_RMT_SUPPORT_REF_TICK=y +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 +CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y +CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y +CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y +CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y +CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y +CONFIG_SOC_RMT_SUPPORT_XTAL=y +CONFIG_SOC_RMT_SUPPORT_RC_FAST=y CONFIG_SOC_RMT_SUPPORT_APB=y -CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y -CONFIG_SOC_RTCIO_PIN_COUNT=18 +CONFIG_SOC_RMT_SUPPORT_DMA=y +CONFIG_SOC_LCD_I80_SUPPORTED=y +CONFIG_SOC_LCD_RGB_SUPPORTED=y +CONFIG_SOC_LCD_I80_BUSES=1 +CONFIG_SOC_LCD_RGB_PANELS=1 +CONFIG_SOC_LCD_I80_BUS_WIDTH=16 +CONFIG_SOC_LCD_RGB_DATA_WIDTH=16 +CONFIG_SOC_LCD_SUPPORT_RGB_YUV_CONV=y +CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 +CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549 +CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128 +CONFIG_SOC_RTCIO_PIN_COUNT=22 CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y -CONFIG_SOC_SDM_GROUPS=1 +CONFIG_SOC_SDM_GROUPS=y CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 CONFIG_SOC_SDM_CLK_SUPPORT_APB=y -CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y -CONFIG_SOC_SPI_AS_CS_SUPPORTED=y CONFIG_SOC_SPI_PERIPH_NUM=3 -CONFIG_SOC_SPI_DMA_CHAN_NUM=2 -CONFIG_SOC_SPI_MAX_CS_NUM=3 -CONFIG_SOC_SPI_SUPPORT_CLK_APB=y +CONFIG_SOC_SPI_MAX_CS_NUM=6 CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 -CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192 +CONFIG_SOC_SPI_SUPPORT_DDRCLK=y +CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y +CONFIG_SOC_SPI_SUPPORT_CD_SIG=y +CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y +CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +CONFIG_SOC_SPI_SUPPORT_CLK_APB=y +CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y +CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y +CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 +CONFIG_SOC_SPI_SUPPORT_OCT=y +CONFIG_SOC_SPI_SCT_SUPPORTED=y +CONFIG_SOC_SPI_SCT_REG_NUM=14 +CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y +CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA +CONFIG_SOC_MEMSPI_SRC_FREQ_120M=y CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y -CONFIG_SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y +CONFIG_SOC_SPIRAM_SUPPORTED=y +CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y +CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 +CONFIG_SOC_SYSTIMER_ALARM_NUM=3 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 +CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y +CONFIG_SOC_SYSTIMER_INT_LEVEL=y +CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y CONFIG_SOC_TIMER_GROUPS=2 CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 -CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64 -CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 +CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y -CONFIG_SOC_TOUCH_SENSOR_VERSION=1 -CONFIG_SOC_TOUCH_SENSOR_NUM=10 +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +CONFIG_SOC_TOUCH_SENSOR_VERSION=2 +CONFIG_SOC_TOUCH_SENSOR_NUM=15 +CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y +CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y +CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y +CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3 +CONFIG_SOC_TOUCH_PROXIMITY_MEAS_DONE_SUPPORTED=y CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 CONFIG_SOC_TWAI_CONTROLLER_NUM=1 -CONFIG_SOC_TWAI_BRP_MIN=2 CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y -CONFIG_SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT=y +CONFIG_SOC_TWAI_BRP_MIN=2 +CONFIG_SOC_TWAI_BRP_MAX=16384 +CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y CONFIG_SOC_UART_NUM=3 CONFIG_SOC_UART_HP_NUM=3 -CONFIG_SOC_UART_SUPPORT_APB_CLK=y -CONFIG_SOC_UART_SUPPORT_REF_TICK=y CONFIG_SOC_UART_FIFO_LEN=128 CONFIG_SOC_UART_BITRATE_MAX=5000000 -CONFIG_SOC_SPIRAM_SUPPORTED=y -CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y -CONFIG_SOC_SHA_SUPPORT_PARALLEL_ENG=y -CONFIG_SOC_SHA_ENDIANNESS_BE=y +CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y +CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y +CONFIG_SOC_UART_SUPPORT_APB_CLK=y +CONFIG_SOC_UART_SUPPORT_RTC_CLK=y +CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y +CONFIG_SOC_USB_OTG_PERIPH_NUM=1 +CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 +CONFIG_SOC_SHA_SUPPORT_DMA=y +CONFIG_SOC_SHA_SUPPORT_RESUME=y +CONFIG_SOC_SHA_GDMA=y CONFIG_SOC_SHA_SUPPORT_SHA1=y +CONFIG_SOC_SHA_SUPPORT_SHA224=y CONFIG_SOC_SHA_SUPPORT_SHA256=y CONFIG_SOC_SHA_SUPPORT_SHA384=y CONFIG_SOC_SHA_SUPPORT_SHA512=y +CONFIG_SOC_SHA_SUPPORT_SHA512_224=y +CONFIG_SOC_SHA_SUPPORT_SHA512_256=y +CONFIG_SOC_SHA_SUPPORT_SHA512_T=y CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 -CONFIG_SOC_MPI_OPERATIONS_NUM=y +CONFIG_SOC_MPI_OPERATIONS_NUM=3 CONFIG_SOC_RSA_MAX_BIT_LEN=4096 +CONFIG_SOC_AES_SUPPORT_DMA=y +CONFIG_SOC_AES_GDMA=y CONFIG_SOC_AES_SUPPORT_AES_128=y -CONFIG_SOC_AES_SUPPORT_AES_192=y CONFIG_SOC_AES_SUPPORT_AES_256=y -CONFIG_SOC_SECURE_BOOT_V1=y -CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y -CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 -CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_CPU_PD=y +CONFIG_SOC_PM_SUPPORT_TAGMEM_PD=y CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y -CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y -CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y CONFIG_SOC_PM_SUPPORT_MODEM_PD=y CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y -CONFIG_SOC_CLK_APLL_SUPPORTED=y +CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y +CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y +CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y -CONFIG_SOC_SDMMC_USE_IOMUX=y +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y +CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_USB_JTAG=y +CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y +CONFIG_SOC_EFUSE_DIS_ICACHE=y +CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y +CONFIG_SOC_SECURE_BOOT_V2_RSA=y +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 +CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y +CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y +CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 +CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=256 +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192 +CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y +CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_OPI_MODE=y +CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y +CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y +CONFIG_SOC_MEMSPI_CORE_CLK_SHARED_WITH_PSRAM=y +CONFIG_SOC_COEX_HW_PTI=y +CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y +CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y CONFIG_SOC_SDMMC_NUM_SLOTS=2 +CONFIG_SOC_SDMMC_SUPPORT_XTAL_CLOCK=y +CONFIG_SOC_SDMMC_DELAY_PHASE_NUM=4 +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y +CONFIG_SOC_WIFI_HW_TSF=y +CONFIG_SOC_WIFI_FTM_SUPPORT=y +CONFIG_SOC_WIFI_GCMP_SUPPORT=y CONFIG_SOC_WIFI_WAPI_SUPPORT=y CONFIG_SOC_WIFI_CSI_SUPPORT=y CONFIG_SOC_WIFI_MESH_SUPPORT=y CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y -CONFIG_SOC_WIFI_NAN_SUPPORT=y +CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y CONFIG_SOC_BLE_SUPPORTED=y CONFIG_SOC_BLE_MESH_SUPPORTED=y -CONFIG_SOC_BT_CLASSIC_SUPPORTED=y +CONFIG_SOC_BLE_50_SUPPORTED=y +CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y CONFIG_SOC_BLUFI_SUPPORTED=y -CONFIG_SOC_BT_H2C_ENC_KEY_CTRL_ENH_VSC_SUPPORTED=y CONFIG_SOC_ULP_HAS_ADC=y CONFIG_SOC_PHY_COMBO_MODULE=y -CONFIG_SOC_EMAC_RMII_CLK_OUT_INTERNAL_LOOPBACK=y CONFIG_IDF_CMAKE=y CONFIG_IDF_TOOLCHAIN="gcc" CONFIG_IDF_TARGET_ARCH_XTENSA=y CONFIG_IDF_TARGET_ARCH="xtensa" -CONFIG_IDF_TARGET="esp32" +CONFIG_IDF_TARGET="esp32s3" CONFIG_IDF_INIT_VERSION="5.3.1" -CONFIG_IDF_TARGET_ESP32=y -CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 +CONFIG_IDF_TARGET_ESP32S3=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009 # # Build type @@ -253,8 +372,6 @@ CONFIG_APP_BUILD_BOOTLOADER=y CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y # CONFIG_APP_REPRODUCIBLE_BUILD is not set # CONFIG_APP_NO_BLOBS is not set -# CONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set -# CONFIG_APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set # end of Build type # @@ -268,7 +385,7 @@ CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y CONFIG_BOOTLOADER_PROJECT_VER=1 # end of Bootloader manager -CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000 +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set @@ -306,10 +423,12 @@ CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 # # Security features # -CONFIG_SECURE_BOOT_V1_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_PREFERRED=y # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set # CONFIG_SECURE_BOOT is not set # CONFIG_SECURE_FLASH_ENC_ENABLED is not set +CONFIG_SECURE_ROM_DL_MODE_ENABLED=y # end of Security features # @@ -326,40 +445,66 @@ CONFIG_ESP_ROM_HAS_CRC_LE=y CONFIG_ESP_ROM_HAS_CRC_BE=y CONFIG_ESP_ROM_HAS_MZ_CRC32=y CONFIG_ESP_ROM_HAS_JPEG_DECODE=y -CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y +CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y +CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y +CONFIG_ESP_ROM_USB_OTG_NUM=3 +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 +CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y +CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y +CONFIG_ESP_ROM_GET_CLK_FREQ=y +CONFIG_ESP_ROM_HAS_HAL_WDT=y CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y +CONFIG_ESP_ROM_HAS_SPI_FLASH=y +CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y CONFIG_ESP_ROM_HAS_NEWLIB=y CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y +CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y +CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y +CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y +CONFIG_ESP_ROM_HAS_CACHE_SUSPEND_WAITI_BUG=y +CONFIG_ESP_ROM_HAS_CACHE_WRITEBACK_BUG=y CONFIG_ESP_ROM_HAS_SW_FLOAT=y -CONFIG_ESP_ROM_USB_OTG_NUM=-1 -CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=-1 +CONFIG_ESP_ROM_HAS_VERSION=y CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y +# +# Boot ROM Behavior +# +CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y +# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set +# end of Boot ROM Behavior + # # Serial flasher config # # CONFIG_ESPTOOLPY_NO_STUB is not set -# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# CONFIG_ESPTOOLPY_OCT_FLASH is not set +CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=y +CONFIG_ESPTOOLPY_FLASHMODE_QIO=y # CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set -CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set # CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y CONFIG_ESPTOOLPY_FLASHMODE="dio" +# CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set CONFIG_ESPTOOLPY_FLASHFREQ_80M=y # CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set -# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set # CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y CONFIG_ESPTOOLPY_FLASHFREQ="80m" # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set -CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y -# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y # CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set -CONFIG_ESPTOOLPY_FLASHSIZE="4MB" +CONFIG_ESPTOOLPY_FLASHSIZE="8MB" # CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set CONFIG_ESPTOOLPY_BEFORE_RESET=y # CONFIG_ESPTOOLPY_BEFORE_NORESET is not set @@ -424,6 +569,7 @@ CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y CONFIG_APPTRACE_DEST_NONE=y # CONFIG_APPTRACE_DEST_UART1 is not set # CONFIG_APPTRACE_DEST_UART2 is not set +# CONFIG_APPTRACE_DEST_USB_CDC is not set CONFIG_APPTRACE_DEST_UART_NONE=y CONFIG_APPTRACE_UART_TASK_PRIO=1 CONFIG_APPTRACE_LOCK_ENABLE=y @@ -443,6 +589,7 @@ CONFIG_BT_CONTROLLER_ENABLED=y # NimBLE Options # CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y +# CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL is not set # CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set # CONFIG_BT_NIMBLE_LOG_LEVEL_NONE is not set # CONFIG_BT_NIMBLE_LOG_LEVEL_ERROR is not set @@ -499,8 +646,13 @@ CONFIG_BT_NIMBLE_RPA_TIMEOUT=900 # CONFIG_BT_NIMBLE_MESH is not set CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000 -# CONFIG_BT_NIMBLE_HOST_BASED_PRIVACY is not set # CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT is not set +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=y +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY=y +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY=y +# CONFIG_BT_NIMBLE_EXT_ADV is not set +CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS=0 +# CONFIG_BT_NIMBLE_GATT_CACHING is not set CONFIG_BT_NIMBLE_WHITELIST_SIZE=12 # CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set # CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set @@ -568,46 +720,77 @@ CONFIG_BT_NIMBLE_HCI_UART_CTS_PIN=23 # # Controller Options # -CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y -# CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY is not set -# CONFIG_BTDM_CTRL_MODE_BTDM is not set -CONFIG_BTDM_CTRL_BLE_MAX_CONN=3 -CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=0 -CONFIG_BTDM_CTRL_PCM_ROLE_EFF=0 -CONFIG_BTDM_CTRL_PCM_POLAR_EFF=0 -CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=3 -CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=0 -CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0 -CONFIG_BTDM_CTRL_PINNED_TO_CORE=0 -CONFIG_BTDM_CTRL_HCI_MODE_VHCI=y -# CONFIG_BTDM_CTRL_HCI_MODE_UART_H4 is not set +CONFIG_BT_CTRL_MODE_EFF=1 +CONFIG_BT_CTRL_BLE_MAX_ACT=6 +CONFIG_BT_CTRL_BLE_MAX_ACT_EFF=6 +CONFIG_BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB=0 +CONFIG_BT_CTRL_PINNED_TO_CORE=0 +CONFIG_BT_CTRL_HCI_MODE_VHCI=y +# CONFIG_BT_CTRL_HCI_MODE_UART_H4 is not set +CONFIG_BT_CTRL_HCI_TL=1 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=30 +CONFIG_BT_BLE_CCA_MODE_NONE=y +# CONFIG_BT_BLE_CCA_MODE_HW is not set +# CONFIG_BT_BLE_CCA_MODE_SW is not set +CONFIG_BT_BLE_CCA_MODE=0 +CONFIG_BT_CTRL_HW_CCA_VAL=20 +CONFIG_BT_CTRL_HW_CCA_EFF=0 +CONFIG_BT_CTRL_CE_LENGTH_TYPE_ORIG=y +# CONFIG_BT_CTRL_CE_LENGTH_TYPE_CE is not set +# CONFIG_BT_CTRL_CE_LENGTH_TYPE_SD is not set +CONFIG_BT_CTRL_CE_LENGTH_TYPE_EFF=0 +CONFIG_BT_CTRL_TX_ANTENNA_INDEX_0=y +# CONFIG_BT_CTRL_TX_ANTENNA_INDEX_1 is not set +CONFIG_BT_CTRL_TX_ANTENNA_INDEX_EFF=0 +CONFIG_BT_CTRL_RX_ANTENNA_INDEX_0=y +# CONFIG_BT_CTRL_RX_ANTENNA_INDEX_1 is not set +CONFIG_BT_CTRL_RX_ANTENNA_INDEX_EFF=0 +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N24 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N21 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N18 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N15 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N12 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N9 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N6 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N3 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N0 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P3 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P6 is not set +CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P9=y +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P12 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P15 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P18 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P21 is not set +CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_EFF=11 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 +CONFIG_BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 +CONFIG_BT_CTRL_BLE_SCAN_DUPL=y +CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DEVICE=y +# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA is not set +# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA_DEVICE is not set +CONFIG_BT_CTRL_SCAN_DUPL_TYPE=0 +CONFIG_BT_CTRL_SCAN_DUPL_CACHE_SIZE=100 +CONFIG_BT_CTRL_DUPL_SCAN_CACHE_REFRESH_PERIOD=0 +# CONFIG_BT_CTRL_BLE_MESH_SCAN_DUPL_EN is not set +# CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EN is not set +CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_DIS=y +CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EFF=0 # # MODEM SLEEP Options # -CONFIG_BTDM_CTRL_MODEM_SLEEP=y -CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_ORIG=y -# CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_EVED is not set -CONFIG_BTDM_CTRL_LPCLK_SEL_MAIN_XTAL=y +# CONFIG_BT_CTRL_MODEM_SLEEP is not set # end of MODEM SLEEP Options -CONFIG_BTDM_BLE_DEFAULT_SCA_250PPM=y -CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1 -CONFIG_BTDM_BLE_SCAN_DUPL=y -CONFIG_BTDM_SCAN_DUPL_TYPE_DEVICE=y -# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA is not set -# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA_DEVICE is not set -CONFIG_BTDM_SCAN_DUPL_TYPE=0 -CONFIG_BTDM_SCAN_DUPL_CACHE_SIZE=100 -CONFIG_BTDM_SCAN_DUPL_CACHE_REFRESH_PERIOD=0 -# CONFIG_BTDM_BLE_MESH_SCAN_DUPL_EN is not set -CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED=y -# CONFIG_BTDM_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set -CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y -CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 -CONFIG_BTDM_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 -CONFIG_BTDM_RESERVE_DRAM=0xdb5c -CONFIG_BTDM_CTRL_HLI=y +CONFIG_BT_CTRL_SLEEP_MODE_EFF=0 +CONFIG_BT_CTRL_SLEEP_CLOCK_EFF=0 +CONFIG_BT_CTRL_HCI_TL_EFF=1 +# CONFIG_BT_CTRL_AGC_RECORRECT_EN is not set +# CONFIG_BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set +# CONFIG_BT_BLE_ADV_DATA_LENGTH_ZERO_AUX is not set +CONFIG_BT_CTRL_CHAN_ASS_EN=y +CONFIG_BT_CTRL_LE_PING_EN=y # end of Controller Options # @@ -635,35 +818,21 @@ CONFIG_BT_ALARM_MAX_NUM=50 # TWAI Configuration # # CONFIG_TWAI_ISR_IN_IRAM is not set -CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC=y -CONFIG_TWAI_ERRATA_FIX_TX_INTR_LOST=y -CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID=y -CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT=y CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y # end of TWAI Configuration # # Legacy ADC Driver Configuration # -CONFIG_ADC_DISABLE_DAC=y # CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set # # Legacy ADC Calibration Configuration # -CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y -CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y -CONFIG_ADC_CAL_LUT_ENABLE=y # CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set # end of Legacy ADC Calibration Configuration # end of Legacy ADC Driver Configuration -# -# Legacy DAC Driver Configurations -# -# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy DAC Driver Configurations - # # Legacy MCPWM Driver Configurations # @@ -699,6 +868,12 @@ CONFIG_ADC_CAL_LUT_ENABLE=y # # CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set # end of Legacy SDM Driver Configurations + +# +# Legacy Temperature Sensor Driver Configurations +# +# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy Temperature Sensor Driver Configurations # end of Driver Configurations # @@ -706,17 +881,14 @@ CONFIG_ADC_CAL_LUT_ENABLE=y # # CONFIG_EFUSE_CUSTOM_TABLE is not set # CONFIG_EFUSE_VIRTUAL is not set -# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set -CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y -# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set -CONFIG_EFUSE_MAX_BLK_LEN=192 +CONFIG_EFUSE_MAX_BLK_LEN=256 # end of eFuse Bit Manager # # ESP-TLS # CONFIG_ESP_TLS_USING_MBEDTLS=y -# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set +CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set # CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set # CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set @@ -730,16 +902,7 @@ CONFIG_ESP_TLS_USING_MBEDTLS=y # # CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set # CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set - -# -# ADC Calibration Configurations -# -CONFIG_ADC_CALI_EFUSE_TP_ENABLE=y -CONFIG_ADC_CALI_EFUSE_VREF_ENABLE=y -CONFIG_ADC_CALI_LUT_ENABLE=y -# end of ADC Calibration Configurations - -CONFIG_ADC_DISABLE_DAC_OUTPUT=y +# CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set # CONFIG_ADC_ENABLE_DEBUG_LOG is not set # end of ADC and ADC Calibration @@ -757,19 +920,9 @@ CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y CONFIG_ESP_ERR_TO_NAME_LOOKUP=y # end of Common ESP-related -# -# ESP-Driver:DAC Configurations -# -# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set -# CONFIG_DAC_ISR_IRAM_SAFE is not set -# CONFIG_DAC_ENABLE_DEBUG_LOG is not set -CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y -# end of ESP-Driver:DAC Configurations - # # ESP-Driver:GPIO Configurations # -# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set # CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set # end of ESP-Driver:GPIO Configurations @@ -849,25 +1002,28 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y # CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:Touch Sensor Configurations +# +# ESP-Driver:Temperature Sensor Configurations +# +# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Temperature Sensor Configurations + # # ESP-Driver:UART Configurations # # CONFIG_UART_ISR_IN_IRAM is not set # end of ESP-Driver:UART Configurations +# +# ESP-Driver:USB Serial/JTAG Configuration +# +CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y +# end of ESP-Driver:USB Serial/JTAG Configuration + # # Ethernet # CONFIG_ETH_ENABLED=y -CONFIG_ETH_USE_ESP32_EMAC=y -CONFIG_ETH_PHY_INTERFACE_RMII=y -CONFIG_ETH_RMII_CLK_INPUT=y -# CONFIG_ETH_RMII_CLK_OUTPUT is not set -CONFIG_ETH_RMII_CLK_IN_GPIO=0 -CONFIG_ETH_DMA_BUFFER_SIZE=512 -CONFIG_ETH_DMA_RX_BUFFER_NUM=10 -CONFIG_ETH_DMA_TX_BUFFER_NUM=10 -# CONFIG_ETH_IRAM_OPTIMIZATION is not set CONFIG_ETH_USE_SPI_ETHERNET=y # CONFIG_ETH_SPI_ETHERNET_DM9051 is not set # CONFIG_ETH_SPI_ETHERNET_W5500 is not set @@ -934,21 +1090,17 @@ CONFIG_HTTPD_PURGE_BUF_LEN=32 # # Chip revision # -CONFIG_ESP32_REV_MIN_0=y -# CONFIG_ESP32_REV_MIN_1 is not set -# CONFIG_ESP32_REV_MIN_1_1 is not set -# CONFIG_ESP32_REV_MIN_2 is not set -# CONFIG_ESP32_REV_MIN_3 is not set -# CONFIG_ESP32_REV_MIN_3_1 is not set -CONFIG_ESP32_REV_MIN=0 -CONFIG_ESP32_REV_MIN_FULL=0 +CONFIG_ESP32S3_REV_MIN_0=y +# CONFIG_ESP32S3_REV_MIN_1 is not set +# CONFIG_ESP32S3_REV_MIN_2 is not set +CONFIG_ESP32S3_REV_MIN_FULL=0 CONFIG_ESP_REV_MIN_FULL=0 # -# Maximum Supported ESP32 Revision (Rev v3.99) +# Maximum Supported ESP32-S3 Revision (Rev v0.99) # -CONFIG_ESP32_REV_MAX_FULL=399 -CONFIG_ESP_REV_MAX_FULL=399 +CONFIG_ESP32S3_REV_MAX_FULL=99 +CONFIG_ESP_REV_MAX_FULL=99 # end of Chip revision # @@ -960,18 +1112,17 @@ CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 -# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set -CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y -CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 -# CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR is not set +# CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4 # CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set # end of MAC Config # # Sleep Config # -# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND=y # CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y @@ -997,12 +1148,18 @@ CONFIG_RTC_CLK_CAL_CYCLES=1024 CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y # end of Peripheral Control +# +# GDMA Configurations +# +CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y +# CONFIG_GDMA_ISR_IRAM_SAFE is not set +# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set +# end of GDMA Configurations + # # Main XTAL Config # -# CONFIG_XTAL_FREQ_26 is not set CONFIG_XTAL_FREQ_40=y -# CONFIG_XTAL_FREQ_AUTO is not set CONFIG_XTAL_FREQ=40 # end of Main XTAL Config @@ -1022,6 +1179,8 @@ CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y # CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 # CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set +# CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set # end of LCD Peripheral Configuration # end of LCD and Touch Panel @@ -1051,6 +1210,8 @@ CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 CONFIG_ESP_PHY_MAX_TX_POWER=20 # CONFIG_ESP_PHY_REDUCE_TX_POWER is not set +CONFIG_ESP_PHY_ENABLE_USB=y +# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set CONFIG_ESP_PHY_RF_CAL_PARTIAL=y # CONFIG_ESP_PHY_RF_CAL_NONE is not set # CONFIG_ESP_PHY_RF_CAL_FULL is not set @@ -1063,12 +1224,44 @@ CONFIG_ESP_PHY_CALIBRATION_MODE=0 # # CONFIG_PM_ENABLE is not set CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y +CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y # end of Power Management # # ESP PSRAM # -# CONFIG_SPIRAM is not set +CONFIG_SPIRAM=y + +# +# SPI RAM config +# +# CONFIG_SPIRAM_MODE_QUAD is not set +CONFIG_SPIRAM_MODE_OCT=y +CONFIG_SPIRAM_TYPE_AUTO=y +# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set +CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y +CONFIG_SPIRAM_CLK_IO=30 +CONFIG_SPIRAM_CS_IO=26 +# CONFIG_SPIRAM_XIP_FROM_PSRAM is not set +CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y +CONFIG_SPIRAM_RODATA=y +# CONFIG_SPIRAM_SPEED_120M is not set +CONFIG_SPIRAM_SPEED_80M=y +# CONFIG_SPIRAM_SPEED_40M is not set +CONFIG_SPIRAM_SPEED=80 +# CONFIG_SPIRAM_ECC_ENABLE is not set +CONFIG_SPIRAM_BOOT_INIT=y +# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set +# CONFIG_SPIRAM_USE_MEMMAP is not set +# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set +CONFIG_SPIRAM_USE_MALLOC=y +CONFIG_SPIRAM_MEMTEST=y +CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384 +# CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set +CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 +# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set +# end of SPI RAM config # end of ESP PSRAM # @@ -1081,29 +1274,47 @@ CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y # ESP System Settings # # CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 + +# +# Cache config +# +CONFIG_ESP32S3_INSTRUCTION_CACHE_16KB=y +# CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB is not set +CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE=0x4000 +# CONFIG_ESP32S3_INSTRUCTION_CACHE_4WAYS is not set +CONFIG_ESP32S3_INSTRUCTION_CACHE_8WAYS=y +CONFIG_ESP32S3_ICACHE_ASSOCIATED_WAYS=8 +# CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_16B is not set +CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_32B=y +CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_SIZE=32 +# CONFIG_ESP32S3_DATA_CACHE_16KB is not set +CONFIG_ESP32S3_DATA_CACHE_32KB=y +# CONFIG_ESP32S3_DATA_CACHE_64KB is not set +CONFIG_ESP32S3_DATA_CACHE_SIZE=0x8000 +# CONFIG_ESP32S3_DATA_CACHE_4WAYS is not set +CONFIG_ESP32S3_DATA_CACHE_8WAYS=y +CONFIG_ESP32S3_DCACHE_ASSOCIATED_WAYS=8 +# CONFIG_ESP32S3_DATA_CACHE_LINE_16B is not set +# CONFIG_ESP32S3_DATA_CACHE_LINE_32B is not set +CONFIG_ESP32S3_DATA_CACHE_LINE_64B=y +CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=64 +# end of Cache config # # Memory # -# CONFIG_ESP32_RTCDATA_IN_FAST_MEM is not set -# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set -# CONFIG_ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY is not set - -# -# Non-backward compatible options -# -# CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM is not set -# end of Non-backward compatible options +# CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM is not set +# CONFIG_ESP32S3_USE_FIXED_STATIC_RAM_SIZE is not set # end of Memory # # Trace memory # -# CONFIG_ESP32_TRAX is not set -CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 +# CONFIG_ESP32S3_TRAX is not set +CONFIG_ESP32S3_TRACEMEM_RESERVE_DRAM=0x0 # end of Trace memory # CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set @@ -1118,6 +1329,8 @@ CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y # # Memory protection # +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y # end of Memory protection CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 @@ -1128,41 +1341,40 @@ CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# CONFIG_ESP_CONSOLE_USB_CDC is not set +# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set # CONFIG_ESP_CONSOLE_UART_CUSTOM is not set # CONFIG_ESP_CONSOLE_NONE is not set +# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set +CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y CONFIG_ESP_CONSOLE_UART=y CONFIG_ESP_CONSOLE_UART_NUM=0 CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 -CONFIG_ESP_INT_WDT=y -CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 -CONFIG_ESP_TASK_WDT_EN=y -CONFIG_ESP_TASK_WDT_INIT=y -# CONFIG_ESP_TASK_WDT_PANIC is not set -CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 -CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_ESP_INT_WDT is not set +# CONFIG_ESP_TASK_WDT_EN is not set # CONFIG_ESP_PANIC_HANDLER_IRAM is not set # CONFIG_ESP_DEBUG_STUBS_ENABLE is not set CONFIG_ESP_DEBUG_OCDAWARE=y -CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5=y +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y # # Brownout Detector # CONFIG_ESP_BROWNOUT_DET=y -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set CONFIG_ESP_BROWNOUT_DET_LVL=7 # end of Brownout Detector -# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y # end of ESP System Settings # @@ -1184,7 +1396,7 @@ CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y # CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set -CONFIG_ESP_TIMER_IMPL_TG0_LAC=y +CONFIG_ESP_TIMER_IMPL_SYSTIMER=y # end of ESP Timer (High Resolution Timer) # @@ -1193,10 +1405,10 @@ CONFIG_ESP_TIMER_IMPL_TG0_LAC=y CONFIG_ESP_WIFI_ENABLED=y CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y -CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=16 +CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=32 CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y # CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 @@ -1206,6 +1418,7 @@ CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y CONFIG_ESP_WIFI_TX_BA_WIN=6 CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP_WIFI_RX_BA_WIN=6 +# CONFIG_ESP_WIFI_AMSDU_TX_ENABLED is not set CONFIG_ESP_WIFI_NVS_ENABLED=y CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 @@ -1220,17 +1433,21 @@ CONFIG_ESP_WIFI_SLP_IRAM_OPT=y CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 +# CONFIG_ESP_WIFI_FTM_ENABLE is not set CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y +# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set CONFIG_ESP_WIFI_GMAC_SUPPORT=y CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y # CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 -# CONFIG_ESP_WIFI_NAN_ENABLE is not set CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y +# CONFIG_ESP_WIFI_EAP_TLS1_3 is not set # CONFIG_ESP_WIFI_WAPI_PSK is not set +# CONFIG_ESP_WIFI_SUITE_B_192 is not set # CONFIG_ESP_WIFI_11KV_SUPPORT is not set # CONFIG_ESP_WIFI_MBO_SUPPORT is not set +# CONFIG_ESP_WIFI_ENABLE_ROAMING_APP is not set # CONFIG_ESP_WIFI_DPP_SUPPORT is not set # CONFIG_ESP_WIFI_11R_SUPPORT is not set # CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set @@ -1294,6 +1511,7 @@ CONFIG_FATFS_API_ENCODING_ANSI_OEM=y CONFIG_FATFS_FS_LOCK=0 CONFIG_FATFS_TIMEOUT_MS=10000 CONFIG_FATFS_PER_FILE_CACHE=y +CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y # CONFIG_FATFS_USE_FASTSEEK is not set CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 # CONFIG_FATFS_IMMEDIATE_FSYNC is not set @@ -1310,7 +1528,7 @@ CONFIG_FATFS_LINK_LOCK=y # # CONFIG_FREERTOS_SMP is not set CONFIG_FREERTOS_UNICORE=y -CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_HZ=1000 CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set @@ -1346,11 +1564,10 @@ CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y CONFIG_FREERTOS_ISR_STACKSIZE=1536 CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y -# CONFIG_FREERTOS_FPU_IN_ISR is not set -CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y -CONFIG_FREERTOS_CORETIMER_0=y -# CONFIG_FREERTOS_CORETIMER_1 is not set -CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y +CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y +CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y +# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set +CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set # end of Port @@ -1372,6 +1589,7 @@ CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y # CONFIG_HAL_ASSERTION_SILENT is not set # CONFIG_HAL_ASSERTION_ENABLE is not set CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +CONFIG_HAL_WDT_USE_ROM_IMPL=y CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y # end of Hardware Abstraction Layer (HAL) and Low Level (LL) @@ -1588,6 +1806,7 @@ CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y # mbedTLS # CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC is not set # CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set # CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y @@ -1622,9 +1841,13 @@ CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 # CONFIG_MBEDTLS_ECP_RESTARTABLE is not set CONFIG_MBEDTLS_CMAC_C=y CONFIG_MBEDTLS_HARDWARE_AES=y +CONFIG_MBEDTLS_AES_USE_INTERRUPT=y +CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y CONFIG_MBEDTLS_HARDWARE_MPI=y CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y +CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y +CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_HARDWARE_SHA=y CONFIG_MBEDTLS_ROM_MD5=y # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set @@ -1744,9 +1967,12 @@ CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y # CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set # end of Newlib +CONFIG_STDATOMIC_S32C1I_SPIRAM_WORKAROUND=y + # # NVS # +# CONFIG_NVS_ENCRYPTION is not set # CONFIG_NVS_ASSERT_ERROR_CHECK is not set # CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set # end of NVS @@ -1822,6 +2048,14 @@ CONFIG_SPI_FLASH_BROWNOUT_RESET=y # # Features here require specific hardware (READ DOCS FIRST!) # +# CONFIG_SPI_FLASH_HPM_ENA is not set +CONFIG_SPI_FLASH_HPM_AUTO=y +# CONFIG_SPI_FLASH_HPM_DIS is not set +CONFIG_SPI_FLASH_HPM_ON=y +CONFIG_SPI_FLASH_HPM_DC_AUTO=y +# CONFIG_SPI_FLASH_HPM_DC_DISABLE is not set +CONFIG_SPI_FLASH_SUSPEND_QVL_SUPPORTED=y +# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 # end of Optional and Experimental Features (READ DOCS FIRST) # end of Main Flash configuration @@ -1832,10 +2066,10 @@ CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 # CONFIG_SPI_FLASH_VERIFY_WRITE is not set # CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +# CONFIG_SPI_FLASH_ROM_IMPL is not set CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y # CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set # CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set -# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set # CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 @@ -1853,12 +2087,15 @@ CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_TH_SUPPORTED=y # CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_GD_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set +CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP=y # end of Auto-detect flash chips CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y @@ -1936,6 +2173,28 @@ CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y # CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set # end of Unity unit testing library +# +# USB-OTG +# +CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256 +CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y +# CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set +# CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set + +# +# Root Hub configuration +# +CONFIG_USB_HOST_DEBOUNCE_DELAY_MS=250 +CONFIG_USB_HOST_RESET_HOLD_MS=30 +CONFIG_USB_HOST_RESET_RECOVERY_MS=30 +CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10 +# end of Root Hub configuration + +# CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set +# CONFIG_USB_HOST_EXT_HUB_SUPPORT is not set +CONFIG_USB_OTG_SUPPORTED=y +# end of USB-OTG + # # Virtual file system # @@ -1998,9 +2257,8 @@ CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 # # Memory settings # -# CONFIG_LV_MEM_CUSTOM is not set -CONFIG_LV_MEM_SIZE_KILOBYTES=32 -CONFIG_LV_MEM_ADDR=0x0 +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEM_CUSTOM_INCLUDE="stdlib.h" CONFIG_LV_MEM_BUF_MAX_NUM=16 # CONFIG_LV_MEMCPY_MEMSET_STD is not set # end of Memory settings @@ -2011,7 +2269,7 @@ CONFIG_LV_MEM_BUF_MAX_NUM=16 CONFIG_LV_DISP_DEF_REFR_PERIOD=5 CONFIG_LV_INDEV_DEF_READ_PERIOD=30 # CONFIG_LV_TICK_CUSTOM is not set -CONFIG_LV_DPI_DEF=130 +CONFIG_LV_DPI_DEF=217 # end of HAL Settings # @@ -2065,7 +2323,6 @@ CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" # Others # # CONFIG_LV_USE_PERF_MONITOR is not set -# CONFIG_LV_USE_MEM_MONITOR is not set # CONFIG_LV_USE_REFR_DEBUG is not set # CONFIG_LV_SPRINTF_CUSTOM is not set # CONFIG_LV_SPRINTF_USE_FLOAT is not set @@ -2078,7 +2335,7 @@ CONFIG_LV_USE_USER_DATA=y # # CONFIG_LV_BIG_ENDIAN_SYSTEM is not set CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 -# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set +CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y # CONFIG_LV_USE_LARGE_COORD is not set # end of Compiler settings # end of Feature configuration @@ -2302,10 +2559,10 @@ CONFIG_LV_PREDEFINED_DISPLAY_NONE=y # CONFIG_LV_PREDEFINED_DISPLAY_TTGO is not set # CONFIG_LV_PREDEFINED_DISPLAY_TTGO_CAMERA_PLUS is not set # CONFIG_LV_PREDEFINED_DISPLAY_WT32_SC01 is not set -CONFIG_LV_TFT_DISPLAY_CONTROLLER_ST7796S=y +CONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9341=y CONFIG_LV_TFT_DISPLAY_PROTOCOL_SPI=y -CONFIG_LV_HOR_RES_MAX=128 -CONFIG_LV_VER_RES_MAX=128 +CONFIG_LV_HOR_RES_MAX=240 +CONFIG_LV_VER_RES_MAX=320 CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT=y # CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT_INVERTED is not set # CONFIG_LV_DISPLAY_ORIENTATION_LANDSCAPE is not set @@ -2316,12 +2573,12 @@ CONFIG_LV_PREDEFINED_PINS_NONE=y # CONFIG_LV_PREDEFINED_PINS_30 is not set # CONFIG_LV_PREDEFINED_PINS_38V1 is not set # CONFIG_LV_PREDEFINED_PINS_TKOALA is not set -# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9341 is not set +CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9341=y # CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9481 is not set # CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9486 is not set # CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9488 is not set # CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7789 is not set -CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7796S=y +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7796S is not set # CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_GC9A01 is not set # CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7735S is not set # CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_HX8357 is not set @@ -2362,6 +2619,7 @@ CONFIG_LV_TFT_SPI_CLK_DIVIDER_2=y # CONFIG_LV_TFT_SPI_CLK_DIVIDER_48 is not set # CONFIG_LV_TFT_SPI_CLK_DIVIDER_80 is not set CONFIG_LV_TFT_CUSTOM_SPI_CLK_DIVIDER=2 +# CONFIG_LV_INVERT_COLORS is not set # # Display Pin Assignments @@ -2377,7 +2635,6 @@ CONFIG_LV_DISPLAY_USE_DC=y CONFIG_LV_DISP_PIN_DC=16 CONFIG_LV_DISP_USE_RST=y CONFIG_LV_DISP_PIN_RST=5 -CONFIG_LV_DISP_PIN_BUSY=35 # end of Display Pin Assignments # CONFIG_LV_DISP_BACKLIGHT_OFF is not set @@ -2385,25 +2642,61 @@ CONFIG_LV_DISP_BACKLIGHT_SWITCH=y # CONFIG_LV_DISP_BACKLIGHT_PWM is not set CONFIG_LV_BACKLIGHT_ACTIVE_LVL=y CONFIG_LV_DISP_PIN_BCKL=32 +CONFIG_LV_I2C=y CONFIG_LV_I2C_DISPLAY_PORT=0 # end of LVGL TFT Display controller # # LVGL Touch controller # -CONFIG_LV_TOUCH_CONTROLLER=0 -CONFIG_LV_TOUCH_CONTROLLER_NONE=y +CONFIG_LV_TOUCH_CONTROLLER=7 +# CONFIG_LV_TOUCH_CONTROLLER_NONE is not set # CONFIG_LV_TOUCH_CONTROLLER_XPT2046 is not set # CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set # CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set # CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set # CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set # CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set -# CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set +CONFIG_LV_TOUCH_CONTROLLER_GT911=y +CONFIG_LV_I2C_TOUCH=y + +# +# Touchpanel Configuration (GT911) +# +CONFIG_LV_GT911_SWAPXY=y +# CONFIG_LV_GT911_INVERT_X is not set +CONFIG_LV_GT911_INVERT_Y=y +# end of Touchpanel Configuration (GT911) + +CONFIG_LV_I2C_TOUCH_PORT_0=y +# CONFIG_LV_I2C_TOUCH_PORT_1 is not set CONFIG_LV_I2C_TOUCH_PORT=0 # end of LVGL Touch controller # end of LVGL ESP Drivers +# +# I2C Port Settings +# + +# +# I2C Port 0 +# +CONFIG_I2C_MANAGER_0_ENABLED=y +CONFIG_I2C_MANAGER_0_SDA=19 +CONFIG_I2C_MANAGER_0_SCL=20 +CONFIG_I2C_MANAGER_0_FREQ_HZ=400000 +CONFIG_I2C_MANAGER_0_TIMEOUT=100 +CONFIG_I2C_MANAGER_0_LOCK_TIMEOUT=50 +# CONFIG_I2C_MANAGER_0_PULLUPS is not set +# end of I2C Port 0 + +# +# I2C Port 1 +# +# CONFIG_I2C_MANAGER_1_ENABLED is not set +# end of I2C Port 1 +# end of I2C Port Settings + # # mDNS # @@ -2434,4 +2727,4 @@ CONFIG_MDNS_PREDEF_NETIF_ETH=y # end of mDNS # end of Component config -# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set +CONFIG_IDF_EXPERIMENTAL_FEATURES=y From 350815c832b14bbc7cf00f92955556bdd0788f00 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 20:02:13 -0600 Subject: [PATCH 21/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 6be239c4..c1c16f37 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -7,7 +7,7 @@ on: jobs: build: - name: Build for ${{ matrix.target.name }} - LED: ${{ matrix.led }} - Screen: ${{ matrix.screen_support }} - Input: ${{ matrix.input_type }} + name: Build for ${{ matrix.target.name }} - LED ${{ matrix.led }} - Screen ${{ matrix.screen_support }} - Input ${{ matrix.input_type }} runs-on: ubuntu-latest strategy: From b13c07b6c2ace261e606f1eb072ff8f4bfcb1ae4 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 20:11:33 -0600 Subject: [PATCH 22/58] Syntax Error --- .github/workflows/compile_generics.yml | 26 +++++++++---------- ...{sdkconfig_awokmini => sdkconfig.awokmini} | 0 ..._crowtech7inch => sdkconfig.crowtech7inch} | 0 .../{sdkconfig_default => sdkconfig.default} | 0 ...config_marauderv6 => sdkconfig.marauderv6} | 0 ...aveshare7inch => sdkconfig.waveshare7inch} | 0 6 files changed, 13 insertions(+), 13 deletions(-) rename configs/{sdkconfig_awokmini => sdkconfig.awokmini} (100%) rename configs/{sdkconfig_crowtech7inch => sdkconfig.crowtech7inch} (100%) rename configs/{sdkconfig_default => sdkconfig.default} (100%) rename configs/{sdkconfig_marauderv6 => sdkconfig.marauderv6} (100%) rename configs/{sdkconfig_waveshare7inch => sdkconfig.waveshare7inch} (100%) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index c1c16f37..e5789571 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -14,31 +14,31 @@ jobs: matrix: target: # Generic configurations (no LED, no screen support) - - { name: "esp32-generic", idf_target: "esp32", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig_default", zip_name: "esp32-generic.zip" } - - { name: "esp32s2-generic", idf_target: "esp32s2", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig_default", zip_name: "esp32s2-generic.zip" } - - { name: "esp32s3-generic", idf_target: "esp32s3", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig_default", zip_name: "esp32s3-generic.zip" } - - { name: "esp32c3-generic", idf_target: "esp32c3", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig_default", zip_name: "esp32c3-generic.zip" } - - { name: "esp32c6-generic", idf_target: "esp32c6", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig_default", zip_name: "esp32c6-generic.zip" } + - { name: "esp32-generic", idf_target: "esp32", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default", zip_name: "esp32-generic.zip" } + - { name: "esp32s2-generic", idf_target: "esp32s2", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default", zip_name: "esp32s2-generic.zip" } + - { name: "esp32s3-generic", idf_target: "esp32s3", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default", zip_name: "esp32s3-generic.zip" } + - { name: "esp32c3-generic", idf_target: "esp32c3", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default", zip_name: "esp32c3-generic.zip" } + - { name: "esp32c6-generic", idf_target: "esp32c6", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default", zip_name: "esp32c6-generic.zip" } # Dev Kit configurations (LED on, no screen support) - - { name: "esp32c3-devkit", idf_target: "esp32c3", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig_default", zip_name: "esp32c3-devkit.zip", led_pin: 8, num_leds: 1 } - - { name: "esp32c6-devkit", idf_target: "esp32c6", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig_default", zip_name: "esp32c6-devkit.zip", led_pin: 8, num_leds: 1 } + - { name: "esp32c3-devkit", idf_target: "esp32c3", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default", zip_name: "esp32c3-devkit.zip", led_pin: 8, num_leds: 1 } + - { name: "esp32c6-devkit", idf_target: "esp32c6", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default", zip_name: "esp32c6-devkit.zip", led_pin: 8, num_leds: 1 } # Ghost board (LED on, special pin and LED count) - - { name: "ghostboard", idf_target: "esp32c6", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig_default", zip_name: "ghostboard.zip", led_pin: 10, num_leds: 3, is_ghost_board: true } + - { name: "ghostboard", idf_target: "esp32c6", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default", zip_name: "ghostboard.zip", led_pin: 10, num_leds: 3, is_ghost_board: true } # Screen-supported builds - - { name: "MarauderV6&AwokDual", idf_target: "esp32", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig_marauderv6", zip_name: "MarauderV6&AwokDual.zip", screen_width: 240, screen_height: 320 } - - { name: "AwokMini", idf_target: "esp32", led: false, screen_support: true, input_type: "joystick", sdkconfig_file: "configs/sdkconfig_awokmini", zip_name: "AwokMini.zip", screen_width: 128, screen_height: 128 } - - { name: "ESP32-S3-Cardputer", idf_target: "esp32s3", led: false, screen_support: true, input_type: "cardputer", sdkconfig_file: "configs/sdkconfig_default", zip_name: "ESP32-S3-Cardputer.zip", screen_width: 240, screen_height: 135 } + - { name: "MarauderV6&AwokDual", idf_target: "esp32", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig.marauderv6", zip_name: "MarauderV6&AwokDual.zip", screen_width: 240, screen_height: 320 } + - { name: "AwokMini", idf_target: "esp32", led: false, screen_support: true, input_type: "joystick", sdkconfig_file: "configs/sdkconfig.awokmini", zip_name: "AwokMini.zip", screen_width: 128, screen_height: 128 } + - { name: "ESP32-S3-Cardputer", idf_target: "esp32s3", led: false, screen_support: true, input_type: "cardputer", sdkconfig_file: "configs/sdkconfig.default", zip_name: "ESP32-S3-Cardputer.zip", screen_width: 240, screen_height: 135 } # CYD (Cheap Yellow Display) with touch screen #- { name: "CYD-1", idf_target: "esp32", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig_cyd_1", zip_name: "CYD-1.zip", screen_width: 240, screen_height: 320 } #- { name: "CYD-2", idf_target: "esp32", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig_cyd_2", zip_name: "CYD-2.zip", screen_width: 240, screen_height: 320 } # 7-inch boards - - { name: "Waveshare_LCD", idf_target: "esp32s3", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig_waveshare7inch", zip_name: "Waveshare_LCD.zip", screen_width: 800, screen_height: 480, use_7_incher: true, waveshare_lcd: true } - - { name: "Crowtech_LCD", idf_target: "esp32s3", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig_crowtech7inch", zip_name: "Crowtech_LCD.zip", screen_width: 800, screen_height: 480, use_7_incher: true, crowtech_lcd: true } + - { name: "Waveshare_LCD", idf_target: "esp32s3", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig.waveshare7inch", zip_name: "Waveshare_LCD.zip", screen_width: 800, screen_height: 480, use_7_incher: true, waveshare_lcd: true } + - { name: "Crowtech_LCD", idf_target: "esp32s3", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig.crowtech7inch", zip_name: "Crowtech_LCD.zip", screen_width: 800, screen_height: 480, use_7_incher: true, crowtech_lcd: true } steps: - name: Checkout Repository diff --git a/configs/sdkconfig_awokmini b/configs/sdkconfig.awokmini similarity index 100% rename from configs/sdkconfig_awokmini rename to configs/sdkconfig.awokmini diff --git a/configs/sdkconfig_crowtech7inch b/configs/sdkconfig.crowtech7inch similarity index 100% rename from configs/sdkconfig_crowtech7inch rename to configs/sdkconfig.crowtech7inch diff --git a/configs/sdkconfig_default b/configs/sdkconfig.default similarity index 100% rename from configs/sdkconfig_default rename to configs/sdkconfig.default diff --git a/configs/sdkconfig_marauderv6 b/configs/sdkconfig.marauderv6 similarity index 100% rename from configs/sdkconfig_marauderv6 rename to configs/sdkconfig.marauderv6 diff --git a/configs/sdkconfig_waveshare7inch b/configs/sdkconfig.waveshare7inch similarity index 100% rename from configs/sdkconfig_waveshare7inch rename to configs/sdkconfig.waveshare7inch From 9bc00c0b20ba00adaef6c29844dab50dbbce0c95 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 20:23:20 -0600 Subject: [PATCH 23/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index e5789571..6de5ed02 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -76,7 +76,7 @@ jobs: - name: Apply Custom SDK Config run: | - cp ${{ matrix.sdkconfig_file }} sdkconfig + cp ${{ matrix.sdkconfig_file }} "${{ github.workspace }}/sdkconfig" - name: Set Environment Variables for Matrix Configuration run: | From 9d6c895077651dc8e6ed426673a30b9d1bf8ffcf Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 20:30:15 -0600 Subject: [PATCH 24/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 6de5ed02..4170bf34 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -76,7 +76,15 @@ jobs: - name: Apply Custom SDK Config run: | - cp ${{ matrix.sdkconfig_file }} "${{ github.workspace }}/sdkconfig" + SDKCONFIG_FILE="${{ matrix.sdkconfig_file }}" + DEST_FILE="${{ github.workspace }}/sdkconfig" + + if [ -f "$SDKCONFIG_FILE" ]; then + cp "$SDKCONFIG_FILE" "$DEST_FILE" + else + echo "Error: Source config file $SDKCONFIG_FILE does not exist." + exit 1 + fi - name: Set Environment Variables for Matrix Configuration run: | From 2fb8b312a99ffb155fc1f9a247ae03675e5bc443 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 20:48:25 -0600 Subject: [PATCH 25/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 4170bf34..8e24eb1d 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -76,9 +76,11 @@ jobs: - name: Apply Custom SDK Config run: | - SDKCONFIG_FILE="${{ matrix.sdkconfig_file }}" + SDKCONFIG_FILE="${{ github.workspace }}/${{ matrix.sdkconfig_file }}" DEST_FILE="${{ github.workspace }}/sdkconfig" + echo "Applying SDK Config: $SDKCONFIG_FILE to $DEST_FILE" + if [ -f "$SDKCONFIG_FILE" ]; then cp "$SDKCONFIG_FILE" "$DEST_FILE" else From 0967ca394be7822d271ae405a9623f210d5471f9 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 20:54:51 -0600 Subject: [PATCH 26/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 8e24eb1d..c032bcc3 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -76,8 +76,8 @@ jobs: - name: Apply Custom SDK Config run: | - SDKCONFIG_FILE="${{ github.workspace }}/${{ matrix.sdkconfig_file }}" - DEST_FILE="${{ github.workspace }}/sdkconfig" + SDKCONFIG_FILE="${{ matrix.sdkconfig_file }}" + DEST_FILE="/sdkconfig" echo "Applying SDK Config: $SDKCONFIG_FILE to $DEST_FILE" From 9ac3fe1f6bba0ef30ebad827feb9cbf9118ef5fc Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 20:58:40 -0600 Subject: [PATCH 27/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index c032bcc3..427a7190 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -76,8 +76,8 @@ jobs: - name: Apply Custom SDK Config run: | - SDKCONFIG_FILE="${{ matrix.sdkconfig_file }}" - DEST_FILE="/sdkconfig" + SDKCONFIG_FILE="${{matrix.sdkconfig_file}}" + DEST_FILE="sdkconfig" echo "Applying SDK Config: $SDKCONFIG_FILE to $DEST_FILE" From edeeaf57df0ca0048bcf0a67d36583077a06134c Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 21:06:18 -0600 Subject: [PATCH 28/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 427a7190..d35b1c0c 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -76,15 +76,14 @@ jobs: - name: Apply Custom SDK Config run: | - SDKCONFIG_FILE="${{matrix.sdkconfig_file}}" DEST_FILE="sdkconfig" - echo "Applying SDK Config: $SDKCONFIG_FILE to $DEST_FILE" + echo "Applying SDK Config: ${{matrix.sdkconfig_file}} to $DEST_FILE" - if [ -f "$SDKCONFIG_FILE" ]; then - cp "$SDKCONFIG_FILE" "$DEST_FILE" + if [ -f "${{matrix.sdkconfig_file}}" ]; then + cp "${{matrix.sdkconfig_file}}" "$DEST_FILE" else - echo "Error: Source config file $SDKCONFIG_FILE does not exist." + echo "Error: Source config file ${{matrix.sdkconfig_file}} does not exist." exit 1 fi From cec963314cc4a9221785ff409419e1a2c6b16e93 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 21:16:39 -0600 Subject: [PATCH 29/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 36 +++++++++++++------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index d35b1c0c..4453b667 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -7,7 +7,7 @@ on: jobs: build: - name: Build for ${{ matrix.target.name }} - LED ${{ matrix.led }} - Screen ${{ matrix.screen_support }} - Input ${{ matrix.input_type }} + name: Build for ${{ matrix.target.name }} - LED ${{ matrix.target.led }} - Screen ${{ matrix.target.screen_support }} - Input ${{ matrix.target.input_type }} runs-on: ubuntu-latest strategy: @@ -78,30 +78,30 @@ jobs: run: | DEST_FILE="sdkconfig" - echo "Applying SDK Config: ${{matrix.sdkconfig_file}} to $DEST_FILE" + echo "Applying SDK Config: ${{matrix.target.sdkconfig_file}} to $DEST_FILE" - if [ -f "${{matrix.sdkconfig_file}}" ]; then - cp "${{matrix.sdkconfig_file}}" "$DEST_FILE" + if [ -f "${{matrix.target.sdkconfig_file}}" ]; then + cp "${{matrix.target.sdkconfig_file}}" "$DEST_FILE" else - echo "Error: Source config file ${{matrix.sdkconfig_file}} does not exist." + echo "Error: Source config file ${{matrix.target.sdkconfig_file}} does not exist." exit 1 fi - name: Set Environment Variables for Matrix Configuration run: | - if [ "${{ matrix.led }}" = "true" ]; then - echo "LED_DATA_PIN=${{ matrix.led_pin }}" >> $GITHUB_ENV - echo "NUM_LEDS=${{ matrix.num_leds }}" >> $GITHUB_ENV + if [ "${{ matrix.target.led }}" = "true" ]; then + echo "LED_DATA_PIN=${{ matrix.target.led_pin }}" >> $GITHUB_ENV + echo "NUM_LEDS=${{ matrix.target.num_leds }}" >> $GITHUB_ENV fi - if [ "${{ matrix.is_ghost_board }}" = "true" ]; then + if [ "${{ matrix.target.is_ghost_board }}" = "true" ]; then echo "IS_GHOST_BOARD=1" >> $GITHUB_ENV fi - if [ "${{ matrix.screen_support }}" = "true" ]; then + if [ "${{ matrix.target.screen_support }}" = "true" ]; then echo "WITH_SCREEN=1" >> $GITHUB_ENV - echo "TFT_WIDTH=${{ matrix.screen_width }}" >> $GITHUB_ENV - echo "TFT_HEIGHT=${{ matrix.screen_height }}" >> $GITHUB_ENV + echo "TFT_WIDTH=${{ matrix.target.screen_width }}" >> $GITHUB_ENV + echo "TFT_HEIGHT=${{ matrix.target.screen_height }}" >> $GITHUB_ENV fi - case "${{ matrix.input_type }}" in + case "${{ matrix.target.input_type }}" in "touchscreen") echo "USE_TOUCHSCREEN=1" >> $GITHUB_ENV ;; @@ -112,13 +112,13 @@ jobs: echo "USE_CARDPUTER=1" >> $GITHUB_ENV ;; esac - if [ "${{ matrix.use_7_incher }}" = "true" ]; then + if [ "${{ matrix.target.use_7_incher }}" = "true" ]; then echo "USE_7_INCHER=0" >> $GITHUB_ENV fi - if [ "${{ matrix.waveshare_lcd }}" = "true" ]; then + if [ "${{ matrix.target.waveshare_lcd }}" = "true" ]; then echo "Waveshare_LCD=1" >> $GITHUB_ENV fi - if [ "${{ matrix.crowtech_lcd }}" = "true" ]; then + if [ "${{ matrix.target.crowtech_lcd }}" = "true" ]; then echo "Crowtech_LCD=1" >> $GITHUB_ENV fi @@ -159,7 +159,7 @@ jobs: cp "$PARTITION_TABLE_BIN" packaged_artifacts/ cp "$GHOST_ESP_IDF_BIN" packaged_artifacts/ - ZIP_NAME="${{ matrix.zip_name }}" + ZIP_NAME="${{ matrix.target.zip_name }}" cd packaged_artifacts zip "$ZIP_NAME" bootloader.bin partition-table.bin Ghost_ESP_IDF.bin cd .. @@ -181,7 +181,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - zip_file="packaged_artifacts/${{ matrix.zip_name }}" + zip_file="packaged_artifacts/${{ matrix.target.zip_name }}" release_id=${{ steps.get_release.outputs.release_id }} curl -X POST \ -H "Authorization: token $GITHUB_TOKEN" \ From f488ceda065b43e8384adbf5e481d81dd310a244 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 21:25:26 -0600 Subject: [PATCH 30/58] Update CMakeLists.txt --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 91e03ef9..aa938e1c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,11 +17,17 @@ endif() if(DEFINED ENV{WITH_SCREEN} AND "$ENV{WITH_SCREEN}" STREQUAL "1") add_compile_definitions(WITH_SCREEN=1) endif() + if(DEFINED ENV{TFT_WIDTH}) add_compile_definitions(TFT_WIDTH=$ENV{TFT_WIDTH}) +else() + add_compile_definitions(TFT_WIDTH=0) endif() + if(DEFINED ENV{TFT_HEIGHT}) add_compile_definitions(TFT_HEIGHT=$ENV{TFT_HEIGHT}) +else() + add_compile_definitions(TFT_HEIGHT=0) endif() # Input type (touchscreen, joystick, cardputer) From b336d406292daa6d9469d5b1131a6de3ebde7a5d Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 22:41:58 -0600 Subject: [PATCH 31/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 4453b667..25f60083 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -28,7 +28,7 @@ jobs: - { name: "ghostboard", idf_target: "esp32c6", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default", zip_name: "ghostboard.zip", led_pin: 10, num_leds: 3, is_ghost_board: true } # Screen-supported builds - - { name: "MarauderV6&AwokDual", idf_target: "esp32", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig.marauderv6", zip_name: "MarauderV6&AwokDual.zip", screen_width: 240, screen_height: 320 } + - { name: "MarauderV6&AwokDual", idf_target: "esp32", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig.marauderv6", zip_name: "MarauderV6_AwokDual.zip", screen_width: 240, screen_height: 320 } - { name: "AwokMini", idf_target: "esp32", led: false, screen_support: true, input_type: "joystick", sdkconfig_file: "configs/sdkconfig.awokmini", zip_name: "AwokMini.zip", screen_width: 128, screen_height: 128 } - { name: "ESP32-S3-Cardputer", idf_target: "esp32s3", led: false, screen_support: true, input_type: "cardputer", sdkconfig_file: "configs/sdkconfig.default", zip_name: "ESP32-S3-Cardputer.zip", screen_width: 240, screen_height: 135 } @@ -69,11 +69,6 @@ jobs: git clone -b v5.3.1 --depth 1 https://github.com/espressif/esp-idf.git ~/esp-idf ~/esp-idf/install.sh - - name: Set Target - run: | - . ~/esp-idf/export.sh - idf.py set-target ${{ matrix.target.idf_target }} - - name: Apply Custom SDK Config run: | DEST_FILE="sdkconfig" @@ -87,6 +82,11 @@ jobs: exit 1 fi + - name: Set Target + run: | + . ~/esp-idf/export.sh + idf.py set-target ${{ matrix.target.idf_target }} + - name: Set Environment Variables for Matrix Configuration run: | if [ "${{ matrix.target.led }}" = "true" ]; then From 20a3d1edc9128c73f4fc8981f215186b1ca3c935 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 22:49:22 -0600 Subject: [PATCH 32/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 25f60083..3570ef1d 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -82,10 +82,18 @@ jobs: exit 1 fi - - name: Set Target + - name: Set ESP-IDF Target in SDK Config run: | - . ~/esp-idf/export.sh - idf.py set-target ${{ matrix.target.idf_target }} + TARGET_VAR="CONFIG_IDF_TARGET=${{ matrix.target.idf_target }}" + SDKCONFIG_FILE="${{ matrix.target.sdkconfig_file }}" + + echo "Setting target in SDK Config: $TARGET_VAR in $SDKCONFIG_FILE" + + if grep -q "^CONFIG_IDF_TARGET=" "$SDKCONFIG_FILE"; then + sed -i "s/^CONFIG_IDF_TARGET=.*/$TARGET_VAR/" "$SDKCONFIG_FILE" + else + echo "$TARGET_VAR" >> "$SDKCONFIG_FILE" + fi - name: Set Environment Variables for Matrix Configuration run: | From 77a6c6542ee12fde1ddb2e232882ce8c30c76dd5 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 22:54:01 -0600 Subject: [PATCH 33/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 3570ef1d..04277352 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -85,7 +85,7 @@ jobs: - name: Set ESP-IDF Target in SDK Config run: | TARGET_VAR="CONFIG_IDF_TARGET=${{ matrix.target.idf_target }}" - SDKCONFIG_FILE="${{ matrix.target.sdkconfig_file }}" + SDKCONFIG_FILE="sdkconfig" echo "Setting target in SDK Config: $TARGET_VAR in $SDKCONFIG_FILE" From 07f2dc8b5ea1d9e1894386c0527b5a18848ed266 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 23:10:53 -0600 Subject: [PATCH 34/58] Changed Configs --- .github/workflows/compile_generics.yml | 31 +- ...config.default => sdkconfig.default.esp32} | 0 configs/sdkconfig.default.esp32c3 | 2706 +++++++++++++++ configs/sdkconfig.default.esp32c6 | 2778 ++++++++++++++++ configs/sdkconfig.default.esp32s2 | 2528 ++++++++++++++ configs/sdkconfig.default.esp32s3 | 2954 +++++++++++++++++ configs/sdkconfig.marauderv6 | 2 +- dependencies.lock | 2 +- sdkconfig | 992 +++--- sdkconfig.old | 1071 ++---- 10 files changed, 11748 insertions(+), 1316 deletions(-) rename configs/{sdkconfig.default => sdkconfig.default.esp32} (100%) create mode 100644 configs/sdkconfig.default.esp32c3 create mode 100644 configs/sdkconfig.default.esp32c6 create mode 100644 configs/sdkconfig.default.esp32s2 create mode 100644 configs/sdkconfig.default.esp32s3 diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 04277352..d493690d 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -14,23 +14,23 @@ jobs: matrix: target: # Generic configurations (no LED, no screen support) - - { name: "esp32-generic", idf_target: "esp32", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default", zip_name: "esp32-generic.zip" } - - { name: "esp32s2-generic", idf_target: "esp32s2", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default", zip_name: "esp32s2-generic.zip" } - - { name: "esp32s3-generic", idf_target: "esp32s3", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default", zip_name: "esp32s3-generic.zip" } - - { name: "esp32c3-generic", idf_target: "esp32c3", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default", zip_name: "esp32c3-generic.zip" } - - { name: "esp32c6-generic", idf_target: "esp32c6", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default", zip_name: "esp32c6-generic.zip" } + - { name: "esp32-generic", idf_target: "esp32", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32", zip_name: "esp32-generic.zip" } + - { name: "esp32s2-generic", idf_target: "esp32s2", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32s2", zip_name: "esp32s2-generic.zip" } + - { name: "esp32s3-generic", idf_target: "esp32s3", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32s3", zip_name: "esp32s3-generic.zip" } + - { name: "esp32c3-generic", idf_target: "esp32c3", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c3", zip_name: "esp32c3-generic.zip" } + - { name: "esp32c6-generic", idf_target: "esp32c6", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c6", zip_name: "esp32c6-generic.zip" } # Dev Kit configurations (LED on, no screen support) - - { name: "esp32c3-devkit", idf_target: "esp32c3", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default", zip_name: "esp32c3-devkit.zip", led_pin: 8, num_leds: 1 } - - { name: "esp32c6-devkit", idf_target: "esp32c6", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default", zip_name: "esp32c6-devkit.zip", led_pin: 8, num_leds: 1 } + - { name: "esp32c3-devkit", idf_target: "esp32c3", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c6", zip_name: "esp32c3-devkit.zip", led_pin: 8, num_leds: 1 } + - { name: "esp32c6-devkit", idf_target: "esp32c6", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c6", zip_name: "esp32c6-devkit.zip", led_pin: 8, num_leds: 1 } # Ghost board (LED on, special pin and LED count) - - { name: "ghostboard", idf_target: "esp32c6", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default", zip_name: "ghostboard.zip", led_pin: 10, num_leds: 3, is_ghost_board: true } + - { name: "ghostboard", idf_target: "esp32c6", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c6", zip_name: "ghostboard.zip", led_pin: 10, num_leds: 3, is_ghost_board: true } # Screen-supported builds - { name: "MarauderV6&AwokDual", idf_target: "esp32", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig.marauderv6", zip_name: "MarauderV6_AwokDual.zip", screen_width: 240, screen_height: 320 } - { name: "AwokMini", idf_target: "esp32", led: false, screen_support: true, input_type: "joystick", sdkconfig_file: "configs/sdkconfig.awokmini", zip_name: "AwokMini.zip", screen_width: 128, screen_height: 128 } - - { name: "ESP32-S3-Cardputer", idf_target: "esp32s3", led: false, screen_support: true, input_type: "cardputer", sdkconfig_file: "configs/sdkconfig.default", zip_name: "ESP32-S3-Cardputer.zip", screen_width: 240, screen_height: 135 } + - { name: "ESP32-S3-Cardputer", idf_target: "esp32s3", led: false, screen_support: true, input_type: "cardputer", sdkconfig_file: "configs/sdkconfig.default.esp32s3", zip_name: "ESP32-S3-Cardputer.zip", screen_width: 240, screen_height: 135 } # CYD (Cheap Yellow Display) with touch screen #- { name: "CYD-1", idf_target: "esp32", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig_cyd_1", zip_name: "CYD-1.zip", screen_width: 240, screen_height: 320 } @@ -82,19 +82,6 @@ jobs: exit 1 fi - - name: Set ESP-IDF Target in SDK Config - run: | - TARGET_VAR="CONFIG_IDF_TARGET=${{ matrix.target.idf_target }}" - SDKCONFIG_FILE="sdkconfig" - - echo "Setting target in SDK Config: $TARGET_VAR in $SDKCONFIG_FILE" - - if grep -q "^CONFIG_IDF_TARGET=" "$SDKCONFIG_FILE"; then - sed -i "s/^CONFIG_IDF_TARGET=.*/$TARGET_VAR/" "$SDKCONFIG_FILE" - else - echo "$TARGET_VAR" >> "$SDKCONFIG_FILE" - fi - - name: Set Environment Variables for Matrix Configuration run: | if [ "${{ matrix.target.led }}" = "true" ]; then diff --git a/configs/sdkconfig.default b/configs/sdkconfig.default.esp32 similarity index 100% rename from configs/sdkconfig.default rename to configs/sdkconfig.default.esp32 diff --git a/configs/sdkconfig.default.esp32c3 b/configs/sdkconfig.default.esp32c3 new file mode 100644 index 00000000..207f0bf8 --- /dev/null +++ b/configs/sdkconfig.default.esp32c3 @@ -0,0 +1,2706 @@ +# +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Configuration +# +CONFIG_SOC_ADC_SUPPORTED=y +CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y +CONFIG_SOC_UART_SUPPORTED=y +CONFIG_SOC_GDMA_SUPPORTED=y +CONFIG_SOC_AHB_GDMA_SUPPORTED=y +CONFIG_SOC_GPTIMER_SUPPORTED=y +CONFIG_SOC_TWAI_SUPPORTED=y +CONFIG_SOC_BT_SUPPORTED=y +CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y +CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y +CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y +CONFIG_SOC_XT_WDT_SUPPORTED=y +CONFIG_SOC_PHY_SUPPORTED=y +CONFIG_SOC_WIFI_SUPPORTED=y +CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y +CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y +CONFIG_SOC_EFUSE_HAS_EFUSE_RST_BUG=y +CONFIG_SOC_EFUSE_SUPPORTED=y +CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y +CONFIG_SOC_RTC_MEM_SUPPORTED=y +CONFIG_SOC_I2S_SUPPORTED=y +CONFIG_SOC_RMT_SUPPORTED=y +CONFIG_SOC_SDM_SUPPORTED=y +CONFIG_SOC_GPSPI_SUPPORTED=y +CONFIG_SOC_LEDC_SUPPORTED=y +CONFIG_SOC_I2C_SUPPORTED=y +CONFIG_SOC_SYSTIMER_SUPPORTED=y +CONFIG_SOC_SUPPORT_COEXISTENCE=y +CONFIG_SOC_AES_SUPPORTED=y +CONFIG_SOC_MPI_SUPPORTED=y +CONFIG_SOC_SHA_SUPPORTED=y +CONFIG_SOC_HMAC_SUPPORTED=y +CONFIG_SOC_DIG_SIGN_SUPPORTED=y +CONFIG_SOC_FLASH_ENC_SUPPORTED=y +CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +CONFIG_SOC_MEMPROT_SUPPORTED=y +CONFIG_SOC_BOD_SUPPORTED=y +CONFIG_SOC_CLK_TREE_SUPPORTED=y +CONFIG_SOC_ASSIST_DEBUG_SUPPORTED=y +CONFIG_SOC_WDT_SUPPORTED=y +CONFIG_SOC_SPI_FLASH_SUPPORTED=y +CONFIG_SOC_RNG_SUPPORTED=y +CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y +CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y +CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y +CONFIG_SOC_PM_SUPPORTED=y +CONFIG_SOC_XTAL_SUPPORT_40M=y +CONFIG_SOC_AES_SUPPORT_DMA=y +CONFIG_SOC_AES_GDMA=y +CONFIG_SOC_AES_SUPPORT_AES_128=y +CONFIG_SOC_AES_SUPPORT_AES_256=y +CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +CONFIG_SOC_ADC_ARBITER_SUPPORTED=y +CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y +CONFIG_SOC_ADC_MONITOR_SUPPORTED=y +CONFIG_SOC_ADC_DMA_SUPPORTED=y +CONFIG_SOC_ADC_PERIPH_NUM=2 +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=5 +CONFIG_SOC_ADC_ATTEN_NUM=4 +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=1 +CONFIG_SOC_ADC_PATT_LEN_MAX=8 +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 +CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 +CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 +CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y +CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y +CONFIG_SOC_ADC_SHARED_POWER=y +CONFIG_SOC_APB_BACKUP_DMA=y +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y +CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y +CONFIG_SOC_CACHE_MEMORY_IBANK_SIZE=0x4000 +CONFIG_SOC_CPU_CORES_NUM=1 +CONFIG_SOC_CPU_INTR_NUM=32 +CONFIG_SOC_CPU_HAS_FLEXIBLE_INTC=y +CONFIG_SOC_CPU_HAS_CSR_PC=y +CONFIG_SOC_CPU_BREAKPOINTS_NUM=8 +CONFIG_SOC_CPU_WATCHPOINTS_NUM=8 +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x80000000 +CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=3072 +CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 +CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 +CONFIG_SOC_AHB_GDMA_VERSION=1 +CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 +CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=3 +CONFIG_SOC_GPIO_PORT=1 +CONFIG_SOC_GPIO_PIN_COUNT=22 +CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y +CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y +CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y +CONFIG_SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP=y +CONFIG_SOC_GPIO_IN_RANGE_MAX=21 +CONFIG_SOC_GPIO_OUT_RANGE_MAX=21 +CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK=0 +CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_SUPPORTED_PIN_CNT=6 +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x00000000003FFFC0 +CONFIG_SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX=y +CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_PERIPH_ALWAYS_ENABLE=y +CONFIG_SOC_I2C_NUM=1 +CONFIG_SOC_HP_I2C_NUM=1 +CONFIG_SOC_I2C_FIFO_LEN=32 +CONFIG_SOC_I2C_CMD_REG_NUM=8 +CONFIG_SOC_I2C_SUPPORT_SLAVE=y +CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y +CONFIG_SOC_I2C_SUPPORT_XTAL=y +CONFIG_SOC_I2C_SUPPORT_RTC=y +CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y +CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y +CONFIG_SOC_I2S_NUM=1 +CONFIG_SOC_I2S_HW_VERSION_2=y +CONFIG_SOC_I2S_SUPPORTS_XTAL=y +CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y +CONFIG_SOC_I2S_SUPPORTS_PCM=y +CONFIG_SOC_I2S_SUPPORTS_PDM=y +CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 +CONFIG_SOC_I2S_SUPPORTS_TDM=y +CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y +CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y +CONFIG_SOC_LEDC_CHANNEL_NUM=6 +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 +CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 +CONFIG_SOC_MMU_PERIPH_NUM=1 +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +CONFIG_SOC_RMT_GROUPS=1 +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=2 +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=2 +CONFIG_SOC_RMT_CHANNELS_PER_GROUP=4 +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 +CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y +CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y +CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y +CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y +CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y +CONFIG_SOC_RMT_SUPPORT_XTAL=y +CONFIG_SOC_RMT_SUPPORT_APB=y +CONFIG_SOC_RMT_SUPPORT_RC_FAST=y +CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 +CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=108 +CONFIG_SOC_SLEEP_SYSTIMER_STALL_WORKAROUND=y +CONFIG_SOC_SLEEP_TGWDT_STOP_WORKAROUND=y +CONFIG_SOC_RTCIO_PIN_COUNT=0 +CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 +CONFIG_SOC_MPI_OPERATIONS_NUM=3 +CONFIG_SOC_RSA_MAX_BIT_LEN=3072 +CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 +CONFIG_SOC_SHA_SUPPORT_DMA=y +CONFIG_SOC_SHA_SUPPORT_RESUME=y +CONFIG_SOC_SHA_GDMA=y +CONFIG_SOC_SHA_SUPPORT_SHA1=y +CONFIG_SOC_SHA_SUPPORT_SHA224=y +CONFIG_SOC_SHA_SUPPORT_SHA256=y +CONFIG_SOC_SDM_GROUPS=1 +CONFIG_SOC_SDM_CHANNELS_PER_GROUP=4 +CONFIG_SOC_SDM_CLK_SUPPORT_APB=y +CONFIG_SOC_SPI_PERIPH_NUM=2 +CONFIG_SOC_SPI_MAX_CS_NUM=6 +CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 +CONFIG_SOC_SPI_SUPPORT_DDRCLK=y +CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y +CONFIG_SOC_SPI_SUPPORT_CD_SIG=y +CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y +CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +CONFIG_SOC_SPI_SUPPORT_CLK_APB=y +CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y +CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y +CONFIG_SOC_SPI_SCT_SUPPORTED=y +CONFIG_SOC_SPI_SCT_REG_NUM=14 +CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y +CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA +CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y +CONFIG_SOC_SPI_MEM_SUPPORT_IDLE_INTR=y +CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_CHECK_SUS=y +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y +CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y +CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 +CONFIG_SOC_SYSTIMER_ALARM_NUM=3 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 +CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y +CONFIG_SOC_SYSTIMER_INT_LEVEL=y +CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y +CONFIG_SOC_TIMER_GROUPS=2 +CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=1 +CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 +CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y +CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=2 +CONFIG_SOC_MWDT_SUPPORT_XTAL=y +CONFIG_SOC_TWAI_CONTROLLER_NUM=1 +CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y +CONFIG_SOC_TWAI_BRP_MIN=2 +CONFIG_SOC_TWAI_BRP_MAX=16384 +CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y +CONFIG_SOC_EFUSE_DIS_PAD_JTAG=y +CONFIG_SOC_EFUSE_DIS_USB_JTAG=y +CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y +CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_ICACHE=y +CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y +CONFIG_SOC_SECURE_BOOT_V2_RSA=y +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 +CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y +CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y +CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 +CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=512 +CONFIG_SOC_UART_NUM=2 +CONFIG_SOC_UART_HP_NUM=2 +CONFIG_SOC_UART_FIFO_LEN=128 +CONFIG_SOC_UART_BITRATE_MAX=5000000 +CONFIG_SOC_UART_SUPPORT_APB_CLK=y +CONFIG_SOC_UART_SUPPORT_RTC_CLK=y +CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y +CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y +CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y +CONFIG_SOC_COEX_HW_PTI=y +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192 +CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 +CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_CPU_PD=y +CONFIG_SOC_PM_SUPPORT_WIFI_PD=y +CONFIG_SOC_PM_SUPPORT_BT_PD=y +CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y +CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y +CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y +CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y +CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y +CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y +CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y +CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL=y +CONFIG_SOC_WIFI_HW_TSF=y +CONFIG_SOC_WIFI_FTM_SUPPORT=y +CONFIG_SOC_WIFI_GCMP_SUPPORT=y +CONFIG_SOC_WIFI_WAPI_SUPPORT=y +CONFIG_SOC_WIFI_CSI_SUPPORT=y +CONFIG_SOC_WIFI_MESH_SUPPORT=y +CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y +CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y +CONFIG_SOC_BLE_SUPPORTED=y +CONFIG_SOC_BLE_MESH_SUPPORTED=y +CONFIG_SOC_BLE_50_SUPPORTED=y +CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y +CONFIG_SOC_BLUFI_SUPPORTED=y +CONFIG_SOC_PHY_COMBO_MODULE=y +CONFIG_IDF_CMAKE=y +CONFIG_IDF_TOOLCHAIN="gcc" +CONFIG_IDF_TARGET_ARCH_RISCV=y +CONFIG_IDF_TARGET_ARCH="riscv" +CONFIG_IDF_TARGET="esp32c3" +CONFIG_IDF_INIT_VERSION="5.3.1" +CONFIG_IDF_TARGET_ESP32C3=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0005 + +# +# Build type +# +CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y +# CONFIG_APP_BUILD_TYPE_RAM is not set +CONFIG_APP_BUILD_GENERATE_BINARIES=y +CONFIG_APP_BUILD_BOOTLOADER=y +CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y +# CONFIG_APP_REPRODUCIBLE_BUILD is not set +# CONFIG_APP_NO_BLOBS is not set +# end of Build type + +# +# Bootloader config +# + +# +# Bootloader manager +# +CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y +CONFIG_BOOTLOADER_PROJECT_VER=1 +# end of Bootloader manager + +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set +CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y +# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set +CONFIG_BOOTLOADER_LOG_LEVEL=3 + +# +# Serial Flash Configurations +# +# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set +CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y +# end of Serial Flash Configurations + +# CONFIG_BOOTLOADER_FACTORY_RESET is not set +# CONFIG_BOOTLOADER_APP_TEST is not set +CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y +CONFIG_BOOTLOADER_WDT_ENABLE=y +# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set +CONFIG_BOOTLOADER_WDT_TIME_MS=9000 +# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set +CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 +# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set +# end of Bootloader config + +# +# Security features +# +CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_PREFERRED=y +# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set +# CONFIG_SECURE_BOOT is not set +# CONFIG_SECURE_FLASH_ENC_ENABLED is not set +CONFIG_SECURE_ROM_DL_MODE_ENABLED=y +# end of Security features + +# +# Application manager +# +CONFIG_APP_COMPILE_TIME_DATE=y +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set +# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set +CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 +# end of Application manager + +CONFIG_ESP_ROM_HAS_CRC_LE=y +CONFIG_ESP_ROM_HAS_CRC_BE=y +CONFIG_ESP_ROM_HAS_MZ_CRC32=y +CONFIG_ESP_ROM_HAS_JPEG_DECODE=y +CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=3 +CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y +CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y +CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y +CONFIG_ESP_ROM_GET_CLK_FREQ=y +CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y +CONFIG_ESP_ROM_HAS_SPI_FLASH=y +CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y +CONFIG_ESP_ROM_HAS_NEWLIB=y +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y +CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y +CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y +CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y +CONFIG_ESP_ROM_HAS_SW_FLOAT=y +CONFIG_ESP_ROM_USB_OTG_NUM=-1 +CONFIG_ESP_ROM_HAS_VERSION=y +CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y + +# +# Boot ROM Behavior +# +CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y +# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set +# end of Boot ROM Behavior + +# +# Serial flasher config +# +# CONFIG_ESPTOOLPY_NO_STUB is not set +CONFIG_ESPTOOLPY_FLASHMODE_QIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set +# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set +CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y +CONFIG_ESPTOOLPY_FLASHMODE="dio" +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y +CONFIG_ESPTOOLPY_FLASHFREQ="80m" +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" +# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set +CONFIG_ESPTOOLPY_BEFORE_RESET=y +# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set +CONFIG_ESPTOOLPY_BEFORE="default_reset" +CONFIG_ESPTOOLPY_AFTER_RESET=y +# CONFIG_ESPTOOLPY_AFTER_NORESET is not set +CONFIG_ESPTOOLPY_AFTER="hard_reset" +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +# end of Serial flasher config + +# +# Partition Table +# +# CONFIG_PARTITION_TABLE_SINGLE_APP is not set +# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +CONFIG_PARTITION_TABLE_MD5=y +# end of Partition Table + +# +# Compiler options +# +# CONFIG_COMPILER_OPTIMIZATION_DEBUG is not set +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +# CONFIG_COMPILER_OPTIMIZATION_PERF is not set +# CONFIG_COMPILER_OPTIMIZATION_NONE is not set +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set +CONFIG_COMPILER_HIDE_PATHS_MACROS=y +# CONFIG_COMPILER_CXX_EXCEPTIONS is not set +# CONFIG_COMPILER_CXX_RTTI is not set +CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y +# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS is not set +# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set +# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set +# CONFIG_COMPILER_DUMP_RTL_FILES is not set +CONFIG_COMPILER_RT_LIB_GCCLIB=y +CONFIG_COMPILER_RT_LIB_NAME="gcc" +# CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING is not set +CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y +# end of Compiler options + +# +# Component config +# + +# +# Application Level Tracing +# +# CONFIG_APPTRACE_DEST_JTAG is not set +CONFIG_APPTRACE_DEST_NONE=y +# CONFIG_APPTRACE_DEST_UART1 is not set +# CONFIG_APPTRACE_DEST_USB_CDC is not set +CONFIG_APPTRACE_DEST_UART_NONE=y +CONFIG_APPTRACE_UART_TASK_PRIO=1 +CONFIG_APPTRACE_LOCK_ENABLE=y +# end of Application Level Tracing + +# +# Bluetooth +# +CONFIG_BT_ENABLED=y +# CONFIG_BT_BLUEDROID_ENABLED is not set +CONFIG_BT_NIMBLE_ENABLED=y +# CONFIG_BT_CONTROLLER_ONLY is not set +CONFIG_BT_CONTROLLER_ENABLED=y +# CONFIG_BT_CONTROLLER_DISABLED is not set + +# +# NimBLE Options +# +CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y +# CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set +# CONFIG_BT_NIMBLE_LOG_LEVEL_NONE is not set +# CONFIG_BT_NIMBLE_LOG_LEVEL_ERROR is not set +# CONFIG_BT_NIMBLE_LOG_LEVEL_WARNING is not set +CONFIG_BT_NIMBLE_LOG_LEVEL_INFO=y +# CONFIG_BT_NIMBLE_LOG_LEVEL_DEBUG is not set +CONFIG_BT_NIMBLE_LOG_LEVEL=1 +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=3 +CONFIG_BT_NIMBLE_MAX_BONDS=3 +CONFIG_BT_NIMBLE_MAX_CCCDS=8 +CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM=0 +CONFIG_BT_NIMBLE_PINNED_TO_CORE=0 +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=4096 +CONFIG_BT_NIMBLE_ROLE_CENTRAL=y +CONFIG_BT_NIMBLE_ROLE_PERIPHERAL=y +CONFIG_BT_NIMBLE_ROLE_BROADCASTER=y +CONFIG_BT_NIMBLE_ROLE_OBSERVER=y +# CONFIG_BT_NIMBLE_NVS_PERSIST is not set +# CONFIG_BT_NIMBLE_SMP_ID_RESET is not set +CONFIG_BT_NIMBLE_SECURITY_ENABLE=y +CONFIG_BT_NIMBLE_SM_LEGACY=y +CONFIG_BT_NIMBLE_SM_SC=y +# CONFIG_BT_NIMBLE_SM_SC_DEBUG_KEYS is not set +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_ENCRYPTION=y +CONFIG_BT_NIMBLE_SM_LVL=0 +# CONFIG_BT_NIMBLE_DEBUG is not set +# CONFIG_BT_NIMBLE_DYNAMIC_SERVICE is not set +CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME="nimble" +CONFIG_BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31 +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=256 +CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE=0 + +# +# Memory Settings +# +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=12 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=256 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=24 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_SIZE=320 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=24 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_SIZE=255 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_SIZE=70 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=30 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_DISCARD_COUNT=8 +CONFIG_BT_NIMBLE_L2CAP_COC_SDU_BUFF_COUNT=1 +# end of Memory Settings + +CONFIG_BT_NIMBLE_GATT_MAX_PROCS=4 +CONFIG_BT_NIMBLE_HS_FLOW_CTRL=y +CONFIG_BT_NIMBLE_HS_FLOW_CTRL_ITVL=1000 +CONFIG_BT_NIMBLE_HS_FLOW_CTRL_THRESH=2 +CONFIG_BT_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y +CONFIG_BT_NIMBLE_RPA_TIMEOUT=900 +# CONFIG_BT_NIMBLE_MESH is not set +CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y +CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000 +# CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT is not set +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=y +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY=y +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY=y +# CONFIG_BT_NIMBLE_EXT_ADV is not set +CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS=0 +# CONFIG_BT_NIMBLE_GATT_CACHING is not set +CONFIG_BT_NIMBLE_WHITELIST_SIZE=12 +# CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set +# CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set +CONFIG_BT_NIMBLE_USE_ESP_TIMER=y +CONFIG_BT_NIMBLE_LEGACY_VHCI_ENABLE=y +# CONFIG_BT_NIMBLE_BLE_GATT_BLOB_TRANSFER is not set + +# +# GAP Service +# + +# +# GAP Appearance write permissions +# +# CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE is not set +# end of GAP Appearance write permissions + +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM=0 +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ENC=0 +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHN=0 +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHR=0 +CONFIG_BT_NIMBLE_SVC_GAP_CAR_CHAR_NOT_SUPP=y +# CONFIG_BT_NIMBLE_SVC_GAP_CAR_NOT_SUPP is not set +# CONFIG_BT_NIMBLE_SVC_GAP_CAR_SUPP is not set +CONFIG_BT_NIMBLE_SVC_GAP_CENT_ADDR_RESOLUTION=-1 + +# +# GAP device name write permissions +# +# CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE is not set +# end of GAP device name write permissions + +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM=0 +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_ENC=0 +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHEN=0 +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHOR=0 +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL=0 +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL=0 +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SLAVE_LATENCY=0 +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SUPERVISION_TMO=0 +# end of GAP Service + +# +# BLE Services +# +# CONFIG_BT_NIMBLE_HID_SERVICE is not set +# end of BLE Services + +# CONFIG_BT_NIMBLE_VS_SUPPORT is not set +# CONFIG_BT_NIMBLE_ENC_ADV_DATA is not set +# CONFIG_BT_NIMBLE_HIGH_DUTY_ADV_ITVL is not set +# CONFIG_BT_NIMBLE_HOST_QUEUE_CONG_CHECK is not set + +# +# Host-controller Transport +# +CONFIG_UART_HW_FLOWCTRL_DISABLE=y +# CONFIG_UART_HW_FLOWCTRL_CTS_RTS is not set +CONFIG_BT_NIMBLE_HCI_UART_FLOW_CTRL=0 +CONFIG_BT_NIMBLE_HCI_UART_RTS_PIN=19 +CONFIG_BT_NIMBLE_HCI_UART_CTS_PIN=23 +# end of Host-controller Transport +# end of NimBLE Options + +# +# Controller Options +# +CONFIG_BT_CTRL_MODE_EFF=1 +CONFIG_BT_CTRL_BLE_MAX_ACT=6 +CONFIG_BT_CTRL_BLE_MAX_ACT_EFF=6 +CONFIG_BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB=0 +CONFIG_BT_CTRL_PINNED_TO_CORE=0 +CONFIG_BT_CTRL_HCI_MODE_VHCI=y +# CONFIG_BT_CTRL_HCI_MODE_UART_H4 is not set +CONFIG_BT_CTRL_HCI_TL=1 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=30 +CONFIG_BT_BLE_CCA_MODE_NONE=y +# CONFIG_BT_BLE_CCA_MODE_HW is not set +# CONFIG_BT_BLE_CCA_MODE_SW is not set +CONFIG_BT_BLE_CCA_MODE=0 +CONFIG_BT_CTRL_HW_CCA_VAL=20 +CONFIG_BT_CTRL_HW_CCA_EFF=0 +CONFIG_BT_CTRL_CE_LENGTH_TYPE_ORIG=y +# CONFIG_BT_CTRL_CE_LENGTH_TYPE_CE is not set +# CONFIG_BT_CTRL_CE_LENGTH_TYPE_SD is not set +CONFIG_BT_CTRL_CE_LENGTH_TYPE_EFF=0 +CONFIG_BT_CTRL_TX_ANTENNA_INDEX_0=y +# CONFIG_BT_CTRL_TX_ANTENNA_INDEX_1 is not set +CONFIG_BT_CTRL_TX_ANTENNA_INDEX_EFF=0 +CONFIG_BT_CTRL_RX_ANTENNA_INDEX_0=y +# CONFIG_BT_CTRL_RX_ANTENNA_INDEX_1 is not set +CONFIG_BT_CTRL_RX_ANTENNA_INDEX_EFF=0 +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N24 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N21 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N18 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N15 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N12 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N9 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N6 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N3 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N0 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P3 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P6 is not set +CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P9=y +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P12 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P15 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P18 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P21 is not set +CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_EFF=11 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 +CONFIG_BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 +CONFIG_BT_CTRL_BLE_SCAN_DUPL=y +CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DEVICE=y +# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA is not set +# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA_DEVICE is not set +CONFIG_BT_CTRL_SCAN_DUPL_TYPE=0 +CONFIG_BT_CTRL_SCAN_DUPL_CACHE_SIZE=100 +CONFIG_BT_CTRL_DUPL_SCAN_CACHE_REFRESH_PERIOD=0 +# CONFIG_BT_CTRL_BLE_MESH_SCAN_DUPL_EN is not set +# CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EN is not set +CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_DIS=y +CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EFF=0 + +# +# MODEM SLEEP Options +# +# CONFIG_BT_CTRL_MODEM_SLEEP is not set +# end of MODEM SLEEP Options + +CONFIG_BT_CTRL_SLEEP_MODE_EFF=0 +CONFIG_BT_CTRL_SLEEP_CLOCK_EFF=0 +CONFIG_BT_CTRL_HCI_TL_EFF=1 +# CONFIG_BT_CTRL_AGC_RECORRECT_EN is not set +# CONFIG_BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set +# CONFIG_BT_BLE_ADV_DATA_LENGTH_ZERO_AUX is not set +CONFIG_BT_CTRL_CHAN_ASS_EN=y +CONFIG_BT_CTRL_LE_PING_EN=y +# end of Controller Options + +# +# Common Options +# +CONFIG_BT_ALARM_MAX_NUM=50 +# end of Common Options + +# CONFIG_BT_HCI_LOG_DEBUG_EN is not set +# end of Bluetooth + +# CONFIG_BLE_MESH is not set + +# +# Console Library +# +# CONFIG_CONSOLE_SORTED_HELP is not set +# end of Console Library + +# +# Driver Configurations +# + +# +# TWAI Configuration +# +# CONFIG_TWAI_ISR_IN_IRAM is not set +CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y +# end of TWAI Configuration + +# +# Legacy ADC Driver Configuration +# +# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set + +# +# Legacy ADC Calibration Configuration +# +# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy ADC Calibration Configuration +# end of Legacy ADC Driver Configuration + +# +# Legacy Timer Group Driver Configurations +# +# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy Timer Group Driver Configurations + +# +# Legacy RMT Driver Configurations +# +# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy RMT Driver Configurations + +# +# Legacy I2S Driver Configurations +# +# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy I2S Driver Configurations + +# +# Legacy SDM Driver Configurations +# +# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy SDM Driver Configurations + +# +# Legacy Temperature Sensor Driver Configurations +# +# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy Temperature Sensor Driver Configurations +# end of Driver Configurations + +# +# eFuse Bit Manager +# +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# CONFIG_EFUSE_VIRTUAL is not set +CONFIG_EFUSE_MAX_BLK_LEN=256 +# end of eFuse Bit Manager + +# +# ESP-TLS +# +CONFIG_ESP_TLS_USING_MBEDTLS=y +CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y +# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set +# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set +# CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set +# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set +# CONFIG_ESP_TLS_PSK_VERIFICATION is not set +# CONFIG_ESP_TLS_INSECURE is not set +# end of ESP-TLS + +# +# ADC and ADC Calibration +# +# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set +# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set +# CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set +# CONFIG_ADC_ONESHOT_FORCE_USE_ADC2_ON_C3 is not set +# CONFIG_ADC_ENABLE_DEBUG_LOG is not set +# end of ADC and ADC Calibration + +# +# Wireless Coexistence +# +CONFIG_ESP_COEX_ENABLED=y +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y +# CONFIG_ESP_COEX_POWER_MANAGEMENT is not set +# end of Wireless Coexistence + +# +# Common ESP-related +# +CONFIG_ESP_ERR_TO_NAME_LOOKUP=y +# end of Common ESP-related + +# +# ESP-Driver:GPIO Configurations +# +# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:GPIO Configurations + +# +# ESP-Driver:GPTimer Configurations +# +CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y +# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set +# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set +# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:GPTimer Configurations + +# +# ESP-Driver:I2C Configurations +# +# CONFIG_I2C_ISR_IRAM_SAFE is not set +# CONFIG_I2C_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2C Configurations + +# +# ESP-Driver:I2S Configurations +# +# CONFIG_I2S_ISR_IRAM_SAFE is not set +# CONFIG_I2S_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2S Configurations + +# +# ESP-Driver:LEDC Configurations +# +# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:LEDC Configurations + +# +# ESP-Driver:RMT Configurations +# +# CONFIG_RMT_ISR_IRAM_SAFE is not set +# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set +# CONFIG_RMT_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:RMT Configurations + +# +# ESP-Driver:Sigma Delta Modulator Configurations +# +# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set +# CONFIG_SDM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Sigma Delta Modulator Configurations + +# +# ESP-Driver:SPI Configurations +# +CONFIG_SPI_MASTER_ISR_IN_IRAM=y +# CONFIG_SPI_SLAVE_IN_IRAM is not set +CONFIG_SPI_SLAVE_ISR_IN_IRAM=y +# end of ESP-Driver:SPI Configurations + +# +# ESP-Driver:Temperature Sensor Configurations +# +# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Temperature Sensor Configurations + +# +# ESP-Driver:UART Configurations +# +# CONFIG_UART_ISR_IN_IRAM is not set +# end of ESP-Driver:UART Configurations + +# +# ESP-Driver:USB Serial/JTAG Configuration +# +CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y +# end of ESP-Driver:USB Serial/JTAG Configuration + +# +# Ethernet +# +CONFIG_ETH_ENABLED=y +CONFIG_ETH_USE_SPI_ETHERNET=y +# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set +# CONFIG_ETH_SPI_ETHERNET_W5500 is not set +# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set +# CONFIG_ETH_USE_OPENETH is not set +# CONFIG_ETH_TRANSMIT_MUTEX is not set +# end of Ethernet + +# +# Event Loop Library +# +# CONFIG_ESP_EVENT_LOOP_PROFILING is not set +CONFIG_ESP_EVENT_POST_FROM_ISR=y +CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y +# end of Event Loop Library + +# +# GDB Stub +# +CONFIG_ESP_GDBSTUB_ENABLED=y +# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y +CONFIG_ESP_GDBSTUB_MAX_TASKS=32 +# end of GDB Stub + +# +# ESP HTTP client +# +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y +# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set +# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set +# CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set +# end of ESP HTTP client + +# +# HTTP Server +# +CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 +CONFIG_HTTPD_MAX_URI_LEN=512 +CONFIG_HTTPD_ERR_RESP_NO_DELAY=y +CONFIG_HTTPD_PURGE_BUF_LEN=32 +# CONFIG_HTTPD_LOG_PURGE_DATA is not set +# CONFIG_HTTPD_WS_SUPPORT is not set +# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set +# end of HTTP Server + +# +# ESP HTTPS OTA +# +# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set +# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set +# end of ESP HTTPS OTA + +# +# ESP HTTPS server +# +# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set +# end of ESP HTTPS server + +# +# Hardware Settings +# + +# +# Chip revision +# +# CONFIG_ESP32C3_REV_MIN_0 is not set +# CONFIG_ESP32C3_REV_MIN_1 is not set +# CONFIG_ESP32C3_REV_MIN_2 is not set +CONFIG_ESP32C3_REV_MIN_3=y +# CONFIG_ESP32C3_REV_MIN_4 is not set +# CONFIG_ESP32C3_REV_MIN_101 is not set +CONFIG_ESP32C3_REV_MIN_FULL=3 +CONFIG_ESP_REV_MIN_FULL=3 + +# +# Maximum Supported ESP32-C3 Revision (Rev v1.99) +# +CONFIG_ESP32C3_REV_MAX_FULL=199 +CONFIG_ESP_REV_MAX_FULL=199 +# end of Chip revision + +# +# MAC Config +# +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP32C3_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32C3_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32C3_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set +# end of MAC Config + +# +# Sleep Config +# +# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set +CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set +CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y +CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0 +# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set +# CONFIG_ESP_SLEEP_DEBUG is not set +CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y +# end of Sleep Config + +# +# RTC Clock Config +# +CONFIG_RTC_CLK_SRC_INT_RC=y +# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_RTC_CLK_CAL_CYCLES=1024 +# end of RTC Clock Config + +# +# Peripheral Control +# +CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y +# end of Peripheral Control + +# +# GDMA Configurations +# +CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y +# CONFIG_GDMA_ISR_IRAM_SAFE is not set +# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set +# end of GDMA Configurations + +# +# Main XTAL Config +# +CONFIG_XTAL_FREQ_40=y +CONFIG_XTAL_FREQ=40 +# end of Main XTAL Config + +CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y +# end of Hardware Settings + +# +# LCD and Touch Panel +# + +# +# LCD Touch Drivers are maintained in the IDF Component Registry +# + +# +# LCD Peripheral Configuration +# +# CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# end of LCD Peripheral Configuration +# end of LCD and Touch Panel + +# +# ESP NETIF Adapter +# +CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 +CONFIG_ESP_NETIF_TCPIP_LWIP=y +# CONFIG_ESP_NETIF_LOOPBACK is not set +CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y +# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set +# CONFIG_ESP_NETIF_L2_TAP is not set +# CONFIG_ESP_NETIF_BRIDGE_EN is not set +# end of ESP NETIF Adapter + +# +# Partition API Configuration +# +# end of Partition API Configuration + +# +# PHY +# +CONFIG_ESP_PHY_ENABLED=y +CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP_PHY_MAX_TX_POWER=20 +# CONFIG_ESP_PHY_REDUCE_TX_POWER is not set +CONFIG_ESP_PHY_ENABLE_USB=y +# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set +CONFIG_ESP_PHY_RF_CAL_PARTIAL=y +# CONFIG_ESP_PHY_RF_CAL_NONE is not set +# CONFIG_ESP_PHY_RF_CAL_FULL is not set +CONFIG_ESP_PHY_CALIBRATION_MODE=0 +# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set +# end of PHY + +# +# Power Management +# +# CONFIG_PM_ENABLE is not set +CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y +# end of Power Management + +# +# ESP PSRAM +# + +# +# ESP Ringbuf +# +# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set +# end of ESP Ringbuf + +# +# ESP System Settings +# +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 +# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set +CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y +# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set +# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set +CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 +CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y +CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y +CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y +# CONFIG_ESP_SYSTEM_USE_EH_FRAME is not set + +# +# Memory protection +# +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y +# end of Memory protection + +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 +CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 +CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# CONFIG_ESP_CONSOLE_NONE is not set +# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set +CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y +CONFIG_ESP_CONSOLE_UART=y +CONFIG_ESP_CONSOLE_UART_NUM=0 +CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 +CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 +# CONFIG_ESP_INT_WDT is not set +# CONFIG_ESP_TASK_WDT_EN is not set +# CONFIG_ESP_PANIC_HANDLER_IRAM is not set +# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP_DEBUG_OCDAWARE=y +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y + +# +# Brownout Detector +# +CONFIG_ESP_BROWNOUT_DET=y +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +CONFIG_ESP_BROWNOUT_DET_LVL=7 +# end of Brownout Detector + +CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_ESP_SYSTEM_HW_STACK_GUARD=y +CONFIG_ESP_SYSTEM_HW_PC_RECORD=y +# end of ESP System Settings + +# +# IPC (Inter-Processor Call) +# +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +# end of IPC (Inter-Processor Call) + +# +# ESP Timer (High Resolution Timer) +# +# CONFIG_ESP_TIMER_PROFILING is not set +CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y +CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y +CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 +# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set +CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 +CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y +CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set +CONFIG_ESP_TIMER_IMPL_SYSTIMER=y +# end of ESP Timer (High Resolution Timer) + +# +# Wi-Fi +# +CONFIG_ESP_WIFI_ENABLED=y +CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y +# CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER is not set +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=16 +CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y +# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set +CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 +CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 +# CONFIG_ESP_WIFI_CSI_ENABLED is not set +CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP_WIFI_TX_BA_WIN=6 +CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP_WIFI_RX_BA_WIN=6 +CONFIG_ESP_WIFI_NVS_ENABLED=y +CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 +CONFIG_ESP_WIFI_IRAM_OPT=y +CONFIG_ESP_WIFI_EXTRA_IRAM_OPT=y +CONFIG_ESP_WIFI_RX_IRAM_OPT=y +CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP_WIFI_ENABLE_SAE_PK=y +CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y +CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y +CONFIG_ESP_WIFI_SLP_IRAM_OPT=y +CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 +CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 +CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 +# CONFIG_ESP_WIFI_FTM_ENABLE is not set +CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y +# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set +CONFIG_ESP_WIFI_GMAC_SUPPORT=y +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y +# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set +CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 +CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y +CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y +# CONFIG_ESP_WIFI_EAP_TLS1_3 is not set +# CONFIG_ESP_WIFI_WAPI_PSK is not set +# CONFIG_ESP_WIFI_SUITE_B_192 is not set +# CONFIG_ESP_WIFI_11KV_SUPPORT is not set +# CONFIG_ESP_WIFI_MBO_SUPPORT is not set +# CONFIG_ESP_WIFI_ENABLE_ROAMING_APP is not set +# CONFIG_ESP_WIFI_DPP_SUPPORT is not set +# CONFIG_ESP_WIFI_11R_SUPPORT is not set +# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set + +# +# WPS Configuration Options +# +# CONFIG_ESP_WIFI_WPS_STRICT is not set +# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set +# end of WPS Configuration Options + +# CONFIG_ESP_WIFI_DEBUG_PRINT is not set +# CONFIG_ESP_WIFI_TESTING_OPTIONS is not set +CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y +# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set +# end of Wi-Fi + +# +# Core dump +# +# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set +# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set +CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y +# end of Core dump + +# +# FAT Filesystem support +# +CONFIG_FATFS_VOLUME_COUNT=2 +# CONFIG_FATFS_LFN_NONE is not set +CONFIG_FATFS_LFN_HEAP=y +# CONFIG_FATFS_LFN_STACK is not set +# CONFIG_FATFS_SECTOR_512 is not set +CONFIG_FATFS_SECTOR_4096=y +# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set +CONFIG_FATFS_CODEPAGE_437=y +# CONFIG_FATFS_CODEPAGE_720 is not set +# CONFIG_FATFS_CODEPAGE_737 is not set +# CONFIG_FATFS_CODEPAGE_771 is not set +# CONFIG_FATFS_CODEPAGE_775 is not set +# CONFIG_FATFS_CODEPAGE_850 is not set +# CONFIG_FATFS_CODEPAGE_852 is not set +# CONFIG_FATFS_CODEPAGE_855 is not set +# CONFIG_FATFS_CODEPAGE_857 is not set +# CONFIG_FATFS_CODEPAGE_860 is not set +# CONFIG_FATFS_CODEPAGE_861 is not set +# CONFIG_FATFS_CODEPAGE_862 is not set +# CONFIG_FATFS_CODEPAGE_863 is not set +# CONFIG_FATFS_CODEPAGE_864 is not set +# CONFIG_FATFS_CODEPAGE_865 is not set +# CONFIG_FATFS_CODEPAGE_866 is not set +# CONFIG_FATFS_CODEPAGE_869 is not set +# CONFIG_FATFS_CODEPAGE_932 is not set +# CONFIG_FATFS_CODEPAGE_936 is not set +# CONFIG_FATFS_CODEPAGE_949 is not set +# CONFIG_FATFS_CODEPAGE_950 is not set +CONFIG_FATFS_CODEPAGE=437 +CONFIG_FATFS_MAX_LFN=255 +CONFIG_FATFS_API_ENCODING_ANSI_OEM=y +# CONFIG_FATFS_API_ENCODING_UTF_8 is not set +CONFIG_FATFS_FS_LOCK=0 +CONFIG_FATFS_TIMEOUT_MS=10000 +CONFIG_FATFS_PER_FILE_CACHE=y +# CONFIG_FATFS_USE_FASTSEEK is not set +CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 +# CONFIG_FATFS_IMMEDIATE_FSYNC is not set +# CONFIG_FATFS_USE_LABEL is not set +CONFIG_FATFS_LINK_LOCK=y +# end of FAT Filesystem support + +# +# FreeRTOS +# + +# +# Kernel +# +# CONFIG_FREERTOS_SMP is not set +CONFIG_FREERTOS_UNICORE=y +CONFIG_FREERTOS_HZ=1000 +CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 +# CONFIG_FREERTOS_USE_IDLE_HOOK is not set +# CONFIG_FREERTOS_USE_TICK_HOOK is not set +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set +CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set +CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y +CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set +# end of Kernel + +# +# Port +# +# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set +CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y +# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set +# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set +CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y +CONFIG_FREERTOS_ISR_STACKSIZE=1536 +CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y +CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y +CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y +# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set +CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y +CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set +# end of Port + +CONFIG_FREERTOS_PORT=y +CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y +CONFIG_FREERTOS_DEBUG_OCDAWARE=y +CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y +CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y +CONFIG_FREERTOS_NUMBER_OF_CORES=1 +# end of FreeRTOS + +# +# Hardware Abstraction Layer (HAL) and Low Level (LL) +# +CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y +# CONFIG_HAL_ASSERTION_DISABLE is not set +# CONFIG_HAL_ASSERTION_SILENT is not set +# CONFIG_HAL_ASSERTION_ENABLE is not set +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y +CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y +# end of Hardware Abstraction Layer (HAL) and Low Level (LL) + +# +# Heap memory debugging +# +CONFIG_HEAP_POISONING_DISABLED=y +# CONFIG_HEAP_POISONING_LIGHT is not set +# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set +CONFIG_HEAP_TRACING_OFF=y +# CONFIG_HEAP_TRACING_STANDALONE is not set +# CONFIG_HEAP_TRACING_TOHOST is not set +# CONFIG_HEAP_USE_HOOKS is not set +# CONFIG_HEAP_TASK_TRACKING is not set +# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set +# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set +# end of Heap memory debugging + +# +# Log output +# +# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set +# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set +# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set +CONFIG_LOG_DEFAULT_LEVEL_INFO=y +# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set +# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set +CONFIG_LOG_DEFAULT_LEVEL=3 +CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y +# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set +CONFIG_LOG_MAXIMUM_LEVEL=3 +# CONFIG_LOG_MASTER_LEVEL is not set +CONFIG_LOG_COLORS=y +CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y +# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set +# end of Log output + +# +# LWIP +# +CONFIG_LWIP_ENABLE=y +CONFIG_LWIP_LOCAL_HOSTNAME="espressif" +# CONFIG_LWIP_NETIF_API is not set +CONFIG_LWIP_TCPIP_TASK_PRIO=18 +# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set +# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set +CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y +# CONFIG_LWIP_L2_TO_L3_COPY is not set +# CONFIG_LWIP_IRAM_OPTIMIZATION is not set +# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set +CONFIG_LWIP_TIMERS_ONDEMAND=y +CONFIG_LWIP_ND6=y +# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set +CONFIG_LWIP_MAX_SOCKETS=10 +# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set +# CONFIG_LWIP_SO_LINGER is not set +CONFIG_LWIP_SO_REUSE=y +CONFIG_LWIP_SO_REUSE_RXTOALL=y +# CONFIG_LWIP_SO_RCVBUF is not set +# CONFIG_LWIP_NETBUF_RECVINFO is not set +CONFIG_LWIP_IP_DEFAULT_TTL=64 +CONFIG_LWIP_IP4_FRAG=y +CONFIG_LWIP_IP6_FRAG=y +# CONFIG_LWIP_IP4_REASSEMBLY is not set +# CONFIG_LWIP_IP6_REASSEMBLY is not set +CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 +# CONFIG_LWIP_IP_FORWARD is not set +# CONFIG_LWIP_STATS is not set +CONFIG_LWIP_ESP_GRATUITOUS_ARP=y +CONFIG_LWIP_GARP_TMR_INTERVAL=60 +CONFIG_LWIP_ESP_MLDV6_REPORT=y +CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 +CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y +# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set +CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y +# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set +CONFIG_LWIP_DHCP_OPTIONS_LEN=68 +CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 +CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 + +# +# DHCP server +# +CONFIG_LWIP_DHCPS=y +CONFIG_LWIP_DHCPS_LEASE_UNIT=60 +CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 +CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y +# end of DHCP server + +# CONFIG_LWIP_AUTOIP is not set +CONFIG_LWIP_IPV4=y +CONFIG_LWIP_IPV6=y +# CONFIG_LWIP_IPV6_AUTOCONFIG is not set +CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 +# CONFIG_LWIP_IPV6_FORWARD is not set +# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set +CONFIG_LWIP_NETIF_LOOPBACK=y +CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 + +# +# TCP +# +CONFIG_LWIP_MAX_ACTIVE_TCP=16 +CONFIG_LWIP_MAX_LISTENING_TCP=16 +CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y +CONFIG_LWIP_TCP_MAXRTX=12 +CONFIG_LWIP_TCP_SYNMAXRTX=12 +CONFIG_LWIP_TCP_MSS=1440 +CONFIG_LWIP_TCP_TMR_INTERVAL=250 +CONFIG_LWIP_TCP_MSL=60000 +CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 +CONFIG_LWIP_TCP_WND_DEFAULT=5760 +CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 +CONFIG_LWIP_TCP_QUEUE_OOSEQ=y +CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 +CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 +# CONFIG_LWIP_TCP_SACK_OUT is not set +CONFIG_LWIP_TCP_OVERSIZE_MSS=y +# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set +CONFIG_LWIP_TCP_RTO_TIME=1500 +# end of TCP + +# +# UDP +# +CONFIG_LWIP_MAX_UDP_PCBS=16 +CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 +# end of UDP + +# +# Checksums +# +# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set +# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set +CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y +# end of Checksums + +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set +CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_LWIP_PPP_SUPPORT is not set +CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 +CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +# CONFIG_LWIP_SLIP_SUPPORT is not set + +# +# ICMP +# +CONFIG_LWIP_ICMP=y +# CONFIG_LWIP_MULTICAST_PING is not set +# CONFIG_LWIP_BROADCAST_PING is not set +# end of ICMP + +# +# LWIP RAW API +# +CONFIG_LWIP_MAX_RAW_PCBS=16 +# end of LWIP RAW API + +# +# SNTP +# +CONFIG_LWIP_SNTP_MAX_SERVERS=1 +# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set +CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 +CONFIG_LWIP_SNTP_STARTUP_DELAY=y +CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 +# end of SNTP + +# +# DNS +# +CONFIG_LWIP_DNS_MAX_SERVERS=3 +# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set +# end of DNS + +CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 +CONFIG_LWIP_ESP_LWIP_ASSERT=y + +# +# Hooks +# +# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set +CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y +# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set +CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y +# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set +# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set +CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y +# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set +# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set +CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set +CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set +CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y +# CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT is not set +# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set +# end of Hooks + +# CONFIG_LWIP_DEBUG is not set +# end of LWIP + +# +# mbedTLS +# +CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set +# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set +CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y +CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 +CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 +# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set +# CONFIG_MBEDTLS_DEBUG is not set + +# +# mbedTLS v3.x related +# +# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y +CONFIG_MBEDTLS_PKCS7_C=y +# end of mbedTLS v3.x related + +# +# Certificate Bundle +# +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set +# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 +# end of Certificate Bundle + +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +CONFIG_MBEDTLS_CMAC_C=y +CONFIG_MBEDTLS_HARDWARE_AES=y +CONFIG_MBEDTLS_AES_USE_INTERRUPT=y +CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 +CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y +CONFIG_MBEDTLS_HARDWARE_MPI=y +CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y +CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y +CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 +CONFIG_MBEDTLS_HARDWARE_SHA=y +CONFIG_MBEDTLS_ROM_MD5=y +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set +CONFIG_MBEDTLS_HAVE_TIME=y +# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set +CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y +CONFIG_MBEDTLS_SHA512_C=y +CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y +# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set +# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set +# CONFIG_MBEDTLS_TLS_DISABLED is not set +CONFIG_MBEDTLS_TLS_SERVER=y +CONFIG_MBEDTLS_TLS_CLIENT=y +CONFIG_MBEDTLS_TLS_ENABLED=y + +# +# TLS Key Exchange Methods +# +# CONFIG_MBEDTLS_PSK_MODES is not set +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y +# end of TLS Key Exchange Methods + +CONFIG_MBEDTLS_SSL_RENEGOTIATION=y +CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +CONFIG_MBEDTLS_SSL_ALPN=y +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y + +# +# Symmetric Ciphers +# +CONFIG_MBEDTLS_AES_C=y +# CONFIG_MBEDTLS_CAMELLIA_C is not set +# CONFIG_MBEDTLS_DES_C is not set +# CONFIG_MBEDTLS_BLOWFISH_C is not set +# CONFIG_MBEDTLS_XTEA_C is not set +CONFIG_MBEDTLS_CCM_C=y +CONFIG_MBEDTLS_GCM_C=y +# CONFIG_MBEDTLS_NIST_KW_C is not set +# end of Symmetric Ciphers + +# CONFIG_MBEDTLS_RIPEMD160_C is not set + +# +# Certificates +# +CONFIG_MBEDTLS_PEM_PARSE_C=y +CONFIG_MBEDTLS_PEM_WRITE_C=y +CONFIG_MBEDTLS_X509_CRL_PARSE_C=y +CONFIG_MBEDTLS_X509_CSR_PARSE_C=y +# end of Certificates + +CONFIG_MBEDTLS_ECP_C=y +# CONFIG_MBEDTLS_DHM_C is not set +CONFIG_MBEDTLS_ECDH_C=y +CONFIG_MBEDTLS_ECDSA_C=y +# CONFIG_MBEDTLS_ECJPAKE_C is not set +CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y +CONFIG_MBEDTLS_ECP_NIST_OPTIM=y +CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM=y +# CONFIG_MBEDTLS_POLY1305_C is not set +# CONFIG_MBEDTLS_CHACHA20_C is not set +# CONFIG_MBEDTLS_HKDF_C is not set +# CONFIG_MBEDTLS_THREADING_C is not set +CONFIG_MBEDTLS_ERROR_STRINGS=y +# end of mbedTLS + +# +# ESP-MQTT Configurations +# +CONFIG_MQTT_PROTOCOL_311=y +# CONFIG_MQTT_PROTOCOL_5 is not set +CONFIG_MQTT_TRANSPORT_SSL=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y +# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set +# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set +# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set +# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set +# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set +# CONFIG_MQTT_CUSTOM_OUTBOX is not set +# end of ESP-MQTT Configurations + +# +# Newlib +# +CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set +CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y +# CONFIG_NEWLIB_NANO_FORMAT is not set +CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y +# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set +# end of Newlib + +# +# NVS +# +# CONFIG_NVS_ENCRYPTION is not set +# CONFIG_NVS_ASSERT_ERROR_CHECK is not set +# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set +# end of NVS + +# +# OpenThread +# +# CONFIG_OPENTHREAD_ENABLED is not set + +# +# Thread Operational Dataset +# +CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP" +CONFIG_OPENTHREAD_MESH_LOCAL_PREFIX="fd00:db8:a0:0::/64" +CONFIG_OPENTHREAD_NETWORK_CHANNEL=15 +CONFIG_OPENTHREAD_NETWORK_PANID=0x1234 +CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe" +CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff" +CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53" +# end of Thread Operational Dataset + +CONFIG_OPENTHREAD_XTAL_ACCURACY=130 +# CONFIG_OPENTHREAD_SPINEL_ONLY is not set +# CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE is not set + +# +# Thread Address Query Config +# +# end of Thread Address Query Config +# end of OpenThread + +# +# Protocomm +# +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y +# end of Protocomm + +# +# PThreads +# +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_PTHREAD_STACK_MIN=768 +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" +# end of PThreads + +# +# MMU Config +# +CONFIG_MMU_PAGE_SIZE_64KB=y +CONFIG_MMU_PAGE_MODE="64KB" +CONFIG_MMU_PAGE_SIZE=0x10000 +# end of MMU Config + +# +# Main Flash configuration +# + +# +# SPI Flash behavior when brownout +# +CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y +CONFIG_SPI_FLASH_BROWNOUT_RESET=y +# end of SPI Flash behavior when brownout + +# +# Optional and Experimental Features (READ DOCS FIRST) +# + +# +# Features here require specific hardware (READ DOCS FIRST!) +# +CONFIG_SPI_FLASH_SUSPEND_QVL_SUPPORTED=y +# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set +CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 +# end of Optional and Experimental Features (READ DOCS FIRST) +# end of Main Flash configuration + +# +# SPI Flash driver +# +# CONFIG_SPI_FLASH_VERIFY_WRITE is not set +# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +# CONFIG_SPI_FLASH_ROM_IMPL is not set +CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y +CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 +CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 +CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 +# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set +# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set +# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set + +# +# Auto-detect flash chips +# +CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_TH_SUPPORTED=y +# CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_GD_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set +# end of Auto-detect flash chips + +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y +# end of SPI Flash driver + +# +# SPIFFS Configuration +# +CONFIG_SPIFFS_MAX_PARTITIONS=3 + +# +# SPIFFS Cache Configuration +# +CONFIG_SPIFFS_CACHE=y +CONFIG_SPIFFS_CACHE_WR=y +# CONFIG_SPIFFS_CACHE_STATS is not set +# end of SPIFFS Cache Configuration + +CONFIG_SPIFFS_PAGE_CHECK=y +CONFIG_SPIFFS_GC_MAX_RUNS=10 +# CONFIG_SPIFFS_GC_STATS is not set +CONFIG_SPIFFS_PAGE_SIZE=256 +CONFIG_SPIFFS_OBJ_NAME_LEN=32 +# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set +CONFIG_SPIFFS_USE_MAGIC=y +CONFIG_SPIFFS_USE_MAGIC_LENGTH=y +CONFIG_SPIFFS_META_LENGTH=4 +CONFIG_SPIFFS_USE_MTIME=y + +# +# Debug Configuration +# +# CONFIG_SPIFFS_DBG is not set +# CONFIG_SPIFFS_API_DBG is not set +# CONFIG_SPIFFS_GC_DBG is not set +# CONFIG_SPIFFS_CACHE_DBG is not set +# CONFIG_SPIFFS_CHECK_DBG is not set +# CONFIG_SPIFFS_TEST_VISUALISATION is not set +# end of Debug Configuration +# end of SPIFFS Configuration + +# +# TCP Transport +# + +# +# Websocket +# +CONFIG_WS_TRANSPORT=y +CONFIG_WS_BUFFER_SIZE=1024 +# CONFIG_WS_DYNAMIC_BUFFER is not set +# end of Websocket +# end of TCP Transport + +# +# Unity unit testing library +# +CONFIG_UNITY_ENABLE_FLOAT=y +CONFIG_UNITY_ENABLE_DOUBLE=y +# CONFIG_UNITY_ENABLE_64BIT is not set +# CONFIG_UNITY_ENABLE_COLOR is not set +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y +# CONFIG_UNITY_ENABLE_FIXTURE is not set +# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set +# end of Unity unit testing library + +# +# Virtual file system +# +CONFIG_VFS_SUPPORT_IO=y +CONFIG_VFS_SUPPORT_DIR=y +CONFIG_VFS_SUPPORT_SELECT=y +CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y +# CONFIG_VFS_SELECT_IN_RAM is not set +CONFIG_VFS_SUPPORT_TERMIOS=y +CONFIG_VFS_MAX_COUNT=8 + +# +# Host File System I/O (Semihosting) +# +CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# end of Host File System I/O (Semihosting) +# end of Virtual file system + +# +# Wear Levelling +# +# CONFIG_WL_SECTOR_SIZE_512 is not set +CONFIG_WL_SECTOR_SIZE_4096=y +CONFIG_WL_SECTOR_SIZE=4096 +# end of Wear Levelling + +# +# Wi-Fi Provisioning Manager +# +CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 +CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 +# CONFIG_WIFI_PROV_BLE_BONDING is not set +CONFIG_WIFI_PROV_BLE_SEC_CONN=y +# CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set +# CONFIG_WIFI_PROV_KEEP_BLE_ON_AFTER_PROV is not set +CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y +# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set +# end of Wi-Fi Provisioning Manager + +# +# LVGL configuration +# +CONFIG_LV_CONF_SKIP=y +# CONFIG_LV_CONF_MINIMAL is not set + +# +# Color settings +# +# CONFIG_LV_COLOR_DEPTH_32 is not set +CONFIG_LV_COLOR_DEPTH_16=y +# CONFIG_LV_COLOR_DEPTH_8 is not set +# CONFIG_LV_COLOR_DEPTH_1 is not set +CONFIG_LV_COLOR_DEPTH=16 +CONFIG_LV_COLOR_16_SWAP=y +# CONFIG_LV_COLOR_SCREEN_TRANSP is not set +CONFIG_LV_COLOR_MIX_ROUND_OFS=128 +CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 +# end of Color settings + +# +# Memory settings +# +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEM_CUSTOM_INCLUDE="stdlib.h" +CONFIG_LV_MEM_BUF_MAX_NUM=16 +# CONFIG_LV_MEMCPY_MEMSET_STD is not set +# end of Memory settings + +# +# HAL Settings +# +CONFIG_LV_DISP_DEF_REFR_PERIOD=5 +CONFIG_LV_INDEV_DEF_READ_PERIOD=30 +# CONFIG_LV_TICK_CUSTOM is not set +CONFIG_LV_DPI_DEF=217 +# end of HAL Settings + +# +# Feature configuration +# + +# +# Drawing +# +CONFIG_LV_DRAW_COMPLEX=y +CONFIG_LV_SHADOW_CACHE_SIZE=0 +CONFIG_LV_CIRCLE_CACHE_SIZE=4 +CONFIG_LV_LAYER_SIMPLE_BUF_SIZE=24576 +CONFIG_LV_IMG_CACHE_DEF_SIZE=0 +CONFIG_LV_GRADIENT_MAX_STOPS=2 +CONFIG_LV_GRAD_CACHE_DEF_SIZE=0 +# CONFIG_LV_DITHER_GRADIENT is not set +CONFIG_LV_DISP_ROT_MAX_BUF=10240 +# end of Drawing + +# +# GPU +# +# CONFIG_LV_USE_GPU_ARM2D is not set +# CONFIG_LV_USE_GPU_STM32_DMA2D is not set +# CONFIG_LV_USE_GPU_RA6M3_G2D is not set +# CONFIG_LV_USE_GPU_SWM341_DMA2D is not set +# CONFIG_LV_USE_GPU_NXP_PXP is not set +# CONFIG_LV_USE_GPU_NXP_VG_LITE is not set +# CONFIG_LV_USE_GPU_SDL is not set +# end of GPU + +# +# Logging +# +# CONFIG_LV_USE_LOG is not set +# end of Logging + +# +# Asserts +# +CONFIG_LV_USE_ASSERT_NULL=y +CONFIG_LV_USE_ASSERT_MALLOC=y +# CONFIG_LV_USE_ASSERT_STYLE is not set +# CONFIG_LV_USE_ASSERT_MEM_INTEGRITY is not set +# CONFIG_LV_USE_ASSERT_OBJ is not set +CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" +# end of Asserts + +# +# Others +# +# CONFIG_LV_USE_PERF_MONITOR is not set +# CONFIG_LV_USE_REFR_DEBUG is not set +# CONFIG_LV_SPRINTF_CUSTOM is not set +# CONFIG_LV_SPRINTF_USE_FLOAT is not set +CONFIG_LV_USE_USER_DATA=y +# CONFIG_LV_ENABLE_GC is not set +# end of Others + +# +# Compiler settings +# +# CONFIG_LV_BIG_ENDIAN_SYSTEM is not set +CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 +CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y +# CONFIG_LV_USE_LARGE_COORD is not set +# end of Compiler settings +# end of Feature configuration + +# +# Font usage +# + +# +# Enable built-in fonts +# +CONFIG_LV_FONT_MONTSERRAT_8=y +CONFIG_LV_FONT_MONTSERRAT_10=y +CONFIG_LV_FONT_MONTSERRAT_12=y +CONFIG_LV_FONT_MONTSERRAT_14=y +CONFIG_LV_FONT_MONTSERRAT_16=y +CONFIG_LV_FONT_MONTSERRAT_18=y +# CONFIG_LV_FONT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_MONTSERRAT_22 is not set +CONFIG_LV_FONT_MONTSERRAT_24=y +# CONFIG_LV_FONT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_UNSCII_8 is not set +# CONFIG_LV_FONT_UNSCII_16 is not set +# CONFIG_LV_FONT_CUSTOM is not set +# end of Enable built-in fonts + +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12 is not set +CONFIG_LV_FONT_DEFAULT_MONTSERRAT_14=y +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_16 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_16 is not set +# CONFIG_LV_FONT_FMT_TXT_LARGE is not set +# CONFIG_LV_USE_FONT_COMPRESSED is not set +# CONFIG_LV_USE_FONT_SUBPX is not set +CONFIG_LV_USE_FONT_PLACEHOLDER=y +# end of Font usage + +# +# Text Settings +# +CONFIG_LV_TXT_ENC_UTF8=y +# CONFIG_LV_TXT_ENC_ASCII is not set +CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_" +CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0 +CONFIG_LV_TXT_COLOR_CMD="#" +# CONFIG_LV_USE_BIDI is not set +# CONFIG_LV_USE_ARABIC_PERSIAN_CHARS is not set +# end of Text Settings + +# +# Widget usage +# +CONFIG_LV_USE_ARC=y +CONFIG_LV_USE_BAR=y +CONFIG_LV_USE_BTN=y +CONFIG_LV_USE_BTNMATRIX=y +CONFIG_LV_USE_CANVAS=y +CONFIG_LV_USE_CHECKBOX=y +CONFIG_LV_USE_DROPDOWN=y +CONFIG_LV_USE_IMG=y +CONFIG_LV_USE_LABEL=y +CONFIG_LV_LABEL_TEXT_SELECTION=y +CONFIG_LV_LABEL_LONG_TXT_HINT=y +CONFIG_LV_USE_LINE=y +CONFIG_LV_USE_ROLLER=y +CONFIG_LV_ROLLER_INF_PAGES=7 +CONFIG_LV_USE_SLIDER=y +CONFIG_LV_USE_SWITCH=y +CONFIG_LV_USE_TEXTAREA=y +CONFIG_LV_TEXTAREA_DEF_PWD_SHOW_TIME=1500 +CONFIG_LV_USE_TABLE=y +# end of Widget usage + +# +# Extra Widgets +# +CONFIG_LV_USE_ANIMIMG=y +CONFIG_LV_USE_CALENDAR=y +# CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY is not set +CONFIG_LV_USE_CALENDAR_HEADER_ARROW=y +CONFIG_LV_USE_CALENDAR_HEADER_DROPDOWN=y +CONFIG_LV_USE_CHART=y +CONFIG_LV_USE_COLORWHEEL=y +CONFIG_LV_USE_IMGBTN=y +CONFIG_LV_USE_KEYBOARD=y +CONFIG_LV_USE_LED=y +CONFIG_LV_USE_LIST=y +CONFIG_LV_USE_MENU=y +CONFIG_LV_USE_METER=y +CONFIG_LV_USE_MSGBOX=y +CONFIG_LV_USE_SPAN=y +CONFIG_LV_SPAN_SNIPPET_STACK_SIZE=64 +CONFIG_LV_USE_SPINBOX=y +CONFIG_LV_USE_SPINNER=y +CONFIG_LV_USE_TABVIEW=y +CONFIG_LV_USE_TILEVIEW=y +CONFIG_LV_USE_WIN=y +# end of Extra Widgets + +# +# Themes +# +CONFIG_LV_USE_THEME_DEFAULT=y +# CONFIG_LV_THEME_DEFAULT_DARK is not set +CONFIG_LV_THEME_DEFAULT_GROW=y +CONFIG_LV_THEME_DEFAULT_TRANSITION_TIME=80 +CONFIG_LV_USE_THEME_BASIC=y +# CONFIG_LV_USE_THEME_MONO is not set +# end of Themes + +# +# Layouts +# +CONFIG_LV_USE_FLEX=y +CONFIG_LV_USE_GRID=y +# end of Layouts + +# +# 3rd Party Libraries +# +# CONFIG_LV_USE_FS_STDIO is not set +# CONFIG_LV_USE_FS_POSIX is not set +# CONFIG_LV_USE_FS_WIN32 is not set +# CONFIG_LV_USE_FS_FATFS is not set +# CONFIG_LV_USE_FS_LITTLEFS is not set +# CONFIG_LV_USE_PNG is not set +# CONFIG_LV_USE_BMP is not set +# CONFIG_LV_USE_SJPG is not set +CONFIG_LV_USE_GIF=y +# CONFIG_LV_USE_QRCODE is not set +# CONFIG_LV_USE_FREETYPE is not set +# CONFIG_LV_USE_TINY_TTF is not set +# CONFIG_LV_USE_RLOTTIE is not set +# CONFIG_LV_USE_FFMPEG is not set +# end of 3rd Party Libraries + +# +# Others +# +CONFIG_LV_USE_SNAPSHOT=y +# CONFIG_LV_USE_MONKEY is not set +# CONFIG_LV_USE_GRIDNAV is not set +# CONFIG_LV_USE_FRAGMENT is not set +# CONFIG_LV_USE_IMGFONT is not set +# CONFIG_LV_USE_MSG is not set +# CONFIG_LV_USE_IME_PINYIN is not set +# end of Others + +# +# Examples +# +# CONFIG_LV_BUILD_EXAMPLES is not set +# end of Examples + +# +# Demos +# +# CONFIG_LV_USE_DEMO_WIDGETS is not set +# CONFIG_LV_USE_DEMO_KEYPAD_AND_ENCODER is not set +# CONFIG_LV_USE_DEMO_BENCHMARK is not set +# CONFIG_LV_USE_DEMO_STRESS is not set +# CONFIG_LV_USE_DEMO_MUSIC is not set +# end of Demos +# end of LVGL configuration + +# +# LVGL ESP Drivers +# + +# +# LVGL TFT Display controller +# +CONFIG_LV_PREDEFINED_DISPLAY_NONE=y +# CONFIG_LV_PREDEFINED_DISPLAY_WROVER4 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STACK is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5CORE2 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STICK is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STICKC is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ERTFT0356 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ADA_FEATHERWING is not set +# CONFIG_LV_PREDEFINED_DISPLAY_RPI_MPI3501 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_WEMOS_LOLIN is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ATAG is not set +# CONFIG_LV_PREDEFINED_DISPLAY_RPI_RA8875 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_TTGO is not set +# CONFIG_LV_PREDEFINED_DISPLAY_TTGO_CAMERA_PLUS is not set +# CONFIG_LV_PREDEFINED_DISPLAY_WT32_SC01 is not set +CONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9341=y +CONFIG_LV_TFT_DISPLAY_PROTOCOL_SPI=y +CONFIG_LV_HOR_RES_MAX=240 +CONFIG_LV_VER_RES_MAX=320 +CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT=y +# CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT_INVERTED is not set +# CONFIG_LV_DISPLAY_ORIENTATION_LANDSCAPE is not set +# CONFIG_LV_DISPLAY_ORIENTATION_LANDSCAPE_INVERTED is not set +CONFIG_LV_DISPLAY_ORIENTATION=0 +CONFIG_LV_PREDEFINED_PINS_NONE=y +# CONFIG_LV_PREDEFINED_PINS_38V4 is not set +# CONFIG_LV_PREDEFINED_PINS_30 is not set +# CONFIG_LV_PREDEFINED_PINS_38V1 is not set +# CONFIG_LV_PREDEFINED_PINS_TKOALA is not set +CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9341=y +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9481 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9486 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9488 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7789 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7796S is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_GC9A01 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7735S is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_HX8357 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SH1107 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SSD1306 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_FT81X is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_IL3820 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_JD79653A is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_UC8151D is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_RA8875 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9163C is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_PCD8544 is not set +# CONFIG_CUSTOM_DISPLAY_BUFFER_SIZE is not set +CONFIG_LV_TFT_DISPLAY_SPI2_HOST=y +# CONFIG_LV_TFT_DISPLAY_SPI3_HOST is not set +CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_SIO=y +# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_DIO is not set +# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_QIO is not set +CONFIG_LV_TFT_DISPLAY_SPI_HALF_DUPLEX=y +# CONFIG_LV_TFT_DISPLAY_SPI_FULL_DUPLEX is not set +CONFIG_LV_TFT_USE_CUSTOM_SPI_CLK_DIVIDER=y +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_1 is not set +CONFIG_LV_TFT_SPI_CLK_DIVIDER_2=y +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_3 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_4 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_5 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_6 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_7 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_8 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_9 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_10 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_12 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_16 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_20 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_24 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_32 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_40 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_48 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_80 is not set +CONFIG_LV_TFT_CUSTOM_SPI_CLK_DIVIDER=2 +# CONFIG_LV_INVERT_COLORS is not set + +# +# Display Pin Assignments +# +CONFIG_LV_DISP_SPI_MOSI=23 +CONFIG_LV_DISPLAY_USE_SPI_MISO=y +CONFIG_LV_DISP_SPI_MISO=19 +CONFIG_LV_DISP_SPI_INPUT_DELAY_NS=0 +CONFIG_LV_DISP_SPI_CLK=18 +CONFIG_LV_DISPLAY_USE_SPI_CS=y +CONFIG_LV_DISP_SPI_CS=17 +CONFIG_LV_DISPLAY_USE_DC=y +CONFIG_LV_DISP_PIN_DC=16 +CONFIG_LV_DISP_USE_RST=y +CONFIG_LV_DISP_PIN_RST=5 +CONFIG_LV_DISP_PIN_BUSY=21 +# end of Display Pin Assignments + +# CONFIG_LV_DISP_BACKLIGHT_OFF is not set +CONFIG_LV_DISP_BACKLIGHT_SWITCH=y +# CONFIG_LV_DISP_BACKLIGHT_PWM is not set +CONFIG_LV_BACKLIGHT_ACTIVE_LVL=y +CONFIG_LV_DISP_PIN_BCKL=32 +CONFIG_LV_I2C=y +CONFIG_LV_I2C_DISPLAY_PORT=0 +# end of LVGL TFT Display controller + +# +# LVGL Touch controller +# +CONFIG_LV_TOUCH_CONTROLLER=7 +# CONFIG_LV_TOUCH_CONTROLLER_NONE is not set +# CONFIG_LV_TOUCH_CONTROLLER_XPT2046 is not set +# CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set +# CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set +# CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set +# CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set +# CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set +CONFIG_LV_TOUCH_CONTROLLER_GT911=y +CONFIG_LV_I2C_TOUCH=y + +# +# Touchpanel Configuration (GT911) +# +CONFIG_LV_GT911_SWAPXY=y +# CONFIG_LV_GT911_INVERT_X is not set +CONFIG_LV_GT911_INVERT_Y=y +# end of Touchpanel Configuration (GT911) + +CONFIG_LV_I2C_TOUCH_PORT_0=y +# CONFIG_LV_I2C_TOUCH_PORT_1 is not set +CONFIG_LV_I2C_TOUCH_PORT=0 +# end of LVGL Touch controller +# end of LVGL ESP Drivers + +# +# I2C Port Settings +# + +# +# I2C Port 0 +# +CONFIG_I2C_MANAGER_0_ENABLED=y +CONFIG_I2C_MANAGER_0_SDA=19 +CONFIG_I2C_MANAGER_0_SCL=20 +CONFIG_I2C_MANAGER_0_FREQ_HZ=400000 +CONFIG_I2C_MANAGER_0_TIMEOUT=100 +CONFIG_I2C_MANAGER_0_LOCK_TIMEOUT=50 +# CONFIG_I2C_MANAGER_0_PULLUPS is not set +# end of I2C Port 0 + +# +# I2C Port 1 +# +# CONFIG_I2C_MANAGER_1_ENABLED is not set +# end of I2C Port 1 +# end of I2C Port Settings + +# +# mDNS +# +CONFIG_MDNS_MAX_INTERFACES=3 +CONFIG_MDNS_MAX_SERVICES=10 +CONFIG_MDNS_TASK_PRIORITY=1 +CONFIG_MDNS_ACTION_QUEUE_LEN=16 +CONFIG_MDNS_TASK_STACK_SIZE=4096 +# CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_MDNS_TASK_AFFINITY_CPU0=y +CONFIG_MDNS_TASK_AFFINITY=0x0 +CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000 +CONFIG_MDNS_TIMER_PERIOD_MS=100 +# CONFIG_MDNS_NETWORKING_SOCKET is not set +# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set +# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set +CONFIG_MDNS_ENABLE_CONSOLE_CLI=y +# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set +CONFIG_MDNS_MULTIPLE_INSTANCE=y + +# +# MDNS Predefined interfaces +# +CONFIG_MDNS_PREDEF_NETIF_STA=y +CONFIG_MDNS_PREDEF_NETIF_AP=y +CONFIG_MDNS_PREDEF_NETIF_ETH=y +# end of MDNS Predefined interfaces +# end of mDNS +# end of Component config + +CONFIG_IDF_EXPERIMENTAL_FEATURES=y + +# Deprecated options for backward compatibility +# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set +# CONFIG_NO_BLOBS is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set +CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y +# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set +CONFIG_LOG_BOOTLOADER_LEVEL=3 +# CONFIG_APP_ROLLBACK_ENABLE is not set +# CONFIG_FLASH_ENCRYPTION_ENABLED is not set +CONFIG_FLASHMODE_QIO=y +# CONFIG_FLASHMODE_QOUT is not set +# CONFIG_FLASHMODE_DIO is not set +# CONFIG_FLASHMODE_DOUT is not set +CONFIG_MONITOR_BAUD=115200 +# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set +CONFIG_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_CXX_EXCEPTIONS is not set +CONFIG_STACK_CHECK_NONE=y +# CONFIG_STACK_CHECK_NORM is not set +# CONFIG_STACK_CHECK_STRONG is not set +# CONFIG_STACK_CHECK_ALL is not set +# CONFIG_WARN_WRITE_STRINGS is not set +# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set +CONFIG_ESP32_APPTRACE_DEST_NONE=y +CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y +# CONFIG_BLUEDROID_ENABLED is not set +CONFIG_NIMBLE_ENABLED=y +CONFIG_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y +# CONFIG_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set +CONFIG_NIMBLE_MAX_CONNECTIONS=3 +CONFIG_NIMBLE_MAX_BONDS=3 +CONFIG_NIMBLE_MAX_CCCDS=8 +CONFIG_NIMBLE_L2CAP_COC_MAX_NUM=0 +CONFIG_NIMBLE_PINNED_TO_CORE=0 +CONFIG_NIMBLE_TASK_STACK_SIZE=4096 +CONFIG_BT_NIMBLE_TASK_STACK_SIZE=4096 +CONFIG_NIMBLE_ROLE_CENTRAL=y +CONFIG_NIMBLE_ROLE_PERIPHERAL=y +CONFIG_NIMBLE_ROLE_BROADCASTER=y +CONFIG_NIMBLE_ROLE_OBSERVER=y +# CONFIG_NIMBLE_NVS_PERSIST is not set +CONFIG_NIMBLE_SM_LEGACY=y +CONFIG_NIMBLE_SM_SC=y +# CONFIG_NIMBLE_SM_SC_DEBUG_KEYS is not set +CONFIG_BT_NIMBLE_SM_SC_LVL=0 +# CONFIG_NIMBLE_DEBUG is not set +CONFIG_NIMBLE_SVC_GAP_DEVICE_NAME="nimble" +CONFIG_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31 +CONFIG_NIMBLE_ATT_PREFERRED_MTU=256 +CONFIG_NIMBLE_SVC_GAP_APPEARANCE=0 +CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT=12 +CONFIG_BT_NIMBLE_ACL_BUF_COUNT=24 +CONFIG_BT_NIMBLE_ACL_BUF_SIZE=255 +CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE=70 +CONFIG_BT_NIMBLE_HCI_EVT_HI_BUF_COUNT=30 +CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT=8 +CONFIG_NIMBLE_HS_FLOW_CTRL=y +CONFIG_NIMBLE_HS_FLOW_CTRL_ITVL=1000 +CONFIG_NIMBLE_HS_FLOW_CTRL_THRESH=2 +CONFIG_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y +CONFIG_NIMBLE_RPA_TIMEOUT=900 +# CONFIG_NIMBLE_MESH is not set +CONFIG_NIMBLE_CRYPTO_STACK_MBEDTLS=y +# CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_EN is not set +CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_DIS=y +CONFIG_SW_COEXIST_ENABLE=y +CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y +CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y +# CONFIG_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +CONFIG_GDBSTUB_SUPPORT_TASKS=y +CONFIG_GDBSTUB_MAX_TASKS=32 +# CONFIG_OTA_ALLOW_HTTP is not set +# CONFIG_ESP_SYSTEM_PD_FLASH is not set +CONFIG_ESP32C3_LIGHTSLEEP_GPIO_RESET_WORKAROUND=y +CONFIG_ESP32C3_RTC_CLK_SRC_INT_RC=y +# CONFIG_ESP32C3_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32C3_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32C3_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_ESP32C3_RTC_CLK_CAL_CYCLES=1024 +CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP32_PHY_MAX_TX_POWER=20 +# CONFIG_REDUCE_PHY_TX_POWER is not set +# CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set +CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y +# CONFIG_ESP32C3_DEFAULT_CPU_FREQ_80 is not set +CONFIG_ESP32C3_DEFAULT_CPU_FREQ_160=y +CONFIG_ESP32C3_DEFAULT_CPU_FREQ_MHZ=160 +CONFIG_ESP32C3_MEMPROT_FEATURE=y +CONFIG_ESP32C3_MEMPROT_FEATURE_LOCK=y +CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=3584 +CONFIG_CONSOLE_UART_DEFAULT=y +# CONFIG_CONSOLE_UART_CUSTOM is not set +# CONFIG_CONSOLE_UART_NONE is not set +# CONFIG_ESP_CONSOLE_UART_NONE is not set +CONFIG_CONSOLE_UART=y +CONFIG_CONSOLE_UART_NUM=0 +CONFIG_CONSOLE_UART_BAUDRATE=115200 +# CONFIG_INT_WDT is not set +# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP32C3_DEBUG_OCDAWARE=y +CONFIG_BROWNOUT_DET=y +CONFIG_ESP32C3_BROWNOUT_DET=y +CONFIG_ESP32C3_BROWNOUT_DET=y +CONFIG_BROWNOUT_DET_LVL_SEL_7=y +CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_2 is not set +CONFIG_BROWNOUT_DET_LVL=7 +CONFIG_ESP32C3_BROWNOUT_DET_LVL=7 +CONFIG_IPC_TASK_STACK_SIZE=1024 +CONFIG_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP32_WIFI_ENABLED=y +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y +# CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER is not set +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 +# CONFIG_ESP32_WIFI_CSI_ENABLED is not set +CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP32_WIFI_TX_BA_WIN=6 +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_NVS_ENABLED=y +CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 +CONFIG_ESP32_WIFI_IRAM_OPT=y +CONFIG_ESP32_WIFI_RX_IRAM_OPT=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y +CONFIG_WPA_MBEDTLS_CRYPTO=y +CONFIG_WPA_MBEDTLS_TLS_CLIENT=y +# CONFIG_WPA_WAPI_PSK is not set +# CONFIG_WPA_SUITE_B_192 is not set +# CONFIG_WPA_11KV_SUPPORT is not set +# CONFIG_WPA_MBO_SUPPORT is not set +# CONFIG_WPA_DPP_SUPPORT is not set +# CONFIG_WPA_11R_SUPPORT is not set +# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set +# CONFIG_WPA_WPS_STRICT is not set +# CONFIG_WPA_DEBUG_PRINT is not set +# CONFIG_WPA_TESTING_OPTIONS is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set +CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y +CONFIG_TIMER_TASK_PRIORITY=1 +CONFIG_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_TIMER_QUEUE_LENGTH=10 +# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set +# CONFIG_L2_TO_L3_COPY is not set +CONFIG_ESP_GRATUITOUS_ARP=y +CONFIG_GARP_TMR_INTERVAL=60 +CONFIG_TCPIP_RECVMBOX_SIZE=32 +CONFIG_TCP_MAXRTX=12 +CONFIG_TCP_SYNMAXRTX=12 +CONFIG_TCP_MSS=1440 +CONFIG_TCP_MSL=60000 +CONFIG_TCP_SND_BUF_DEFAULT=5760 +CONFIG_TCP_WND_DEFAULT=5760 +CONFIG_TCP_RECVMBOX_SIZE=6 +CONFIG_TCP_QUEUE_OOSEQ=y +CONFIG_TCP_OVERSIZE_MSS=y +# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_TCP_OVERSIZE_DISABLE is not set +CONFIG_UDP_RECVMBOX_SIZE=6 +CONFIG_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set +CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_PPP_SUPPORT is not set +CONFIG_ESP32C3_TIME_SYSCALL_USE_RTC_SYSTIMER=y +# CONFIG_ESP32C3_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32C3_TIME_SYSCALL_USE_SYSTIMER is not set +# CONFIG_ESP32C3_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_ESP32_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y +CONFIG_SUPPORT_TERMIOS=y +CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# End of deprecated options diff --git a/configs/sdkconfig.default.esp32c6 b/configs/sdkconfig.default.esp32c6 new file mode 100644 index 00000000..f8d6e1cd --- /dev/null +++ b/configs/sdkconfig.default.esp32c6 @@ -0,0 +1,2778 @@ +# +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Configuration +# +CONFIG_SOC_ADC_SUPPORTED=y +CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y +CONFIG_SOC_UART_SUPPORTED=y +CONFIG_SOC_GDMA_SUPPORTED=y +CONFIG_SOC_AHB_GDMA_SUPPORTED=y +CONFIG_SOC_GPTIMER_SUPPORTED=y +CONFIG_SOC_PCNT_SUPPORTED=y +CONFIG_SOC_MCPWM_SUPPORTED=y +CONFIG_SOC_TWAI_SUPPORTED=y +CONFIG_SOC_ETM_SUPPORTED=y +CONFIG_SOC_PARLIO_SUPPORTED=y +CONFIG_SOC_BT_SUPPORTED=y +CONFIG_SOC_IEEE802154_SUPPORTED=y +CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y +CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y +CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y +CONFIG_SOC_PHY_SUPPORTED=y +CONFIG_SOC_WIFI_SUPPORTED=y +CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y +CONFIG_SOC_ULP_SUPPORTED=y +CONFIG_SOC_LP_CORE_SUPPORTED=y +CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y +CONFIG_SOC_EFUSE_SUPPORTED=y +CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y +CONFIG_SOC_RTC_MEM_SUPPORTED=y +CONFIG_SOC_I2S_SUPPORTED=y +CONFIG_SOC_RMT_SUPPORTED=y +CONFIG_SOC_SDM_SUPPORTED=y +CONFIG_SOC_GPSPI_SUPPORTED=y +CONFIG_SOC_LEDC_SUPPORTED=y +CONFIG_SOC_I2C_SUPPORTED=y +CONFIG_SOC_SYSTIMER_SUPPORTED=y +CONFIG_SOC_SUPPORT_COEXISTENCE=y +CONFIG_SOC_AES_SUPPORTED=y +CONFIG_SOC_MPI_SUPPORTED=y +CONFIG_SOC_SHA_SUPPORTED=y +CONFIG_SOC_HMAC_SUPPORTED=y +CONFIG_SOC_DIG_SIGN_SUPPORTED=y +CONFIG_SOC_ECC_SUPPORTED=y +CONFIG_SOC_FLASH_ENC_SUPPORTED=y +CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y +CONFIG_SOC_BOD_SUPPORTED=y +CONFIG_SOC_APM_SUPPORTED=y +CONFIG_SOC_APM_CTRL_FILTER_SUPPORTED=y +CONFIG_SOC_PMU_SUPPORTED=y +CONFIG_SOC_PAU_SUPPORTED=y +CONFIG_SOC_LP_TIMER_SUPPORTED=y +CONFIG_SOC_LP_AON_SUPPORTED=y +CONFIG_SOC_LP_PERIPHERALS_SUPPORTED=y +CONFIG_SOC_LP_I2C_SUPPORTED=y +CONFIG_SOC_ULP_LP_UART_SUPPORTED=y +CONFIG_SOC_CLK_TREE_SUPPORTED=y +CONFIG_SOC_ASSIST_DEBUG_SUPPORTED=y +CONFIG_SOC_WDT_SUPPORTED=y +CONFIG_SOC_SPI_FLASH_SUPPORTED=y +CONFIG_SOC_RNG_SUPPORTED=y +CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y +CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y +CONFIG_SOC_MODEM_CLOCK_SUPPORTED=y +CONFIG_SOC_PM_SUPPORTED=y +CONFIG_SOC_XTAL_SUPPORT_40M=y +CONFIG_SOC_AES_SUPPORT_DMA=y +CONFIG_SOC_AES_GDMA=y +CONFIG_SOC_AES_SUPPORT_AES_128=y +CONFIG_SOC_AES_SUPPORT_AES_256=y +CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y +CONFIG_SOC_ADC_MONITOR_SUPPORTED=y +CONFIG_SOC_ADC_DMA_SUPPORTED=y +CONFIG_SOC_ADC_PERIPH_NUM=1 +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=7 +CONFIG_SOC_ADC_ATTEN_NUM=4 +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=1 +CONFIG_SOC_ADC_PATT_LEN_MAX=8 +CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 +CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 +CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y +CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y +CONFIG_SOC_ADC_CALIB_CHAN_COMPENS_SUPPORTED=y +CONFIG_SOC_ADC_TEMPERATURE_SHARE_INTR=y +CONFIG_SOC_ADC_SHARED_POWER=y +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y +CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y +CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y +CONFIG_SOC_CPU_CORES_NUM=1 +CONFIG_SOC_CPU_INTR_NUM=32 +CONFIG_SOC_CPU_HAS_FLEXIBLE_INTC=y +CONFIG_SOC_INT_PLIC_SUPPORTED=y +CONFIG_SOC_CPU_HAS_CSR_PC=y +CONFIG_SOC_CPU_BREAKPOINTS_NUM=4 +CONFIG_SOC_CPU_WATCHPOINTS_NUM=4 +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x80000000 +CONFIG_SOC_CPU_HAS_PMA=y +CONFIG_SOC_CPU_IDRAM_SPLIT_USING_PMP=y +CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=3072 +CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 +CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 +CONFIG_SOC_AHB_GDMA_VERSION=1 +CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 +CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=3 +CONFIG_SOC_GDMA_SUPPORT_ETM=y +CONFIG_SOC_GDMA_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_ETM_GROUPS=1 +CONFIG_SOC_ETM_CHANNELS_PER_GROUP=50 +CONFIG_SOC_GPIO_PORT=1 +CONFIG_SOC_GPIO_PIN_COUNT=31 +CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y +CONFIG_SOC_GPIO_FLEX_GLITCH_FILTER_NUM=8 +CONFIG_SOC_GPIO_SUPPORT_ETM=y +CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y +CONFIG_SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP=y +CONFIG_SOC_LP_IO_CLOCK_IS_INDEPENDENT=y +CONFIG_SOC_GPIO_IN_RANGE_MAX=30 +CONFIG_SOC_GPIO_OUT_RANGE_MAX=30 +CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK=0 +CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_SUPPORTED_PIN_CNT=8 +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x000000007FFFFF00 +CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y +CONFIG_SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP=y +CONFIG_SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX=y +CONFIG_SOC_CLOCKOUT_HAS_SOURCE_GATE=y +CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +CONFIG_SOC_RTCIO_PIN_COUNT=8 +CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y +CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y +CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y +CONFIG_SOC_RTCIO_VALID_RTCIO_MASK=0xFF +CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_PERIPH_ALWAYS_ENABLE=y +CONFIG_SOC_I2C_NUM=2 +CONFIG_SOC_HP_I2C_NUM=1 +CONFIG_SOC_I2C_FIFO_LEN=32 +CONFIG_SOC_I2C_CMD_REG_NUM=8 +CONFIG_SOC_I2C_SUPPORT_SLAVE=y +CONFIG_SOC_I2C_SUPPORT_HW_FSM_RST=y +CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y +CONFIG_SOC_I2C_SUPPORT_XTAL=y +CONFIG_SOC_I2C_SUPPORT_RTC=y +CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y +CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_SLAVE_UNMATCH=y +CONFIG_SOC_I2C_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_LP_I2C_NUM=1 +CONFIG_SOC_LP_I2C_FIFO_LEN=16 +CONFIG_SOC_I2S_NUM=1 +CONFIG_SOC_I2S_HW_VERSION_2=y +CONFIG_SOC_I2S_SUPPORTS_XTAL=y +CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y +CONFIG_SOC_I2S_SUPPORTS_PCM=y +CONFIG_SOC_I2S_SUPPORTS_PDM=y +CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 +CONFIG_SOC_I2S_SUPPORTS_TDM=y +CONFIG_SOC_LEDC_SUPPORT_PLL_DIV_CLOCK=y +CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y +CONFIG_SOC_LEDC_CHANNEL_NUM=6 +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 +CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y +CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED=y +CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX=16 +CONFIG_SOC_LEDC_FADE_PARAMS_BIT_WIDTH=10 +CONFIG_SOC_MMU_PAGE_SIZE_CONFIGURABLE=y +CONFIG_SOC_MMU_PERIPH_NUM=1 +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 +CONFIG_SOC_MMU_DI_VADDR_SHARED=y +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +CONFIG_SOC_PCNT_GROUPS=1 +CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 +CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 +CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 +CONFIG_SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE=y +CONFIG_SOC_RMT_GROUPS=1 +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=2 +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=2 +CONFIG_SOC_RMT_CHANNELS_PER_GROUP=4 +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 +CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y +CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y +CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y +CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y +CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y +CONFIG_SOC_RMT_SUPPORT_XTAL=y +CONFIG_SOC_RMT_SUPPORT_RC_FAST=y +CONFIG_SOC_MCPWM_GROUPS=1 +CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 +CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 +CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 +CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y +CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 +CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 +CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y +CONFIG_SOC_MCPWM_SUPPORT_ETM=y +CONFIG_SOC_MCPWM_CAPTURE_CLK_FROM_GROUP=y +CONFIG_SOC_PARLIO_GROUPS=1 +CONFIG_SOC_PARLIO_TX_UNITS_PER_GROUP=1 +CONFIG_SOC_PARLIO_RX_UNITS_PER_GROUP=1 +CONFIG_SOC_PARLIO_TX_UNIT_MAX_DATA_WIDTH=16 +CONFIG_SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH=16 +CONFIG_SOC_PARLIO_TX_RX_SHARE_INTERRUPT=y +CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 +CONFIG_SOC_MPI_OPERATIONS_NUM=3 +CONFIG_SOC_RSA_MAX_BIT_LEN=3072 +CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 +CONFIG_SOC_SHA_SUPPORT_DMA=y +CONFIG_SOC_SHA_SUPPORT_RESUME=y +CONFIG_SOC_SHA_GDMA=y +CONFIG_SOC_SHA_SUPPORT_SHA1=y +CONFIG_SOC_SHA_SUPPORT_SHA224=y +CONFIG_SOC_SHA_SUPPORT_SHA256=y +CONFIG_SOC_SDM_GROUPS=1 +CONFIG_SOC_SDM_CHANNELS_PER_GROUP=4 +CONFIG_SOC_SDM_CLK_SUPPORT_PLL_F80M=y +CONFIG_SOC_SDM_CLK_SUPPORT_XTAL=y +CONFIG_SOC_SPI_PERIPH_NUM=2 +CONFIG_SOC_SPI_MAX_CS_NUM=6 +CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 +CONFIG_SOC_SPI_SUPPORT_DDRCLK=y +CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y +CONFIG_SOC_SPI_SUPPORT_CD_SIG=y +CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y +CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y +CONFIG_SOC_SPI_SUPPORT_CLK_PLL_F80M=y +CONFIG_SOC_SPI_SUPPORT_CLK_RC_FAST=y +CONFIG_SOC_SPI_SCT_SUPPORTED=y +CONFIG_SOC_SPI_SCT_REG_NUM=14 +CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y +CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA +CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y +CONFIG_SOC_SPI_MEM_SUPPORT_IDLE_INTR=y +CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_CHECK_SUS=y +CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y +CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y +CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 +CONFIG_SOC_SYSTIMER_ALARM_NUM=3 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 +CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y +CONFIG_SOC_SYSTIMER_SUPPORT_RC_FAST=y +CONFIG_SOC_SYSTIMER_INT_LEVEL=y +CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y +CONFIG_SOC_SYSTIMER_SUPPORT_ETM=y +CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 +CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 +CONFIG_SOC_TIMER_GROUPS=2 +CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=1 +CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 +CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y +CONFIG_SOC_TIMER_GROUP_SUPPORT_RC_FAST=y +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=2 +CONFIG_SOC_TIMER_SUPPORT_ETM=y +CONFIG_SOC_TIMER_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_MWDT_SUPPORT_XTAL=y +CONFIG_SOC_TWAI_CONTROLLER_NUM=2 +CONFIG_SOC_TWAI_CLK_SUPPORT_XTAL=y +CONFIG_SOC_TWAI_BRP_MIN=2 +CONFIG_SOC_TWAI_BRP_MAX=32768 +CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y +CONFIG_SOC_EFUSE_DIS_PAD_JTAG=y +CONFIG_SOC_EFUSE_DIS_USB_JTAG=y +CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y +CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_ICACHE=y +CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y +CONFIG_SOC_SECURE_BOOT_V2_RSA=y +CONFIG_SOC_SECURE_BOOT_V2_ECC=y +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 +CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y +CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y +CONFIG_SOC_CRYPTO_DPA_PROTECTION_SUPPORTED=y +CONFIG_SOC_UART_NUM=3 +CONFIG_SOC_UART_HP_NUM=2 +CONFIG_SOC_UART_LP_NUM=1 +CONFIG_SOC_UART_FIFO_LEN=128 +CONFIG_SOC_LP_UART_FIFO_LEN=16 +CONFIG_SOC_UART_BITRATE_MAX=5000000 +CONFIG_SOC_UART_SUPPORT_PLL_F80M_CLK=y +CONFIG_SOC_UART_SUPPORT_RTC_CLK=y +CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y +CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y +CONFIG_SOC_UART_HAS_LP_UART=y +CONFIG_SOC_UART_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y +CONFIG_SOC_COEX_HW_PTI=y +CONFIG_SOC_EXTERNAL_COEX_ADVANCE=y +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 +CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_BEACON_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN=y +CONFIG_SOC_PM_SUPPORT_CPU_PD=y +CONFIG_SOC_PM_SUPPORT_MODEM_PD=y +CONFIG_SOC_PM_SUPPORT_XTAL32K_PD=y +CONFIG_SOC_PM_SUPPORT_RC32K_PD=y +CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y +CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +CONFIG_SOC_PM_SUPPORT_TOP_PD=y +CONFIG_SOC_PM_SUPPORT_HP_AON_PD=y +CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y +CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y +CONFIG_SOC_PM_SUPPORT_PMU_MODEM_STATE=y +CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y +CONFIG_SOC_PM_CPU_RETENTION_BY_SW=y +CONFIG_SOC_PM_MODEM_RETENTION_BY_REGDMA=y +CONFIG_SOC_PM_RETENTION_HAS_CLOCK_BUG=y +CONFIG_SOC_PM_PAU_LINK_NUM=4 +CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y +CONFIG_SOC_MODEM_CLOCK_IS_INDEPENDENT=y +CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y +CONFIG_SOC_CLK_OSC_SLOW_SUPPORTED=y +CONFIG_SOC_CLK_RC32K_SUPPORTED=y +CONFIG_SOC_RCC_IS_INDEPENDENT=y +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL=y +CONFIG_SOC_TEMPERATURE_SENSOR_INTR_SUPPORT=y +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_ETM=y +CONFIG_SOC_RNG_CLOCK_IS_INDEPENDENT=y +CONFIG_SOC_WIFI_HW_TSF=y +CONFIG_SOC_WIFI_FTM_SUPPORT=y +CONFIG_SOC_WIFI_GCMP_SUPPORT=y +CONFIG_SOC_WIFI_WAPI_SUPPORT=y +CONFIG_SOC_WIFI_CSI_SUPPORT=y +CONFIG_SOC_WIFI_MESH_SUPPORT=y +CONFIG_SOC_WIFI_HE_SUPPORT=y +CONFIG_SOC_BLE_SUPPORTED=y +CONFIG_SOC_BLE_MESH_SUPPORTED=y +CONFIG_SOC_ESP_NIMBLE_CONTROLLER=y +CONFIG_SOC_BLE_50_SUPPORTED=y +CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y +CONFIG_SOC_BLE_POWER_CONTROL_SUPPORTED=y +CONFIG_SOC_BLE_PERIODIC_ADV_ENH_SUPPORTED=y +CONFIG_SOC_BLUFI_SUPPORTED=y +CONFIG_SOC_BLE_MULTI_CONN_OPTIMIZATION=y +CONFIG_SOC_BLE_USE_WIFI_PWR_CLK_WORKAROUND=y +CONFIG_SOC_PHY_COMBO_MODULE=y +CONFIG_SOC_CAPS_NO_RESET_BY_ANA_BOD=y +CONFIG_SOC_LP_CORE_SINGLE_INTERRUPT_VECTOR=y +CONFIG_SOC_LP_CORE_SUPPORT_ETM=y +CONFIG_IDF_CMAKE=y +CONFIG_IDF_TOOLCHAIN="gcc" +CONFIG_IDF_TARGET_ARCH_RISCV=y +CONFIG_IDF_TARGET_ARCH="riscv" +CONFIG_IDF_TARGET="esp32c6" +CONFIG_IDF_INIT_VERSION="5.3.1" +CONFIG_IDF_TARGET_ESP32C6=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x000D + +# +# Build type +# +CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y +# CONFIG_APP_BUILD_TYPE_RAM is not set +CONFIG_APP_BUILD_GENERATE_BINARIES=y +CONFIG_APP_BUILD_BOOTLOADER=y +CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y +# CONFIG_APP_REPRODUCIBLE_BUILD is not set +# CONFIG_APP_NO_BLOBS is not set +# end of Build type + +# +# Bootloader config +# + +# +# Bootloader manager +# +CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y +CONFIG_BOOTLOADER_PROJECT_VER=1 +# end of Bootloader manager + +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set +CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y +# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set +CONFIG_BOOTLOADER_LOG_LEVEL=3 + +# +# Serial Flash Configurations +# +# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set +CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y +# end of Serial Flash Configurations + +# CONFIG_BOOTLOADER_FACTORY_RESET is not set +# CONFIG_BOOTLOADER_APP_TEST is not set +CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y +CONFIG_BOOTLOADER_WDT_ENABLE=y +# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set +CONFIG_BOOTLOADER_WDT_TIME_MS=9000 +# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set +CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 +# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set +# end of Bootloader config + +# +# Security features +# +CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_ECC_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_PREFERRED=y +# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set +# CONFIG_SECURE_BOOT is not set +# CONFIG_SECURE_FLASH_ENC_ENABLED is not set +CONFIG_SECURE_ROM_DL_MODE_ENABLED=y +# end of Security features + +# +# Application manager +# +CONFIG_APP_COMPILE_TIME_DATE=y +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set +# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set +CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 +# end of Application manager + +CONFIG_ESP_ROM_HAS_CRC_LE=y +CONFIG_ESP_ROM_HAS_CRC_BE=y +CONFIG_ESP_ROM_HAS_JPEG_DECODE=y +CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=3 +CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y +CONFIG_ESP_ROM_GET_CLK_FREQ=y +CONFIG_ESP_ROM_HAS_RVFPLIB=y +CONFIG_ESP_ROM_HAS_HAL_WDT=y +CONFIG_ESP_ROM_HAS_HAL_SYSTIMER=y +CONFIG_ESP_ROM_HAS_HEAP_TLSF=y +CONFIG_ESP_ROM_TLSF_CHECK_PATCH=y +CONFIG_ESP_ROM_MULTI_HEAP_WALK_PATCH=y +CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y +CONFIG_ESP_ROM_HAS_SPI_FLASH=y +CONFIG_ESP_ROM_HAS_REGI2C_BUG=y +CONFIG_ESP_ROM_HAS_NEWLIB=y +CONFIG_ESP_ROM_HAS_NEWLIB_NORMAL_FORMAT=y +CONFIG_ESP_ROM_REV0_HAS_NO_ECDSA_INTERFACE=y +CONFIG_ESP_ROM_WDT_INIT_PATCH=y +CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y +CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y +CONFIG_ESP_ROM_HAS_SW_FLOAT=y +CONFIG_ESP_ROM_USB_OTG_NUM=-1 +CONFIG_ESP_ROM_HAS_VERSION=y +CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y + +# +# Boot ROM Behavior +# +CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y +# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set +# end of Boot ROM Behavior + +# +# Serial flasher config +# +# CONFIG_ESPTOOLPY_NO_STUB is not set +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set +CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y +CONFIG_ESPTOOLPY_FLASHMODE="dio" +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y +CONFIG_ESPTOOLPY_FLASHFREQ="80m" +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" +# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set +CONFIG_ESPTOOLPY_BEFORE_RESET=y +# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set +CONFIG_ESPTOOLPY_BEFORE="default_reset" +CONFIG_ESPTOOLPY_AFTER_RESET=y +# CONFIG_ESPTOOLPY_AFTER_NORESET is not set +CONFIG_ESPTOOLPY_AFTER="hard_reset" +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +# end of Serial flasher config + +# +# Partition Table +# +# CONFIG_PARTITION_TABLE_SINGLE_APP is not set +# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +CONFIG_PARTITION_TABLE_MD5=y +# end of Partition Table + +# +# Compiler options +# +# CONFIG_COMPILER_OPTIMIZATION_DEBUG is not set +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +# CONFIG_COMPILER_OPTIMIZATION_PERF is not set +# CONFIG_COMPILER_OPTIMIZATION_NONE is not set +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +# CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB is not set +CONFIG_COMPILER_FLOAT_LIB_FROM_RVFPLIB=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set +CONFIG_COMPILER_HIDE_PATHS_MACROS=y +# CONFIG_COMPILER_CXX_EXCEPTIONS is not set +# CONFIG_COMPILER_CXX_RTTI is not set +CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y +# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS is not set +# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set +# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set +# CONFIG_COMPILER_DUMP_RTL_FILES is not set +CONFIG_COMPILER_RT_LIB_GCCLIB=y +CONFIG_COMPILER_RT_LIB_NAME="gcc" +# CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING is not set +CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y +# end of Compiler options + +# +# Component config +# + +# +# Application Level Tracing +# +# CONFIG_APPTRACE_DEST_JTAG is not set +CONFIG_APPTRACE_DEST_NONE=y +# CONFIG_APPTRACE_DEST_UART1 is not set +# CONFIG_APPTRACE_DEST_UART2 is not set +CONFIG_APPTRACE_DEST_UART_NONE=y +CONFIG_APPTRACE_UART_TASK_PRIO=1 +CONFIG_APPTRACE_LOCK_ENABLE=y +# end of Application Level Tracing + +# +# Bluetooth +# +CONFIG_BT_ENABLED=y +# CONFIG_BT_BLUEDROID_ENABLED is not set +CONFIG_BT_NIMBLE_ENABLED=y +# CONFIG_BT_CONTROLLER_ONLY is not set +CONFIG_BT_CONTROLLER_ENABLED=y +# CONFIG_BT_CONTROLLER_DISABLED is not set + +# +# NimBLE Options +# +CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y +# CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set +# CONFIG_BT_NIMBLE_LOG_LEVEL_NONE is not set +# CONFIG_BT_NIMBLE_LOG_LEVEL_ERROR is not set +# CONFIG_BT_NIMBLE_LOG_LEVEL_WARNING is not set +CONFIG_BT_NIMBLE_LOG_LEVEL_INFO=y +# CONFIG_BT_NIMBLE_LOG_LEVEL_DEBUG is not set +CONFIG_BT_NIMBLE_LOG_LEVEL=1 +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=3 +CONFIG_BT_NIMBLE_MAX_BONDS=3 +CONFIG_BT_NIMBLE_MAX_CCCDS=8 +CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM=0 +CONFIG_BT_NIMBLE_PINNED_TO_CORE=0 +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=4096 +CONFIG_BT_NIMBLE_ROLE_CENTRAL=y +CONFIG_BT_NIMBLE_ROLE_PERIPHERAL=y +CONFIG_BT_NIMBLE_ROLE_BROADCASTER=y +CONFIG_BT_NIMBLE_ROLE_OBSERVER=y +# CONFIG_BT_NIMBLE_NVS_PERSIST is not set +# CONFIG_BT_NIMBLE_SMP_ID_RESET is not set +CONFIG_BT_NIMBLE_SECURITY_ENABLE=y +CONFIG_BT_NIMBLE_SM_LEGACY=y +CONFIG_BT_NIMBLE_SM_SC=y +# CONFIG_BT_NIMBLE_SM_SC_DEBUG_KEYS is not set +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_ENCRYPTION=y +CONFIG_BT_NIMBLE_SM_LVL=0 +# CONFIG_BT_NIMBLE_DEBUG is not set +# CONFIG_BT_NIMBLE_DYNAMIC_SERVICE is not set +CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME="nimble" +CONFIG_BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31 +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=256 +CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE=0 + +# +# Memory Settings +# +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=24 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=128 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=24 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_SIZE=320 +CONFIG_BT_NIMBLE_MSYS_BUF_FROM_HEAP=y +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=24 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_SIZE=255 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_SIZE=70 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=30 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_DISCARD_COUNT=8 +CONFIG_BT_NIMBLE_L2CAP_COC_SDU_BUFF_COUNT=1 +# end of Memory Settings + +CONFIG_BT_NIMBLE_GATT_MAX_PROCS=4 +# CONFIG_BT_NIMBLE_HS_FLOW_CTRL is not set +CONFIG_BT_NIMBLE_RPA_TIMEOUT=900 +# CONFIG_BT_NIMBLE_MESH is not set +CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y +CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000 +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=y +CONFIG_BT_NIMBLE_MAX_CONN_REATTEMPT=3 +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=y +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY=y +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY=y +# CONFIG_BT_NIMBLE_EXT_ADV is not set +CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS=0 +CONFIG_BT_NIMBLE_MAX_PERIODIC_ADVERTISER_LIST=5 +# CONFIG_BT_NIMBLE_BLE_POWER_CONTROL is not set +# CONFIG_BT_NIMBLE_GATT_CACHING is not set +CONFIG_BT_NIMBLE_WHITELIST_SIZE=12 +# CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set +# CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set +CONFIG_BT_NIMBLE_USE_ESP_TIMER=y +# CONFIG_BT_NIMBLE_BLE_GATT_BLOB_TRANSFER is not set + +# +# GAP Service +# + +# +# GAP Appearance write permissions +# +# CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE is not set +# end of GAP Appearance write permissions + +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM=0 +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ENC=0 +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHN=0 +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHR=0 +CONFIG_BT_NIMBLE_SVC_GAP_CAR_CHAR_NOT_SUPP=y +# CONFIG_BT_NIMBLE_SVC_GAP_CAR_NOT_SUPP is not set +# CONFIG_BT_NIMBLE_SVC_GAP_CAR_SUPP is not set +CONFIG_BT_NIMBLE_SVC_GAP_CENT_ADDR_RESOLUTION=-1 + +# +# GAP device name write permissions +# +# CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE is not set +# end of GAP device name write permissions + +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM=0 +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_ENC=0 +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHEN=0 +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHOR=0 +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL=0 +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL=0 +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SLAVE_LATENCY=0 +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SUPERVISION_TMO=0 +# end of GAP Service + +# +# BLE Services +# +# CONFIG_BT_NIMBLE_HID_SERVICE is not set +# end of BLE Services + +# CONFIG_BT_NIMBLE_VS_SUPPORT is not set +# CONFIG_BT_NIMBLE_OPTIMIZE_MULTI_CONN is not set +# CONFIG_BT_NIMBLE_ENC_ADV_DATA is not set +# CONFIG_BT_NIMBLE_HIGH_DUTY_ADV_ITVL is not set +# CONFIG_BT_NIMBLE_HOST_QUEUE_CONG_CHECK is not set + +# +# Host-controller Transport +# +CONFIG_UART_HW_FLOWCTRL_DISABLE=y +# CONFIG_UART_HW_FLOWCTRL_CTS_RTS is not set +CONFIG_BT_NIMBLE_HCI_UART_FLOW_CTRL=0 +CONFIG_BT_NIMBLE_HCI_UART_RTS_PIN=19 +CONFIG_BT_NIMBLE_HCI_UART_CTS_PIN=23 +# end of Host-controller Transport +# end of NimBLE Options + +# +# Controller Options +# + +# +# HCI Config +# +CONFIG_BT_LE_HCI_INTERFACE_USE_RAM=y +# CONFIG_BT_LE_HCI_INTERFACE_USE_UART is not set +# end of HCI Config + +CONFIG_BT_LE_CONTROLLER_NPL_OS_PORTING_SUPPORT=y +CONFIG_BT_LE_CONTROLLER_TASK_STACK_SIZE=4096 +# CONFIG_BT_LE_CONTROLLER_LOG_ENABLED is not set +CONFIG_BT_LE_LL_RESOLV_LIST_SIZE=4 +CONFIG_BT_LE_LL_DUP_SCAN_LIST_COUNT=20 +CONFIG_BT_LE_LL_SCA=60 +# CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EN is not set +CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS=y +CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF=0 +# CONFIG_BT_LE_SLEEP_ENABLE is not set +CONFIG_BT_LE_LP_CLK_SRC_MAIN_XTAL=y +# CONFIG_BT_LE_LP_CLK_SRC_DEFAULT is not set +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 +CONFIG_BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 +CONFIG_BT_LE_SCAN_DUPL=y +CONFIG_BT_LE_SCAN_DUPL_TYPE_DEVICE=y +# CONFIG_BT_LE_SCAN_DUPL_TYPE_DATA is not set +# CONFIG_BT_LE_SCAN_DUPL_TYPE_DATA_DEVICE is not set +CONFIG_BT_LE_SCAN_DUPL_TYPE=0 +CONFIG_BT_LE_SCAN_DUPL_CACHE_REFRESH_PERIOD=0 +CONFIG_BT_LE_MSYS_INIT_IN_CONTROLLER=y +# CONFIG_BT_LE_TX_CCA_ENABLED is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N15 is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N12 is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N9 is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N6 is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N3 is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N0 is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P3 is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P6 is not set +CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P9=y +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P12 is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P15 is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P18 is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P20 is not set +CONFIG_BT_LE_DFT_TX_POWER_LEVEL_DBM_EFF=9 +# end of Controller Options + +# +# Common Options +# +CONFIG_BT_ALARM_MAX_NUM=50 +# end of Common Options + +# CONFIG_BT_HCI_LOG_DEBUG_EN is not set +# end of Bluetooth + +# CONFIG_BLE_MESH is not set + +# +# Console Library +# +# CONFIG_CONSOLE_SORTED_HELP is not set +# end of Console Library + +# +# Driver Configurations +# + +# +# TWAI Configuration +# +# CONFIG_TWAI_ISR_IN_IRAM is not set +# end of TWAI Configuration + +# +# Legacy ADC Driver Configuration +# +# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set + +# +# Legacy ADC Calibration Configuration +# +# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy ADC Calibration Configuration +# end of Legacy ADC Driver Configuration + +# +# Legacy MCPWM Driver Configurations +# +# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy MCPWM Driver Configurations + +# +# Legacy Timer Group Driver Configurations +# +# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy Timer Group Driver Configurations + +# +# Legacy RMT Driver Configurations +# +# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy RMT Driver Configurations + +# +# Legacy I2S Driver Configurations +# +# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy I2S Driver Configurations + +# +# Legacy PCNT Driver Configurations +# +# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy PCNT Driver Configurations + +# +# Legacy SDM Driver Configurations +# +# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy SDM Driver Configurations + +# +# Legacy Temperature Sensor Driver Configurations +# +# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy Temperature Sensor Driver Configurations +# end of Driver Configurations + +# +# eFuse Bit Manager +# +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# CONFIG_EFUSE_VIRTUAL is not set +CONFIG_EFUSE_MAX_BLK_LEN=256 +# end of eFuse Bit Manager + +# +# ESP-TLS +# +CONFIG_ESP_TLS_USING_MBEDTLS=y +CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y +# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set +# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set +# CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set +# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set +# CONFIG_ESP_TLS_PSK_VERIFICATION is not set +# CONFIG_ESP_TLS_INSECURE is not set +# end of ESP-TLS + +# +# ADC and ADC Calibration +# +# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set +# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set +# CONFIG_ADC_ENABLE_DEBUG_LOG is not set +# end of ADC and ADC Calibration + +# +# Wireless Coexistence +# +CONFIG_ESP_COEX_ENABLED=y +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y +# CONFIG_ESP_COEX_POWER_MANAGEMENT is not set +# end of Wireless Coexistence + +# +# Common ESP-related +# +CONFIG_ESP_ERR_TO_NAME_LOOKUP=y +# end of Common ESP-related + +# +# ESP-Driver:GPIO Configurations +# +# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:GPIO Configurations + +# +# ESP-Driver:GPTimer Configurations +# +CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y +# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set +# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set +# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:GPTimer Configurations + +# +# ESP-Driver:I2C Configurations +# +# CONFIG_I2C_ISR_IRAM_SAFE is not set +# CONFIG_I2C_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2C Configurations + +# +# ESP-Driver:I2S Configurations +# +# CONFIG_I2S_ISR_IRAM_SAFE is not set +# CONFIG_I2S_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2S Configurations + +# +# ESP-Driver:LEDC Configurations +# +# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:LEDC Configurations + +# +# ESP-Driver:MCPWM Configurations +# +# CONFIG_MCPWM_ISR_IRAM_SAFE is not set +# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set +# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:MCPWM Configurations + +# +# ESP-Driver:Parallel IO Configurations +# +# CONFIG_PARLIO_ENABLE_DEBUG_LOG is not set +# CONFIG_PARLIO_ISR_IRAM_SAFE is not set +# end of ESP-Driver:Parallel IO Configurations + +# +# ESP-Driver:PCNT Configurations +# +# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set +# CONFIG_PCNT_ISR_IRAM_SAFE is not set +# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:PCNT Configurations + +# +# ESP-Driver:RMT Configurations +# +# CONFIG_RMT_ISR_IRAM_SAFE is not set +# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set +# CONFIG_RMT_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:RMT Configurations + +# +# ESP-Driver:Sigma Delta Modulator Configurations +# +# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set +# CONFIG_SDM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Sigma Delta Modulator Configurations + +# +# ESP-Driver:SPI Configurations +# +# CONFIG_SPI_MASTER_IN_IRAM is not set +CONFIG_SPI_MASTER_ISR_IN_IRAM=y +# CONFIG_SPI_SLAVE_IN_IRAM is not set +CONFIG_SPI_SLAVE_ISR_IN_IRAM=y +# end of ESP-Driver:SPI Configurations + +# +# ESP-Driver:Temperature Sensor Configurations +# +# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set +# CONFIG_TEMP_SENSOR_ISR_IRAM_SAFE is not set +# end of ESP-Driver:Temperature Sensor Configurations + +# +# ESP-Driver:UART Configurations +# +# CONFIG_UART_ISR_IN_IRAM is not set +# end of ESP-Driver:UART Configurations + +# +# ESP-Driver:USB Serial/JTAG Configuration +# +CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y +# end of ESP-Driver:USB Serial/JTAG Configuration + +# +# Ethernet +# +CONFIG_ETH_ENABLED=y +CONFIG_ETH_USE_SPI_ETHERNET=y +# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set +# CONFIG_ETH_SPI_ETHERNET_W5500 is not set +# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set +# CONFIG_ETH_USE_OPENETH is not set +# CONFIG_ETH_TRANSMIT_MUTEX is not set +# end of Ethernet + +# +# Event Loop Library +# +# CONFIG_ESP_EVENT_LOOP_PROFILING is not set +CONFIG_ESP_EVENT_POST_FROM_ISR=y +CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y +# end of Event Loop Library + +# +# GDB Stub +# +CONFIG_ESP_GDBSTUB_ENABLED=y +# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y +CONFIG_ESP_GDBSTUB_MAX_TASKS=32 +# end of GDB Stub + +# +# ESP HTTP client +# +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y +# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set +# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set +# CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set +# end of ESP HTTP client + +# +# HTTP Server +# +CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 +CONFIG_HTTPD_MAX_URI_LEN=512 +CONFIG_HTTPD_ERR_RESP_NO_DELAY=y +CONFIG_HTTPD_PURGE_BUF_LEN=32 +# CONFIG_HTTPD_LOG_PURGE_DATA is not set +# CONFIG_HTTPD_WS_SUPPORT is not set +# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set +# end of HTTP Server + +# +# ESP HTTPS OTA +# +# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set +# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set +# end of ESP HTTPS OTA + +# +# ESP HTTPS server +# +# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set +# end of ESP HTTPS server + +# +# Hardware Settings +# + +# +# Chip revision +# +CONFIG_ESP32C6_REV_MIN_0=y +# CONFIG_ESP32C6_REV_MIN_1 is not set +CONFIG_ESP32C6_REV_MIN_FULL=0 +CONFIG_ESP_REV_MIN_FULL=0 + +# +# Maximum Supported ESP32-C6 Revision (Rev v0.99) +# +CONFIG_ESP32C6_REV_MAX_FULL=99 +CONFIG_ESP_REV_MAX_FULL=99 +# end of Chip revision + +# +# MAC Config +# +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_IEEE802154=y +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set +# end of MAC Config + +# +# Sleep Config +# +# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set +CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set +CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y +CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0 +# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set +# CONFIG_ESP_SLEEP_DEBUG is not set +CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y +# end of Sleep Config + +# +# RTC Clock Config +# +CONFIG_RTC_CLK_SRC_INT_RC=y +# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_RTC_CLK_SRC_INT_RC32K is not set +CONFIG_RTC_CLK_CAL_CYCLES=1024 +# end of RTC Clock Config + +# +# Peripheral Control +# +CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y +# end of Peripheral Control + +# +# ETM Configuration +# +# CONFIG_ETM_ENABLE_DEBUG_LOG is not set +# end of ETM Configuration + +# +# GDMA Configurations +# +CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y +# CONFIG_GDMA_ISR_IRAM_SAFE is not set +# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set +# end of GDMA Configurations + +# +# Main XTAL Config +# +CONFIG_XTAL_FREQ_40=y +CONFIG_XTAL_FREQ=40 +# end of Main XTAL Config + +# +# Crypto DPA Protection +# +CONFIG_ESP_CRYPTO_DPA_PROTECTION_AT_STARTUP=y +CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_LOW=y +# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_MEDIUM is not set +# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_HIGH is not set +CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL=1 +# end of Crypto DPA Protection + +CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y +# end of Hardware Settings + +# +# LCD and Touch Panel +# + +# +# LCD Touch Drivers are maintained in the IDF Component Registry +# + +# +# LCD Peripheral Configuration +# +# CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# end of LCD Peripheral Configuration +# end of LCD and Touch Panel + +# +# ESP NETIF Adapter +# +CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 +CONFIG_ESP_NETIF_TCPIP_LWIP=y +# CONFIG_ESP_NETIF_LOOPBACK is not set +CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y +# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set +# CONFIG_ESP_NETIF_L2_TAP is not set +# CONFIG_ESP_NETIF_BRIDGE_EN is not set +# end of ESP NETIF Adapter + +# +# Partition API Configuration +# +# end of Partition API Configuration + +# +# PHY +# +CONFIG_ESP_PHY_ENABLED=y +CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP_PHY_MAX_TX_POWER=20 +# CONFIG_ESP_PHY_REDUCE_TX_POWER is not set +CONFIG_ESP_PHY_RF_CAL_PARTIAL=y +# CONFIG_ESP_PHY_RF_CAL_NONE is not set +# CONFIG_ESP_PHY_RF_CAL_FULL is not set +CONFIG_ESP_PHY_CALIBRATION_MODE=0 +# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set +# end of PHY + +# +# Power Management +# +# CONFIG_PM_ENABLE is not set +CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y +# CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP is not set +# end of Power Management + +# +# ESP PSRAM +# + +# +# ESP Ringbuf +# +# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set +# end of ESP Ringbuf + +# +# ESP System Settings +# +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_120 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 +# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set +CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y +# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set +# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set +CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 +CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y +CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y +CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y +# CONFIG_ESP_SYSTEM_USE_EH_FRAME is not set + +# +# Memory protection +# +CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT=y +# end of Memory protection + +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 +CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 +CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# CONFIG_ESP_CONSOLE_NONE is not set +# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set +CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y +CONFIG_ESP_CONSOLE_UART=y +CONFIG_ESP_CONSOLE_UART_NUM=0 +CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 +CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 +CONFIG_ESP_INT_WDT=y +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +CONFIG_ESP_TASK_WDT_EN=y +CONFIG_ESP_TASK_WDT_INIT=y +# CONFIG_ESP_TASK_WDT_PANIC is not set +CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_ESP_PANIC_HANDLER_IRAM is not set +# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP_DEBUG_OCDAWARE=y +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y + +# +# Brownout Detector +# +CONFIG_ESP_BROWNOUT_DET=y +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +CONFIG_ESP_BROWNOUT_DET_LVL=7 +# end of Brownout Detector + +CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_ESP_SYSTEM_HW_STACK_GUARD=y +CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y +CONFIG_ESP_SYSTEM_HW_PC_RECORD=y +# end of ESP System Settings + +# +# IPC (Inter-Processor Call) +# +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +# end of IPC (Inter-Processor Call) + +# +# ESP Timer (High Resolution Timer) +# +# CONFIG_ESP_TIMER_PROFILING is not set +CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y +CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y +CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 +# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set +CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 +CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y +CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set +CONFIG_ESP_TIMER_IMPL_SYSTIMER=y +# end of ESP Timer (High Resolution Timer) + +# +# Wi-Fi +# +CONFIG_ESP_WIFI_ENABLED=y +CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y +# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set +CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 +CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 +# CONFIG_ESP_WIFI_CSI_ENABLED is not set +CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP_WIFI_TX_BA_WIN=6 +CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP_WIFI_RX_BA_WIN=6 +CONFIG_ESP_WIFI_NVS_ENABLED=y +CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 +CONFIG_ESP_WIFI_IRAM_OPT=y +CONFIG_ESP_WIFI_EXTRA_IRAM_OPT=y +CONFIG_ESP_WIFI_RX_IRAM_OPT=y +CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP_WIFI_ENABLE_SAE_PK=y +CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y +CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y +CONFIG_ESP_WIFI_SLP_IRAM_OPT=y +CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 +CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 +CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 +# CONFIG_ESP_WIFI_FTM_ENABLE is not set +CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y +# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set +CONFIG_ESP_WIFI_GMAC_SUPPORT=y +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y +# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set +CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 +CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y +CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y +# CONFIG_ESP_WIFI_WAPI_PSK is not set +# CONFIG_ESP_WIFI_SUITE_B_192 is not set +# CONFIG_ESP_WIFI_11KV_SUPPORT is not set +# CONFIG_ESP_WIFI_MBO_SUPPORT is not set +# CONFIG_ESP_WIFI_DPP_SUPPORT is not set +# CONFIG_ESP_WIFI_11R_SUPPORT is not set +# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set +# CONFIG_ESP_WIFI_ENABLE_WIFI_TX_STATS is not set +# CONFIG_ESP_WIFI_ENABLE_WIFI_RX_STATS is not set +CONFIG_ESP_WIFI_TX_HETB_QUEUE_NUM=3 + +# +# WPS Configuration Options +# +# CONFIG_ESP_WIFI_WPS_STRICT is not set +# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set +# end of WPS Configuration Options + +# CONFIG_ESP_WIFI_DEBUG_PRINT is not set +# CONFIG_ESP_WIFI_TESTING_OPTIONS is not set +CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y +# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set +# end of Wi-Fi + +# +# Core dump +# +# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set +# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set +CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y +# end of Core dump + +# +# FAT Filesystem support +# +CONFIG_FATFS_VOLUME_COUNT=2 +# CONFIG_FATFS_LFN_NONE is not set +CONFIG_FATFS_LFN_HEAP=y +# CONFIG_FATFS_LFN_STACK is not set +# CONFIG_FATFS_SECTOR_512 is not set +CONFIG_FATFS_SECTOR_4096=y +# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set +CONFIG_FATFS_CODEPAGE_437=y +# CONFIG_FATFS_CODEPAGE_720 is not set +# CONFIG_FATFS_CODEPAGE_737 is not set +# CONFIG_FATFS_CODEPAGE_771 is not set +# CONFIG_FATFS_CODEPAGE_775 is not set +# CONFIG_FATFS_CODEPAGE_850 is not set +# CONFIG_FATFS_CODEPAGE_852 is not set +# CONFIG_FATFS_CODEPAGE_855 is not set +# CONFIG_FATFS_CODEPAGE_857 is not set +# CONFIG_FATFS_CODEPAGE_860 is not set +# CONFIG_FATFS_CODEPAGE_861 is not set +# CONFIG_FATFS_CODEPAGE_862 is not set +# CONFIG_FATFS_CODEPAGE_863 is not set +# CONFIG_FATFS_CODEPAGE_864 is not set +# CONFIG_FATFS_CODEPAGE_865 is not set +# CONFIG_FATFS_CODEPAGE_866 is not set +# CONFIG_FATFS_CODEPAGE_869 is not set +# CONFIG_FATFS_CODEPAGE_932 is not set +# CONFIG_FATFS_CODEPAGE_936 is not set +# CONFIG_FATFS_CODEPAGE_949 is not set +# CONFIG_FATFS_CODEPAGE_950 is not set +CONFIG_FATFS_CODEPAGE=437 +CONFIG_FATFS_MAX_LFN=255 +CONFIG_FATFS_API_ENCODING_ANSI_OEM=y +# CONFIG_FATFS_API_ENCODING_UTF_8 is not set +CONFIG_FATFS_FS_LOCK=0 +CONFIG_FATFS_TIMEOUT_MS=10000 +CONFIG_FATFS_PER_FILE_CACHE=y +# CONFIG_FATFS_USE_FASTSEEK is not set +CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 +# CONFIG_FATFS_IMMEDIATE_FSYNC is not set +# CONFIG_FATFS_USE_LABEL is not set +CONFIG_FATFS_LINK_LOCK=y +# end of FAT Filesystem support + +# +# FreeRTOS +# + +# +# Kernel +# +# CONFIG_FREERTOS_SMP is not set +CONFIG_FREERTOS_UNICORE=y +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 +# CONFIG_FREERTOS_USE_IDLE_HOOK is not set +# CONFIG_FREERTOS_USE_TICK_HOOK is not set +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set +CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set +CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y +CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set +# end of Kernel + +# +# Port +# +# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set +CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y +# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set +# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set +CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y +CONFIG_FREERTOS_ISR_STACKSIZE=1536 +CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y +CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y +CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y +# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set +CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y +# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set +# end of Port + +CONFIG_FREERTOS_PORT=y +CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y +CONFIG_FREERTOS_DEBUG_OCDAWARE=y +CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y +CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y +CONFIG_FREERTOS_NUMBER_OF_CORES=1 +# end of FreeRTOS + +# +# Hardware Abstraction Layer (HAL) and Low Level (LL) +# +CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y +# CONFIG_HAL_ASSERTION_DISABLE is not set +# CONFIG_HAL_ASSERTION_SILENT is not set +# CONFIG_HAL_ASSERTION_ENABLE is not set +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +CONFIG_HAL_SYSTIMER_USE_ROM_IMPL=y +CONFIG_HAL_WDT_USE_ROM_IMPL=y +CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y +CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y +# end of Hardware Abstraction Layer (HAL) and Low Level (LL) + +# +# Heap memory debugging +# +CONFIG_HEAP_POISONING_DISABLED=y +# CONFIG_HEAP_POISONING_LIGHT is not set +# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set +CONFIG_HEAP_TRACING_OFF=y +# CONFIG_HEAP_TRACING_STANDALONE is not set +# CONFIG_HEAP_TRACING_TOHOST is not set +# CONFIG_HEAP_USE_HOOKS is not set +# CONFIG_HEAP_TASK_TRACKING is not set +# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set +CONFIG_HEAP_TLSF_USE_ROM_IMPL=y +# end of Heap memory debugging + +# +# IEEE 802.15.4 +# +CONFIG_IEEE802154_ENABLED=y +CONFIG_IEEE802154_RX_BUFFER_SIZE=20 +# CONFIG_IEEE802154_CCA_CARRIER is not set +CONFIG_IEEE802154_CCA_ED=y +# CONFIG_IEEE802154_CCA_CARRIER_OR_ED is not set +# CONFIG_IEEE802154_CCA_CARRIER_AND_ED is not set +CONFIG_IEEE802154_CCA_MODE=1 +CONFIG_IEEE802154_CCA_THRESHOLD=-60 +CONFIG_IEEE802154_PENDING_TABLE_SIZE=20 +# CONFIG_IEEE802154_MULTI_PAN_ENABLE is not set +# CONFIG_IEEE802154_TIMING_OPTIMIZATION is not set +# CONFIG_IEEE802154_DEBUG is not set +# end of IEEE 802.15.4 + +# +# Log output +# +# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set +# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set +# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set +CONFIG_LOG_DEFAULT_LEVEL_INFO=y +# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set +# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set +CONFIG_LOG_DEFAULT_LEVEL=3 +CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y +# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set +CONFIG_LOG_MAXIMUM_LEVEL=3 +# CONFIG_LOG_MASTER_LEVEL is not set +CONFIG_LOG_COLORS=y +CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y +# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set +# end of Log output + +# +# LWIP +# +CONFIG_LWIP_ENABLE=y +CONFIG_LWIP_LOCAL_HOSTNAME="espressif" +# CONFIG_LWIP_NETIF_API is not set +CONFIG_LWIP_TCPIP_TASK_PRIO=18 +# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set +# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set +CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y +# CONFIG_LWIP_L2_TO_L3_COPY is not set +# CONFIG_LWIP_IRAM_OPTIMIZATION is not set +# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set +CONFIG_LWIP_TIMERS_ONDEMAND=y +CONFIG_LWIP_ND6=y +# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set +CONFIG_LWIP_MAX_SOCKETS=10 +# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set +# CONFIG_LWIP_SO_LINGER is not set +CONFIG_LWIP_SO_REUSE=y +CONFIG_LWIP_SO_REUSE_RXTOALL=y +# CONFIG_LWIP_SO_RCVBUF is not set +# CONFIG_LWIP_NETBUF_RECVINFO is not set +CONFIG_LWIP_IP_DEFAULT_TTL=64 +CONFIG_LWIP_IP4_FRAG=y +CONFIG_LWIP_IP6_FRAG=y +# CONFIG_LWIP_IP4_REASSEMBLY is not set +# CONFIG_LWIP_IP6_REASSEMBLY is not set +CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 +# CONFIG_LWIP_IP_FORWARD is not set +# CONFIG_LWIP_STATS is not set +CONFIG_LWIP_ESP_GRATUITOUS_ARP=y +CONFIG_LWIP_GARP_TMR_INTERVAL=60 +CONFIG_LWIP_ESP_MLDV6_REPORT=y +CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 +CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y +# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set +CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y +# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set +CONFIG_LWIP_DHCP_OPTIONS_LEN=68 +CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 +CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 + +# +# DHCP server +# +CONFIG_LWIP_DHCPS=y +CONFIG_LWIP_DHCPS_LEASE_UNIT=60 +CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 +CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y +# end of DHCP server + +# CONFIG_LWIP_AUTOIP is not set +CONFIG_LWIP_IPV4=y +CONFIG_LWIP_IPV6=y +# CONFIG_LWIP_IPV6_AUTOCONFIG is not set +CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 +# CONFIG_LWIP_IPV6_FORWARD is not set +# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set +CONFIG_LWIP_NETIF_LOOPBACK=y +CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 + +# +# TCP +# +CONFIG_LWIP_MAX_ACTIVE_TCP=16 +CONFIG_LWIP_MAX_LISTENING_TCP=16 +CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y +CONFIG_LWIP_TCP_MAXRTX=12 +CONFIG_LWIP_TCP_SYNMAXRTX=12 +CONFIG_LWIP_TCP_MSS=1440 +CONFIG_LWIP_TCP_TMR_INTERVAL=250 +CONFIG_LWIP_TCP_MSL=60000 +CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 +CONFIG_LWIP_TCP_WND_DEFAULT=5760 +CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 +CONFIG_LWIP_TCP_QUEUE_OOSEQ=y +CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 +CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 +# CONFIG_LWIP_TCP_SACK_OUT is not set +CONFIG_LWIP_TCP_OVERSIZE_MSS=y +# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set +CONFIG_LWIP_TCP_RTO_TIME=1500 +# end of TCP + +# +# UDP +# +CONFIG_LWIP_MAX_UDP_PCBS=16 +CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 +# end of UDP + +# +# Checksums +# +# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set +# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set +CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y +# end of Checksums + +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set +CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_LWIP_PPP_SUPPORT is not set +CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 +CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +# CONFIG_LWIP_SLIP_SUPPORT is not set + +# +# ICMP +# +CONFIG_LWIP_ICMP=y +# CONFIG_LWIP_MULTICAST_PING is not set +# CONFIG_LWIP_BROADCAST_PING is not set +# end of ICMP + +# +# LWIP RAW API +# +CONFIG_LWIP_MAX_RAW_PCBS=16 +# end of LWIP RAW API + +# +# SNTP +# +CONFIG_LWIP_SNTP_MAX_SERVERS=1 +# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set +CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 +CONFIG_LWIP_SNTP_STARTUP_DELAY=y +CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 +# end of SNTP + +# +# DNS +# +CONFIG_LWIP_DNS_MAX_SERVERS=3 +# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set +# end of DNS + +CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 +CONFIG_LWIP_ESP_LWIP_ASSERT=y + +# +# Hooks +# +# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set +CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y +# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set +CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y +# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set +# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set +CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y +# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set +# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set +CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set +CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set +CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y +# CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT is not set +# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set +# end of Hooks + +# CONFIG_LWIP_DEBUG is not set +# end of LWIP + +# +# mbedTLS +# +CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set +# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set +CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y +CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 +CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 +# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set +# CONFIG_MBEDTLS_DEBUG is not set + +# +# mbedTLS v3.x related +# +# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y +CONFIG_MBEDTLS_PKCS7_C=y +# end of mbedTLS v3.x related + +# +# Certificate Bundle +# +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set +# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 +# end of Certificate Bundle + +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +CONFIG_MBEDTLS_CMAC_C=y +CONFIG_MBEDTLS_HARDWARE_AES=y +CONFIG_MBEDTLS_AES_USE_INTERRUPT=y +CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 +CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y +CONFIG_MBEDTLS_HARDWARE_MPI=y +CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y +CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y +CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 +CONFIG_MBEDTLS_HARDWARE_SHA=y +CONFIG_MBEDTLS_HARDWARE_ECC=y +CONFIG_MBEDTLS_ECC_OTHER_CURVES_SOFT_FALLBACK=y +CONFIG_MBEDTLS_ROM_MD5=y +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set +CONFIG_MBEDTLS_HAVE_TIME=y +# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set +CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y +CONFIG_MBEDTLS_SHA512_C=y +CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y +# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set +# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set +# CONFIG_MBEDTLS_TLS_DISABLED is not set +CONFIG_MBEDTLS_TLS_SERVER=y +CONFIG_MBEDTLS_TLS_CLIENT=y +CONFIG_MBEDTLS_TLS_ENABLED=y + +# +# TLS Key Exchange Methods +# +# CONFIG_MBEDTLS_PSK_MODES is not set +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y +# end of TLS Key Exchange Methods + +CONFIG_MBEDTLS_SSL_RENEGOTIATION=y +CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +CONFIG_MBEDTLS_SSL_ALPN=y +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y + +# +# Symmetric Ciphers +# +CONFIG_MBEDTLS_AES_C=y +# CONFIG_MBEDTLS_CAMELLIA_C is not set +# CONFIG_MBEDTLS_DES_C is not set +# CONFIG_MBEDTLS_BLOWFISH_C is not set +# CONFIG_MBEDTLS_XTEA_C is not set +CONFIG_MBEDTLS_CCM_C=y +CONFIG_MBEDTLS_GCM_C=y +# CONFIG_MBEDTLS_NIST_KW_C is not set +# end of Symmetric Ciphers + +# CONFIG_MBEDTLS_RIPEMD160_C is not set + +# +# Certificates +# +CONFIG_MBEDTLS_PEM_PARSE_C=y +CONFIG_MBEDTLS_PEM_WRITE_C=y +CONFIG_MBEDTLS_X509_CRL_PARSE_C=y +CONFIG_MBEDTLS_X509_CSR_PARSE_C=y +# end of Certificates + +CONFIG_MBEDTLS_ECP_C=y +# CONFIG_MBEDTLS_DHM_C is not set +CONFIG_MBEDTLS_ECDH_C=y +CONFIG_MBEDTLS_ECDSA_C=y +# CONFIG_MBEDTLS_ECJPAKE_C is not set +CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y +CONFIG_MBEDTLS_ECP_NIST_OPTIM=y +CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM=y +# CONFIG_MBEDTLS_POLY1305_C is not set +# CONFIG_MBEDTLS_CHACHA20_C is not set +# CONFIG_MBEDTLS_HKDF_C is not set +# CONFIG_MBEDTLS_THREADING_C is not set +CONFIG_MBEDTLS_ERROR_STRINGS=y +# end of mbedTLS + +# +# ESP-MQTT Configurations +# +CONFIG_MQTT_PROTOCOL_311=y +# CONFIG_MQTT_PROTOCOL_5 is not set +CONFIG_MQTT_TRANSPORT_SSL=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y +# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set +# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set +# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set +# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set +# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set +# CONFIG_MQTT_CUSTOM_OUTBOX is not set +# end of ESP-MQTT Configurations + +# +# Newlib +# +CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set +CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y +# CONFIG_NEWLIB_NANO_FORMAT is not set +CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y +# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set +# end of Newlib + +# +# NVS +# +# CONFIG_NVS_ENCRYPTION is not set +# CONFIG_NVS_ASSERT_ERROR_CHECK is not set +# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set +# end of NVS + +# +# OpenThread +# +# CONFIG_OPENTHREAD_ENABLED is not set + +# +# Thread Operational Dataset +# +CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP" +CONFIG_OPENTHREAD_MESH_LOCAL_PREFIX="fd00:db8:a0:0::/64" +CONFIG_OPENTHREAD_NETWORK_CHANNEL=15 +CONFIG_OPENTHREAD_NETWORK_PANID=0x1234 +CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe" +CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff" +CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53" +# end of Thread Operational Dataset + +CONFIG_OPENTHREAD_XTAL_ACCURACY=130 +# CONFIG_OPENTHREAD_SPINEL_ONLY is not set +# CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE is not set + +# +# Thread Address Query Config +# +# end of Thread Address Query Config +# end of OpenThread + +# +# Protocomm +# +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y +# end of Protocomm + +# +# PThreads +# +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_PTHREAD_STACK_MIN=768 +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" +# end of PThreads + +# +# MMU Config +# +CONFIG_MMU_PAGE_SIZE_64KB=y +CONFIG_MMU_PAGE_MODE="64KB" +CONFIG_MMU_PAGE_SIZE=0x10000 +# end of MMU Config + +# +# Main Flash configuration +# + +# +# SPI Flash behavior when brownout +# +CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y +CONFIG_SPI_FLASH_BROWNOUT_RESET=y +# end of SPI Flash behavior when brownout + +# +# Optional and Experimental Features (READ DOCS FIRST) +# + +# +# Features here require specific hardware (READ DOCS FIRST!) +# +CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 +# end of Optional and Experimental Features (READ DOCS FIRST) +# end of Main Flash configuration + +# +# SPI Flash driver +# +# CONFIG_SPI_FLASH_VERIFY_WRITE is not set +# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +# CONFIG_SPI_FLASH_ROM_IMPL is not set +CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y +CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 +CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 +CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 +# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set +# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set +# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set + +# +# Auto-detect flash chips +# +CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y +# CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_GD_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set +# end of Auto-detect flash chips + +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y +# end of SPI Flash driver + +# +# SPIFFS Configuration +# +CONFIG_SPIFFS_MAX_PARTITIONS=3 + +# +# SPIFFS Cache Configuration +# +CONFIG_SPIFFS_CACHE=y +CONFIG_SPIFFS_CACHE_WR=y +# CONFIG_SPIFFS_CACHE_STATS is not set +# end of SPIFFS Cache Configuration + +CONFIG_SPIFFS_PAGE_CHECK=y +CONFIG_SPIFFS_GC_MAX_RUNS=10 +# CONFIG_SPIFFS_GC_STATS is not set +CONFIG_SPIFFS_PAGE_SIZE=256 +CONFIG_SPIFFS_OBJ_NAME_LEN=32 +# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set +CONFIG_SPIFFS_USE_MAGIC=y +CONFIG_SPIFFS_USE_MAGIC_LENGTH=y +CONFIG_SPIFFS_META_LENGTH=4 +CONFIG_SPIFFS_USE_MTIME=y + +# +# Debug Configuration +# +# CONFIG_SPIFFS_DBG is not set +# CONFIG_SPIFFS_API_DBG is not set +# CONFIG_SPIFFS_GC_DBG is not set +# CONFIG_SPIFFS_CACHE_DBG is not set +# CONFIG_SPIFFS_CHECK_DBG is not set +# CONFIG_SPIFFS_TEST_VISUALISATION is not set +# end of Debug Configuration +# end of SPIFFS Configuration + +# +# TCP Transport +# + +# +# Websocket +# +CONFIG_WS_TRANSPORT=y +CONFIG_WS_BUFFER_SIZE=1024 +# CONFIG_WS_DYNAMIC_BUFFER is not set +# end of Websocket +# end of TCP Transport + +# +# Ultra Low Power (ULP) Co-processor +# +# CONFIG_ULP_COPROC_ENABLED is not set + +# +# ULP Debugging Options +# +# end of ULP Debugging Options +# end of Ultra Low Power (ULP) Co-processor + +# +# Unity unit testing library +# +CONFIG_UNITY_ENABLE_FLOAT=y +CONFIG_UNITY_ENABLE_DOUBLE=y +# CONFIG_UNITY_ENABLE_64BIT is not set +# CONFIG_UNITY_ENABLE_COLOR is not set +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y +# CONFIG_UNITY_ENABLE_FIXTURE is not set +# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set +# end of Unity unit testing library + +# +# Virtual file system +# +CONFIG_VFS_SUPPORT_IO=y +CONFIG_VFS_SUPPORT_DIR=y +CONFIG_VFS_SUPPORT_SELECT=y +CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y +# CONFIG_VFS_SELECT_IN_RAM is not set +CONFIG_VFS_SUPPORT_TERMIOS=y +CONFIG_VFS_MAX_COUNT=8 + +# +# Host File System I/O (Semihosting) +# +CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# end of Host File System I/O (Semihosting) +# end of Virtual file system + +# +# Wear Levelling +# +# CONFIG_WL_SECTOR_SIZE_512 is not set +CONFIG_WL_SECTOR_SIZE_4096=y +CONFIG_WL_SECTOR_SIZE=4096 +# end of Wear Levelling + +# +# Wi-Fi Provisioning Manager +# +CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 +CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 +# CONFIG_WIFI_PROV_BLE_BONDING is not set +CONFIG_WIFI_PROV_BLE_SEC_CONN=y +# CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set +# CONFIG_WIFI_PROV_KEEP_BLE_ON_AFTER_PROV is not set +CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y +# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set +# end of Wi-Fi Provisioning Manager + +# +# LVGL configuration +# +CONFIG_LV_CONF_SKIP=y +# CONFIG_LV_CONF_MINIMAL is not set + +# +# Color settings +# +# CONFIG_LV_COLOR_DEPTH_32 is not set +CONFIG_LV_COLOR_DEPTH_16=y +# CONFIG_LV_COLOR_DEPTH_8 is not set +# CONFIG_LV_COLOR_DEPTH_1 is not set +CONFIG_LV_COLOR_DEPTH=16 +# CONFIG_LV_COLOR_16_SWAP is not set +# CONFIG_LV_COLOR_SCREEN_TRANSP is not set +CONFIG_LV_COLOR_MIX_ROUND_OFS=128 +CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 +# end of Color settings + +# +# Memory settings +# +# CONFIG_LV_MEM_CUSTOM is not set +CONFIG_LV_MEM_SIZE_KILOBYTES=32 +CONFIG_LV_MEM_ADDR=0x0 +CONFIG_LV_MEM_BUF_MAX_NUM=16 +# CONFIG_LV_MEMCPY_MEMSET_STD is not set +# end of Memory settings + +# +# HAL Settings +# +CONFIG_LV_DISP_DEF_REFR_PERIOD=30 +CONFIG_LV_INDEV_DEF_READ_PERIOD=30 +# CONFIG_LV_TICK_CUSTOM is not set +CONFIG_LV_DPI_DEF=130 +# end of HAL Settings + +# +# Feature configuration +# + +# +# Drawing +# +CONFIG_LV_DRAW_COMPLEX=y +CONFIG_LV_SHADOW_CACHE_SIZE=0 +CONFIG_LV_CIRCLE_CACHE_SIZE=4 +CONFIG_LV_LAYER_SIMPLE_BUF_SIZE=24576 +CONFIG_LV_IMG_CACHE_DEF_SIZE=0 +CONFIG_LV_GRADIENT_MAX_STOPS=2 +CONFIG_LV_GRAD_CACHE_DEF_SIZE=0 +# CONFIG_LV_DITHER_GRADIENT is not set +CONFIG_LV_DISP_ROT_MAX_BUF=10240 +# end of Drawing + +# +# GPU +# +# CONFIG_LV_USE_GPU_ARM2D is not set +# CONFIG_LV_USE_GPU_STM32_DMA2D is not set +# CONFIG_LV_USE_GPU_RA6M3_G2D is not set +# CONFIG_LV_USE_GPU_SWM341_DMA2D is not set +# CONFIG_LV_USE_GPU_NXP_PXP is not set +# CONFIG_LV_USE_GPU_NXP_VG_LITE is not set +# CONFIG_LV_USE_GPU_SDL is not set +# end of GPU + +# +# Logging +# +# CONFIG_LV_USE_LOG is not set +# end of Logging + +# +# Asserts +# +CONFIG_LV_USE_ASSERT_NULL=y +CONFIG_LV_USE_ASSERT_MALLOC=y +# CONFIG_LV_USE_ASSERT_STYLE is not set +# CONFIG_LV_USE_ASSERT_MEM_INTEGRITY is not set +# CONFIG_LV_USE_ASSERT_OBJ is not set +CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" +# end of Asserts + +# +# Others +# +# CONFIG_LV_USE_PERF_MONITOR is not set +# CONFIG_LV_USE_MEM_MONITOR is not set +# CONFIG_LV_USE_REFR_DEBUG is not set +# CONFIG_LV_SPRINTF_CUSTOM is not set +# CONFIG_LV_SPRINTF_USE_FLOAT is not set +CONFIG_LV_USE_USER_DATA=y +# CONFIG_LV_ENABLE_GC is not set +# end of Others + +# +# Compiler settings +# +# CONFIG_LV_BIG_ENDIAN_SYSTEM is not set +CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 +# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set +# CONFIG_LV_USE_LARGE_COORD is not set +# end of Compiler settings +# end of Feature configuration + +# +# Font usage +# + +# +# Enable built-in fonts +# +CONFIG_LV_FONT_MONTSERRAT_8=y +CONFIG_LV_FONT_MONTSERRAT_10=y +CONFIG_LV_FONT_MONTSERRAT_12=y +CONFIG_LV_FONT_MONTSERRAT_14=y +CONFIG_LV_FONT_MONTSERRAT_16=y +CONFIG_LV_FONT_MONTSERRAT_18=y +# CONFIG_LV_FONT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_MONTSERRAT_22 is not set +CONFIG_LV_FONT_MONTSERRAT_24=y +# CONFIG_LV_FONT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_UNSCII_8 is not set +# CONFIG_LV_FONT_UNSCII_16 is not set +# CONFIG_LV_FONT_CUSTOM is not set +# end of Enable built-in fonts + +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12 is not set +CONFIG_LV_FONT_DEFAULT_MONTSERRAT_14=y +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_16 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_16 is not set +# CONFIG_LV_FONT_FMT_TXT_LARGE is not set +# CONFIG_LV_USE_FONT_COMPRESSED is not set +# CONFIG_LV_USE_FONT_SUBPX is not set +CONFIG_LV_USE_FONT_PLACEHOLDER=y +# end of Font usage + +# +# Text Settings +# +CONFIG_LV_TXT_ENC_UTF8=y +# CONFIG_LV_TXT_ENC_ASCII is not set +CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_" +CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0 +CONFIG_LV_TXT_COLOR_CMD="#" +# CONFIG_LV_USE_BIDI is not set +# CONFIG_LV_USE_ARABIC_PERSIAN_CHARS is not set +# end of Text Settings + +# +# Widget usage +# +CONFIG_LV_USE_ARC=y +CONFIG_LV_USE_BAR=y +CONFIG_LV_USE_BTN=y +CONFIG_LV_USE_BTNMATRIX=y +CONFIG_LV_USE_CANVAS=y +CONFIG_LV_USE_CHECKBOX=y +CONFIG_LV_USE_DROPDOWN=y +CONFIG_LV_USE_IMG=y +CONFIG_LV_USE_LABEL=y +CONFIG_LV_LABEL_TEXT_SELECTION=y +CONFIG_LV_LABEL_LONG_TXT_HINT=y +CONFIG_LV_USE_LINE=y +CONFIG_LV_USE_ROLLER=y +CONFIG_LV_ROLLER_INF_PAGES=7 +CONFIG_LV_USE_SLIDER=y +CONFIG_LV_USE_SWITCH=y +CONFIG_LV_USE_TEXTAREA=y +CONFIG_LV_TEXTAREA_DEF_PWD_SHOW_TIME=1500 +CONFIG_LV_USE_TABLE=y +# end of Widget usage + +# +# Extra Widgets +# +CONFIG_LV_USE_ANIMIMG=y +CONFIG_LV_USE_CALENDAR=y +# CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY is not set +CONFIG_LV_USE_CALENDAR_HEADER_ARROW=y +CONFIG_LV_USE_CALENDAR_HEADER_DROPDOWN=y +CONFIG_LV_USE_CHART=y +CONFIG_LV_USE_COLORWHEEL=y +CONFIG_LV_USE_IMGBTN=y +CONFIG_LV_USE_KEYBOARD=y +CONFIG_LV_USE_LED=y +CONFIG_LV_USE_LIST=y +CONFIG_LV_USE_MENU=y +CONFIG_LV_USE_METER=y +CONFIG_LV_USE_MSGBOX=y +CONFIG_LV_USE_SPAN=y +CONFIG_LV_SPAN_SNIPPET_STACK_SIZE=64 +CONFIG_LV_USE_SPINBOX=y +CONFIG_LV_USE_SPINNER=y +CONFIG_LV_USE_TABVIEW=y +CONFIG_LV_USE_TILEVIEW=y +CONFIG_LV_USE_WIN=y +# end of Extra Widgets + +# +# Themes +# +CONFIG_LV_USE_THEME_DEFAULT=y +# CONFIG_LV_THEME_DEFAULT_DARK is not set +CONFIG_LV_THEME_DEFAULT_GROW=y +CONFIG_LV_THEME_DEFAULT_TRANSITION_TIME=80 +CONFIG_LV_USE_THEME_BASIC=y +# CONFIG_LV_USE_THEME_MONO is not set +# end of Themes + +# +# Layouts +# +CONFIG_LV_USE_FLEX=y +CONFIG_LV_USE_GRID=y +# end of Layouts + +# +# 3rd Party Libraries +# +# CONFIG_LV_USE_FS_STDIO is not set +# CONFIG_LV_USE_FS_POSIX is not set +# CONFIG_LV_USE_FS_WIN32 is not set +# CONFIG_LV_USE_FS_FATFS is not set +# CONFIG_LV_USE_FS_LITTLEFS is not set +# CONFIG_LV_USE_PNG is not set +# CONFIG_LV_USE_BMP is not set +# CONFIG_LV_USE_SJPG is not set +# CONFIG_LV_USE_GIF is not set +# CONFIG_LV_USE_QRCODE is not set +# CONFIG_LV_USE_FREETYPE is not set +# CONFIG_LV_USE_TINY_TTF is not set +# CONFIG_LV_USE_RLOTTIE is not set +# CONFIG_LV_USE_FFMPEG is not set +# end of 3rd Party Libraries + +# +# Others +# +CONFIG_LV_USE_SNAPSHOT=y +# CONFIG_LV_USE_MONKEY is not set +# CONFIG_LV_USE_GRIDNAV is not set +# CONFIG_LV_USE_FRAGMENT is not set +# CONFIG_LV_USE_IMGFONT is not set +# CONFIG_LV_USE_MSG is not set +# CONFIG_LV_USE_IME_PINYIN is not set +# end of Others + +# +# Examples +# +CONFIG_LV_BUILD_EXAMPLES=y +# end of Examples + +# +# Demos +# +# CONFIG_LV_USE_DEMO_WIDGETS is not set +# CONFIG_LV_USE_DEMO_KEYPAD_AND_ENCODER is not set +# CONFIG_LV_USE_DEMO_BENCHMARK is not set +# CONFIG_LV_USE_DEMO_STRESS is not set +# CONFIG_LV_USE_DEMO_MUSIC is not set +# end of Demos +# end of LVGL configuration + +# +# LVGL ESP Drivers +# + +# +# LVGL TFT Display controller +# +CONFIG_LV_PREDEFINED_DISPLAY_NONE=y +# CONFIG_LV_PREDEFINED_DISPLAY_WROVER4 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STACK is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5CORE2 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STICK is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STICKC is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ERTFT0356 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ADA_FEATHERWING is not set +# CONFIG_LV_PREDEFINED_DISPLAY_RPI_MPI3501 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_WEMOS_LOLIN is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ATAG is not set +# CONFIG_LV_PREDEFINED_DISPLAY_RPI_RA8875 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_TTGO is not set +# CONFIG_LV_PREDEFINED_DISPLAY_TTGO_CAMERA_PLUS is not set +# CONFIG_LV_PREDEFINED_DISPLAY_WT32_SC01 is not set +CONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9341=y +CONFIG_LV_TFT_DISPLAY_PROTOCOL_SPI=y +CONFIG_LV_HOR_RES_MAX=128 +CONFIG_LV_VER_RES_MAX=64 +CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT=y +# CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT_INVERTED is not set +# CONFIG_LV_DISPLAY_ORIENTATION_LANDSCAPE is not set +# CONFIG_LV_DISPLAY_ORIENTATION_LANDSCAPE_INVERTED is not set +CONFIG_LV_DISPLAY_ORIENTATION=0 +CONFIG_LV_PREDEFINED_PINS_NONE=y +# CONFIG_LV_PREDEFINED_PINS_38V4 is not set +# CONFIG_LV_PREDEFINED_PINS_30 is not set +# CONFIG_LV_PREDEFINED_PINS_38V1 is not set +# CONFIG_LV_PREDEFINED_PINS_TKOALA is not set +CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9341=y +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9481 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9486 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9488 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7789 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7796S is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_GC9A01 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7735S is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_HX8357 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SH1107 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SSD1306 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_FT81X is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_IL3820 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_JD79653A is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_UC8151D is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_RA8875 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9163C is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_PCD8544 is not set +# CONFIG_CUSTOM_DISPLAY_BUFFER_SIZE is not set +CONFIG_LV_TFT_DISPLAY_SPI2_HOST=y +# CONFIG_LV_TFT_DISPLAY_SPI3_HOST is not set +CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_SIO=y +# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_DIO is not set +# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_QIO is not set +CONFIG_LV_TFT_DISPLAY_SPI_HALF_DUPLEX=y +# CONFIG_LV_TFT_DISPLAY_SPI_FULL_DUPLEX is not set +# CONFIG_LV_TFT_USE_CUSTOM_SPI_CLK_DIVIDER is not set +CONFIG_LV_TFT_CUSTOM_SPI_CLK_DIVIDER=2 +# CONFIG_LV_INVERT_COLORS is not set + +# +# Display Pin Assignments +# +CONFIG_LV_DISP_SPI_MOSI=13 +# CONFIG_LV_DISPLAY_USE_SPI_MISO is not set +CONFIG_LV_DISP_SPI_CLK=14 +CONFIG_LV_DISPLAY_USE_SPI_CS=y +CONFIG_LV_DISP_SPI_CS=15 +CONFIG_LV_DISPLAY_USE_DC=y +CONFIG_LV_DISP_PIN_DC=2 +CONFIG_LV_DISP_USE_RST=y +CONFIG_LV_DISP_PIN_RST=4 +# end of Display Pin Assignments + +# CONFIG_LV_DISP_BACKLIGHT_OFF is not set +CONFIG_LV_DISP_BACKLIGHT_SWITCH=y +# CONFIG_LV_DISP_BACKLIGHT_PWM is not set +# CONFIG_LV_BACKLIGHT_ACTIVE_LVL is not set +CONFIG_LV_DISP_PIN_BCKL=-1 +CONFIG_LV_I2C_DISPLAY_PORT=0 +# end of LVGL TFT Display controller + +# +# LVGL Touch controller +# +CONFIG_LV_TOUCH_CONTROLLER=0 +CONFIG_LV_TOUCH_CONTROLLER_NONE=y +# CONFIG_LV_TOUCH_CONTROLLER_XPT2046 is not set +# CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set +# CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set +# CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set +# CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set +# CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set +# CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set +CONFIG_LV_I2C_TOUCH_PORT=0 +# end of LVGL Touch controller +# end of LVGL ESP Drivers + +# +# mDNS +# +CONFIG_MDNS_MAX_INTERFACES=3 +CONFIG_MDNS_MAX_SERVICES=10 +CONFIG_MDNS_TASK_PRIORITY=1 +CONFIG_MDNS_ACTION_QUEUE_LEN=16 +CONFIG_MDNS_TASK_STACK_SIZE=4096 +# CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_MDNS_TASK_AFFINITY_CPU0=y +CONFIG_MDNS_TASK_AFFINITY=0x0 +CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000 +CONFIG_MDNS_TIMER_PERIOD_MS=100 +# CONFIG_MDNS_NETWORKING_SOCKET is not set +# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set +# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set +CONFIG_MDNS_ENABLE_CONSOLE_CLI=y +# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set +CONFIG_MDNS_MULTIPLE_INSTANCE=y + +# +# MDNS Predefined interfaces +# +CONFIG_MDNS_PREDEF_NETIF_STA=y +CONFIG_MDNS_PREDEF_NETIF_AP=y +CONFIG_MDNS_PREDEF_NETIF_ETH=y +# end of MDNS Predefined interfaces +# end of mDNS +# end of Component config + +# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set + +# Deprecated options for backward compatibility +# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set +# CONFIG_NO_BLOBS is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set +CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y +# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set +CONFIG_LOG_BOOTLOADER_LEVEL=3 +# CONFIG_APP_ROLLBACK_ENABLE is not set +# CONFIG_FLASH_ENCRYPTION_ENABLED is not set +# CONFIG_FLASHMODE_QIO is not set +# CONFIG_FLASHMODE_QOUT is not set +CONFIG_FLASHMODE_DIO=y +# CONFIG_FLASHMODE_DOUT is not set +CONFIG_MONITOR_BAUD=115200 +# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set +CONFIG_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_CXX_EXCEPTIONS is not set +CONFIG_STACK_CHECK_NONE=y +# CONFIG_STACK_CHECK_NORM is not set +# CONFIG_STACK_CHECK_STRONG is not set +# CONFIG_STACK_CHECK_ALL is not set +# CONFIG_WARN_WRITE_STRINGS is not set +# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set +CONFIG_ESP32_APPTRACE_DEST_NONE=y +CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y +# CONFIG_BLUEDROID_ENABLED is not set +CONFIG_NIMBLE_ENABLED=y +CONFIG_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y +# CONFIG_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set +CONFIG_NIMBLE_MAX_CONNECTIONS=3 +CONFIG_NIMBLE_MAX_BONDS=3 +CONFIG_NIMBLE_MAX_CCCDS=8 +CONFIG_NIMBLE_L2CAP_COC_MAX_NUM=0 +CONFIG_NIMBLE_PINNED_TO_CORE=0 +CONFIG_NIMBLE_TASK_STACK_SIZE=4096 +CONFIG_BT_NIMBLE_TASK_STACK_SIZE=4096 +CONFIG_NIMBLE_ROLE_CENTRAL=y +CONFIG_NIMBLE_ROLE_PERIPHERAL=y +CONFIG_NIMBLE_ROLE_BROADCASTER=y +CONFIG_NIMBLE_ROLE_OBSERVER=y +# CONFIG_NIMBLE_NVS_PERSIST is not set +CONFIG_NIMBLE_SM_LEGACY=y +CONFIG_NIMBLE_SM_SC=y +# CONFIG_NIMBLE_SM_SC_DEBUG_KEYS is not set +CONFIG_BT_NIMBLE_SM_SC_LVL=0 +# CONFIG_NIMBLE_DEBUG is not set +CONFIG_NIMBLE_SVC_GAP_DEVICE_NAME="nimble" +CONFIG_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31 +CONFIG_NIMBLE_ATT_PREFERRED_MTU=256 +CONFIG_NIMBLE_SVC_GAP_APPEARANCE=0 +CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT=24 +CONFIG_BT_NIMBLE_ACL_BUF_COUNT=24 +CONFIG_BT_NIMBLE_ACL_BUF_SIZE=255 +CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE=70 +CONFIG_BT_NIMBLE_HCI_EVT_HI_BUF_COUNT=30 +CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT=8 +# CONFIG_NIMBLE_HS_FLOW_CTRL is not set +CONFIG_NIMBLE_RPA_TIMEOUT=900 +# CONFIG_NIMBLE_MESH is not set +CONFIG_NIMBLE_CRYPTO_STACK_MBEDTLS=y +# CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_EN is not set +CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_DIS=y +CONFIG_SW_COEXIST_ENABLE=y +CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y +CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y +# CONFIG_MCPWM_ISR_IN_IRAM is not set +# CONFIG_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +CONFIG_GDBSTUB_SUPPORT_TASKS=y +CONFIG_GDBSTUB_MAX_TASKS=32 +# CONFIG_OTA_ALLOW_HTTP is not set +# CONFIG_ESP_SYSTEM_PD_FLASH is not set +CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP32_PHY_MAX_TX_POWER=20 +# CONFIG_REDUCE_PHY_TX_POWER is not set +# CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set +CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y +CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=3584 +CONFIG_CONSOLE_UART_DEFAULT=y +# CONFIG_CONSOLE_UART_CUSTOM is not set +# CONFIG_CONSOLE_UART_NONE is not set +# CONFIG_ESP_CONSOLE_UART_NONE is not set +CONFIG_CONSOLE_UART=y +CONFIG_CONSOLE_UART_NUM=0 +CONFIG_CONSOLE_UART_BAUDRATE=115200 +CONFIG_INT_WDT=y +CONFIG_INT_WDT_TIMEOUT_MS=300 +CONFIG_TASK_WDT=y +CONFIG_ESP_TASK_WDT=y +# CONFIG_TASK_WDT_PANIC is not set +CONFIG_TASK_WDT_TIMEOUT_S=5 +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_BROWNOUT_DET=y +CONFIG_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +CONFIG_BROWNOUT_DET_LVL=7 +CONFIG_IPC_TASK_STACK_SIZE=1024 +CONFIG_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP32_WIFI_ENABLED=y +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_CSI_ENABLED is not set +CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP32_WIFI_TX_BA_WIN=6 +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_NVS_ENABLED=y +CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 +CONFIG_ESP32_WIFI_IRAM_OPT=y +CONFIG_ESP32_WIFI_RX_IRAM_OPT=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y +CONFIG_WPA_MBEDTLS_CRYPTO=y +CONFIG_WPA_MBEDTLS_TLS_CLIENT=y +# CONFIG_WPA_WAPI_PSK is not set +# CONFIG_WPA_SUITE_B_192 is not set +# CONFIG_WPA_11KV_SUPPORT is not set +# CONFIG_WPA_MBO_SUPPORT is not set +# CONFIG_WPA_DPP_SUPPORT is not set +# CONFIG_WPA_11R_SUPPORT is not set +# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set +# CONFIG_WPA_WPS_STRICT is not set +# CONFIG_WPA_DEBUG_PRINT is not set +# CONFIG_WPA_TESTING_OPTIONS is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set +CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y +CONFIG_TIMER_TASK_PRIORITY=1 +CONFIG_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_TIMER_QUEUE_LENGTH=10 +# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set +# CONFIG_L2_TO_L3_COPY is not set +CONFIG_ESP_GRATUITOUS_ARP=y +CONFIG_GARP_TMR_INTERVAL=60 +CONFIG_TCPIP_RECVMBOX_SIZE=32 +CONFIG_TCP_MAXRTX=12 +CONFIG_TCP_SYNMAXRTX=12 +CONFIG_TCP_MSS=1440 +CONFIG_TCP_MSL=60000 +CONFIG_TCP_SND_BUF_DEFAULT=5760 +CONFIG_TCP_WND_DEFAULT=5760 +CONFIG_TCP_RECVMBOX_SIZE=6 +CONFIG_TCP_QUEUE_OOSEQ=y +CONFIG_TCP_OVERSIZE_MSS=y +# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_TCP_OVERSIZE_DISABLE is not set +CONFIG_UDP_RECVMBOX_SIZE=6 +CONFIG_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set +CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_PPP_SUPPORT is not set +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_ESP32_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y +CONFIG_SUPPORT_TERMIOS=y +CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# End of deprecated options diff --git a/configs/sdkconfig.default.esp32s2 b/configs/sdkconfig.default.esp32s2 new file mode 100644 index 00000000..8bad3514 --- /dev/null +++ b/configs/sdkconfig.default.esp32s2 @@ -0,0 +1,2528 @@ +# +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Configuration +# +CONFIG_SOC_ADC_SUPPORTED=y +CONFIG_SOC_DAC_SUPPORTED=y +CONFIG_SOC_UART_SUPPORTED=y +CONFIG_SOC_TWAI_SUPPORTED=y +CONFIG_SOC_CP_DMA_SUPPORTED=y +CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y +CONFIG_SOC_GPTIMER_SUPPORTED=y +CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y +CONFIG_SOC_ULP_FSM_SUPPORTED=y +CONFIG_SOC_RISCV_COPROC_SUPPORTED=y +CONFIG_SOC_USB_OTG_SUPPORTED=y +CONFIG_SOC_PCNT_SUPPORTED=y +CONFIG_SOC_PHY_SUPPORTED=y +CONFIG_SOC_WIFI_SUPPORTED=y +CONFIG_SOC_ULP_SUPPORTED=y +CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y +CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y +CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y +CONFIG_SOC_EFUSE_SUPPORTED=y +CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y +CONFIG_SOC_CACHE_SUPPORT_WRAP=y +CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y +CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y +CONFIG_SOC_RTC_MEM_SUPPORTED=y +CONFIG_SOC_PSRAM_DMA_CAPABLE=y +CONFIG_SOC_XT_WDT_SUPPORTED=y +CONFIG_SOC_I2S_SUPPORTED=y +CONFIG_SOC_RMT_SUPPORTED=y +CONFIG_SOC_SDM_SUPPORTED=y +CONFIG_SOC_GPSPI_SUPPORTED=y +CONFIG_SOC_LEDC_SUPPORTED=y +CONFIG_SOC_I2C_SUPPORTED=y +CONFIG_SOC_SYSTIMER_SUPPORTED=y +CONFIG_SOC_AES_SUPPORTED=y +CONFIG_SOC_MPI_SUPPORTED=y +CONFIG_SOC_SHA_SUPPORTED=y +CONFIG_SOC_HMAC_SUPPORTED=y +CONFIG_SOC_DIG_SIGN_SUPPORTED=y +CONFIG_SOC_FLASH_ENC_SUPPORTED=y +CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +CONFIG_SOC_MEMPROT_SUPPORTED=y +CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y +CONFIG_SOC_BOD_SUPPORTED=y +CONFIG_SOC_CLK_TREE_SUPPORTED=y +CONFIG_SOC_MPU_SUPPORTED=y +CONFIG_SOC_WDT_SUPPORTED=y +CONFIG_SOC_SPI_FLASH_SUPPORTED=y +CONFIG_SOC_RNG_SUPPORTED=y +CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y +CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y +CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y +CONFIG_SOC_PM_SUPPORTED=y +CONFIG_SOC_XTAL_SUPPORT_40M=y +CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y +CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +CONFIG_SOC_ADC_ARBITER_SUPPORTED=y +CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y +CONFIG_SOC_ADC_DIG_IIR_FILTER_UNIT_BINDED=y +CONFIG_SOC_ADC_MONITOR_SUPPORTED=y +CONFIG_SOC_ADC_DMA_SUPPORTED=y +CONFIG_SOC_ADC_PERIPH_NUM=2 +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 +CONFIG_SOC_ADC_ATTEN_NUM=4 +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 +CONFIG_SOC_ADC_PATT_LEN_MAX=32 +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2 +CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=2 +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=13 +CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=13 +CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y +CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y +CONFIG_SOC_ADC_SHARED_POWER=y +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y +CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y +CONFIG_SOC_CP_DMA_MAX_BUFFER_SIZE=4095 +CONFIG_SOC_CPU_CORES_NUM=1 +CONFIG_SOC_CPU_INTR_NUM=32 +CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 +CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64 +CONFIG_SOC_DAC_CHAN_NUM=2 +CONFIG_SOC_DAC_RESOLUTION=8 +CONFIG_SOC_GPIO_PORT=1 +CONFIG_SOC_GPIO_PIN_COUNT=47 +CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y +CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y +CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y +CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y +CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x7FFFFFFFFFFF +CONFIG_SOC_GPIO_IN_RANGE_MAX=46 +CONFIG_SOC_GPIO_OUT_RANGE_MAX=45 +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x00007FFFFC000000 +CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y +CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_GPIO_ALLOW_REG_ACCESS=y +CONFIG_SOC_DEDIC_GPIO_HAS_INTERRUPT=y +CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y +CONFIG_SOC_I2C_NUM=2 +CONFIG_SOC_HP_I2C_NUM=2 +CONFIG_SOC_I2C_FIFO_LEN=32 +CONFIG_SOC_I2C_CMD_REG_NUM=16 +CONFIG_SOC_I2C_SUPPORT_SLAVE=y +CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y +CONFIG_SOC_I2C_SUPPORT_REF_TICK=y +CONFIG_SOC_I2C_SUPPORT_APB=y +CONFIG_SOC_I2S_NUM=1 +CONFIG_SOC_I2S_HW_VERSION_1=y +CONFIG_SOC_I2S_SUPPORTS_APLL=y +CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y +CONFIG_SOC_I2S_SUPPORTS_DMA_EQUAL=y +CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y +CONFIG_SOC_I2S_APLL_MIN_FREQ=250000000 +CONFIG_SOC_I2S_APLL_MAX_FREQ=500000000 +CONFIG_SOC_I2S_APLL_MIN_RATE=10675 +CONFIG_SOC_I2S_LCD_I80_VARIANT=y +CONFIG_SOC_LCD_I80_SUPPORTED=y +CONFIG_SOC_LCD_I80_BUSES=1 +CONFIG_SOC_LCD_I80_BUS_WIDTH=24 +CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y +CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y +CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y +CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y +CONFIG_SOC_LEDC_CHANNEL_NUM=8 +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 +CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=5 +CONFIG_SOC_MMU_PERIPH_NUM=1 +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +CONFIG_SOC_PCNT_GROUPS=1 +CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 +CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 +CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 +CONFIG_SOC_RMT_GROUPS=1 +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4 +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4 +CONFIG_SOC_RMT_CHANNELS_PER_GROUP=4 +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64 +CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y +CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y +CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y +CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y +CONFIG_SOC_RMT_SUPPORT_REF_TICK=y +CONFIG_SOC_RMT_SUPPORT_APB=y +CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y +CONFIG_SOC_RTCIO_PIN_COUNT=22 +CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y +CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y +CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y +CONFIG_SOC_SDM_GROUPS=1 +CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 +CONFIG_SOC_SDM_CLK_SUPPORT_APB=y +CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y +CONFIG_SOC_SPI_PERIPH_NUM=3 +CONFIG_SOC_SPI_DMA_CHAN_NUM=3 +CONFIG_SOC_SPI_MAX_CS_NUM=6 +CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=72 +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192 +CONFIG_SOC_SPI_SUPPORT_DDRCLK=y +CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y +CONFIG_SOC_SPI_SUPPORT_CD_SIG=y +CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y +CONFIG_SOC_SPI_SUPPORT_CLK_APB=y +CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y +CONFIG_SOC_SPI_SUPPORT_OCT=y +CONFIG_SOC_SPI_SCT_SUPPORTED=y +CONFIG_SOC_SPI_SCT_REG_NUM=27 +CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y +CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x7FFFFD +CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y +CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y +CONFIG_SOC_SYSTIMER_COUNTER_NUM=y +CONFIG_SOC_SYSTIMER_ALARM_NUM=3 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=32 +CONFIG_SOC_TIMER_GROUPS=2 +CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 +CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64 +CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y +CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +CONFIG_SOC_TOUCH_SENSOR_VERSION=2 +CONFIG_SOC_TOUCH_SENSOR_NUM=15 +CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y +CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y +CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y +CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3 +CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 +CONFIG_SOC_TWAI_CONTROLLER_NUM=1 +CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y +CONFIG_SOC_TWAI_BRP_MIN=2 +CONFIG_SOC_TWAI_BRP_MAX=32768 +CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y +CONFIG_SOC_UART_NUM=2 +CONFIG_SOC_UART_HP_NUM=2 +CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y +CONFIG_SOC_UART_SUPPORT_APB_CLK=y +CONFIG_SOC_UART_SUPPORT_REF_TICK=y +CONFIG_SOC_UART_FIFO_LEN=128 +CONFIG_SOC_UART_BITRATE_MAX=5000000 +CONFIG_SOC_SPIRAM_SUPPORTED=y +CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y +CONFIG_SOC_USB_OTG_PERIPH_NUM=1 +CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 +CONFIG_SOC_SHA_SUPPORT_DMA=y +CONFIG_SOC_SHA_SUPPORT_RESUME=y +CONFIG_SOC_SHA_CRYPTO_DMA=y +CONFIG_SOC_SHA_SUPPORT_SHA1=y +CONFIG_SOC_SHA_SUPPORT_SHA224=y +CONFIG_SOC_SHA_SUPPORT_SHA256=y +CONFIG_SOC_SHA_SUPPORT_SHA384=y +CONFIG_SOC_SHA_SUPPORT_SHA512=y +CONFIG_SOC_SHA_SUPPORT_SHA512_224=y +CONFIG_SOC_SHA_SUPPORT_SHA512_256=y +CONFIG_SOC_SHA_SUPPORT_SHA512_T=y +CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 +CONFIG_SOC_MPI_OPERATIONS_NUM=3 +CONFIG_SOC_RSA_MAX_BIT_LEN=4096 +CONFIG_SOC_AES_SUPPORT_DMA=y +CONFIG_SOC_AES_SUPPORT_GCM=y +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y +CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y +CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_BOOT_REMAP=y +CONFIG_SOC_EFUSE_DIS_LEGACY_SPI_BOOT=y +CONFIG_SOC_EFUSE_DIS_ICACHE=y +CONFIG_SOC_SECURE_BOOT_V2_RSA=y +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 +CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y +CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y +CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 +CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=4 +CONFIG_SOC_AES_CRYPTO_DMA=y +CONFIG_SOC_AES_SUPPORT_AES_128=y +CONFIG_SOC_AES_SUPPORT_AES_192=y +CONFIG_SOC_AES_SUPPORT_AES_256=y +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y +CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y +CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_WIFI_PD=y +CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y +CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y +CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y +CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y +CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y +CONFIG_SOC_CLK_APLL_SUPPORTED=y +CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y +CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y +CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y +CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y +CONFIG_SOC_COEX_HW_PTI=y +CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y +CONFIG_SOC_WIFI_HW_TSF=y +CONFIG_SOC_WIFI_FTM_SUPPORT=y +CONFIG_SOC_WIFI_WAPI_SUPPORT=y +CONFIG_SOC_WIFI_CSI_SUPPORT=y +CONFIG_SOC_WIFI_MESH_SUPPORT=y +CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y +CONFIG_SOC_WIFI_NAN_SUPPORT=y +CONFIG_SOC_ULP_HAS_ADC=y +CONFIG_IDF_CMAKE=y +CONFIG_IDF_TOOLCHAIN="gcc" +CONFIG_IDF_TARGET_ARCH_XTENSA=y +CONFIG_IDF_TARGET_ARCH="xtensa" +CONFIG_IDF_TARGET="esp32s2" +CONFIG_IDF_INIT_VERSION="5.3.1" +CONFIG_IDF_TARGET_ESP32S2=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0002 + +# +# Build type +# +CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y +# CONFIG_APP_BUILD_TYPE_RAM is not set +CONFIG_APP_BUILD_GENERATE_BINARIES=y +CONFIG_APP_BUILD_BOOTLOADER=y +CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y +# CONFIG_APP_REPRODUCIBLE_BUILD is not set +# CONFIG_APP_NO_BLOBS is not set +# end of Build type + +# +# Bootloader config +# + +# +# Bootloader manager +# +CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y +CONFIG_BOOTLOADER_PROJECT_VER=1 +# end of Bootloader manager + +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000 +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set +CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y +# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set +CONFIG_BOOTLOADER_LOG_LEVEL=3 + +# +# Serial Flash Configurations +# +# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set +CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y +# end of Serial Flash Configurations + +CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y +# CONFIG_BOOTLOADER_FACTORY_RESET is not set +# CONFIG_BOOTLOADER_APP_TEST is not set +CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y +CONFIG_BOOTLOADER_WDT_ENABLE=y +# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set +CONFIG_BOOTLOADER_WDT_TIME_MS=9000 +# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set +CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 +# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set +# end of Bootloader config + +# +# Security features +# +CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_PREFERRED=y +# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set +# CONFIG_SECURE_BOOT is not set +# CONFIG_SECURE_FLASH_ENC_ENABLED is not set +CONFIG_SECURE_ROM_DL_MODE_ENABLED=y +# end of Security features + +# +# Application manager +# +CONFIG_APP_COMPILE_TIME_DATE=y +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set +# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set +CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 +# end of Application manager + +CONFIG_ESP_ROM_HAS_CRC_LE=y +CONFIG_ESP_ROM_HAS_MZ_CRC32=y +CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y +CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +CONFIG_ESP_ROM_HAS_REGI2C_BUG=y +CONFIG_ESP_ROM_HAS_NEWLIB=y +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y +CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y +CONFIG_ESP_ROM_USB_OTG_NUM=3 +CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y +CONFIG_ESP_ROM_HAS_SW_FLOAT=y +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=-1 +CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y + +# +# Boot ROM Behavior +# +CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y +# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set +# end of Boot ROM Behavior + +# +# Serial flasher config +# +# CONFIG_ESPTOOLPY_NO_STUB is not set +CONFIG_ESPTOOLPY_FLASHMODE_QIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set +# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set +CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y +CONFIG_ESPTOOLPY_FLASHMODE="dio" +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y +CONFIG_ESPTOOLPY_FLASHFREQ="80m" +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" +# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set +CONFIG_ESPTOOLPY_BEFORE_RESET=y +# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set +CONFIG_ESPTOOLPY_BEFORE="default_reset" +CONFIG_ESPTOOLPY_AFTER_RESET=y +# CONFIG_ESPTOOLPY_AFTER_NORESET is not set +CONFIG_ESPTOOLPY_AFTER="hard_reset" +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +# end of Serial flasher config + +# +# Partition Table +# +# CONFIG_PARTITION_TABLE_SINGLE_APP is not set +# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +CONFIG_PARTITION_TABLE_MD5=y +# end of Partition Table + +# +# Compiler options +# +# CONFIG_COMPILER_OPTIMIZATION_DEBUG is not set +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +# CONFIG_COMPILER_OPTIMIZATION_PERF is not set +# CONFIG_COMPILER_OPTIMIZATION_NONE is not set +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set +CONFIG_COMPILER_HIDE_PATHS_MACROS=y +# CONFIG_COMPILER_CXX_EXCEPTIONS is not set +# CONFIG_COMPILER_CXX_RTTI is not set +CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y +# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set +# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set +# CONFIG_COMPILER_DUMP_RTL_FILES is not set +CONFIG_COMPILER_RT_LIB_GCCLIB=y +CONFIG_COMPILER_RT_LIB_NAME="gcc" +# CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING is not set +CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y +# end of Compiler options + +# +# Component config +# + +# +# Application Level Tracing +# +# CONFIG_APPTRACE_DEST_JTAG is not set +CONFIG_APPTRACE_DEST_NONE=y +# CONFIG_APPTRACE_DEST_UART1 is not set +CONFIG_APPTRACE_DEST_UART_NONE=y +CONFIG_APPTRACE_UART_TASK_PRIO=1 +CONFIG_APPTRACE_LOCK_ENABLE=y +# end of Application Level Tracing + +# +# Bluetooth +# +# CONFIG_BT_ENABLED is not set +CONFIG_BT_ALARM_MAX_NUM=50 +# end of Bluetooth + +# +# Console Library +# +# CONFIG_CONSOLE_SORTED_HELP is not set +# end of Console Library + +# +# Driver Configurations +# + +# +# TWAI Configuration +# +# CONFIG_TWAI_ISR_IN_IRAM is not set +CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y +# end of TWAI Configuration + +# +# Legacy ADC Driver Configuration +# +CONFIG_ADC_DISABLE_DAC=y +# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set + +# +# Legacy ADC Calibration Configuration +# +# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy ADC Calibration Configuration +# end of Legacy ADC Driver Configuration + +# +# Legacy DAC Driver Configurations +# +# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy DAC Driver Configurations + +# +# Legacy Timer Group Driver Configurations +# +# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy Timer Group Driver Configurations + +# +# Legacy RMT Driver Configurations +# +# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy RMT Driver Configurations + +# +# Legacy I2S Driver Configurations +# +# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy I2S Driver Configurations + +# +# Legacy PCNT Driver Configurations +# +# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy PCNT Driver Configurations + +# +# Legacy SDM Driver Configurations +# +# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy SDM Driver Configurations + +# +# Legacy Temperature Sensor Driver Configurations +# +# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy Temperature Sensor Driver Configurations +# end of Driver Configurations + +# +# eFuse Bit Manager +# +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# CONFIG_EFUSE_VIRTUAL is not set +CONFIG_EFUSE_MAX_BLK_LEN=256 +# end of eFuse Bit Manager + +# +# ESP-TLS +# +CONFIG_ESP_TLS_USING_MBEDTLS=y +CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y +# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set +# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set +# CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set +# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set +# CONFIG_ESP_TLS_PSK_VERIFICATION is not set +# CONFIG_ESP_TLS_INSECURE is not set +# end of ESP-TLS + +# +# ADC and ADC Calibration +# +# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set +# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set +CONFIG_ADC_DISABLE_DAC_OUTPUT=y +# CONFIG_ADC_ENABLE_DEBUG_LOG is not set +# end of ADC and ADC Calibration + +# +# Wireless Coexistence +# +CONFIG_ESP_COEX_ENABLED=y +# CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE is not set +# end of Wireless Coexistence + +# +# Common ESP-related +# +CONFIG_ESP_ERR_TO_NAME_LOOKUP=y +# end of Common ESP-related + +# +# ESP-Driver:DAC Configurations +# +# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set +# CONFIG_DAC_ISR_IRAM_SAFE is not set +# CONFIG_DAC_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:DAC Configurations + +# +# ESP-Driver:GPIO Configurations +# +# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:GPIO Configurations + +# +# ESP-Driver:GPTimer Configurations +# +CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y +# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set +# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set +# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:GPTimer Configurations + +# +# ESP-Driver:I2C Configurations +# +# CONFIG_I2C_ISR_IRAM_SAFE is not set +# CONFIG_I2C_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2C Configurations + +# +# ESP-Driver:I2S Configurations +# +# CONFIG_I2S_ISR_IRAM_SAFE is not set +# CONFIG_I2S_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2S Configurations + +# +# ESP-Driver:LEDC Configurations +# +# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:LEDC Configurations + +# +# ESP-Driver:PCNT Configurations +# +# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set +# CONFIG_PCNT_ISR_IRAM_SAFE is not set +# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:PCNT Configurations + +# +# ESP-Driver:RMT Configurations +# +# CONFIG_RMT_ISR_IRAM_SAFE is not set +# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set +# CONFIG_RMT_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:RMT Configurations + +# +# ESP-Driver:Sigma Delta Modulator Configurations +# +# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set +# CONFIG_SDM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Sigma Delta Modulator Configurations + +# +# ESP-Driver:SPI Configurations +# +CONFIG_SPI_MASTER_ISR_IN_IRAM=y +# CONFIG_SPI_SLAVE_IN_IRAM is not set +CONFIG_SPI_SLAVE_ISR_IN_IRAM=y +# end of ESP-Driver:SPI Configurations + +# +# ESP-Driver:Touch Sensor Configurations +# +# CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set +# CONFIG_TOUCH_ISR_IRAM_SAFE is not set +# CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Touch Sensor Configurations + +# +# ESP-Driver:Temperature Sensor Configurations +# +# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Temperature Sensor Configurations + +# +# ESP-Driver:UART Configurations +# +# CONFIG_UART_ISR_IN_IRAM is not set +# end of ESP-Driver:UART Configurations + +# +# Ethernet +# +CONFIG_ETH_ENABLED=y +CONFIG_ETH_USE_SPI_ETHERNET=y +# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set +# CONFIG_ETH_SPI_ETHERNET_W5500 is not set +# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set +# CONFIG_ETH_USE_OPENETH is not set +# CONFIG_ETH_TRANSMIT_MUTEX is not set +# end of Ethernet + +# +# Event Loop Library +# +# CONFIG_ESP_EVENT_LOOP_PROFILING is not set +CONFIG_ESP_EVENT_POST_FROM_ISR=y +CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y +# end of Event Loop Library + +# +# GDB Stub +# +CONFIG_ESP_GDBSTUB_ENABLED=y +# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y +CONFIG_ESP_GDBSTUB_MAX_TASKS=32 +# end of GDB Stub + +# +# ESP HTTP client +# +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y +# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set +# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set +# CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set +# end of ESP HTTP client + +# +# HTTP Server +# +CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 +CONFIG_HTTPD_MAX_URI_LEN=512 +CONFIG_HTTPD_ERR_RESP_NO_DELAY=y +CONFIG_HTTPD_PURGE_BUF_LEN=32 +# CONFIG_HTTPD_LOG_PURGE_DATA is not set +# CONFIG_HTTPD_WS_SUPPORT is not set +# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set +# end of HTTP Server + +# +# ESP HTTPS OTA +# +# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set +# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set +# end of ESP HTTPS OTA + +# +# ESP HTTPS server +# +# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set +# end of ESP HTTPS server + +# +# Hardware Settings +# + +# +# Chip revision +# +CONFIG_ESP32S2_REV_MIN_0=y +# CONFIG_ESP32S2_REV_MIN_1 is not set +CONFIG_ESP32S2_REV_MIN_FULL=0 +CONFIG_ESP_REV_MIN_FULL=0 + +# +# Maximum Supported ESP32-S2 Revision (Rev v1.99) +# +CONFIG_ESP32S2_REV_MAX_FULL=199 +CONFIG_ESP_REV_MAX_FULL=199 +# end of Chip revision + +# +# MAC Config +# +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_TWO=y +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=2 +# CONFIG_ESP32S2_UNIVERSAL_MAC_ADDRESSES_ONE is not set +CONFIG_ESP32S2_UNIVERSAL_MAC_ADDRESSES_TWO=y +CONFIG_ESP32S2_UNIVERSAL_MAC_ADDRESSES=2 +# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set +# end of MAC Config + +# +# Sleep Config +# +# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set +CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set +CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y +CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y +CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0 +# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set +# CONFIG_ESP_SLEEP_DEBUG is not set +CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y +# end of Sleep Config + +# +# RTC Clock Config +# +CONFIG_RTC_CLK_SRC_INT_RC=y +# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_RTC_CLK_CAL_CYCLES=1024 +# end of RTC Clock Config + +# +# Peripheral Control +# +CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y +# end of Peripheral Control + +# +# Main XTAL Config +# +CONFIG_XTAL_FREQ_40=y +CONFIG_XTAL_FREQ=40 +# end of Main XTAL Config + +CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y +# end of Hardware Settings + +# +# LCD and Touch Panel +# + +# +# LCD Touch Drivers are maintained in the IDF Component Registry +# + +# +# LCD Peripheral Configuration +# +CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 +# CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# end of LCD Peripheral Configuration +# end of LCD and Touch Panel + +# +# ESP NETIF Adapter +# +CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 +CONFIG_ESP_NETIF_TCPIP_LWIP=y +# CONFIG_ESP_NETIF_LOOPBACK is not set +CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y +# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set +# CONFIG_ESP_NETIF_L2_TAP is not set +# CONFIG_ESP_NETIF_BRIDGE_EN is not set +# end of ESP NETIF Adapter + +# +# Partition API Configuration +# +# end of Partition API Configuration + +# +# PHY +# +CONFIG_ESP_PHY_ENABLED=y +CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP_PHY_MAX_TX_POWER=20 +# CONFIG_ESP_PHY_REDUCE_TX_POWER is not set +CONFIG_ESP_PHY_RF_CAL_PARTIAL=y +# CONFIG_ESP_PHY_RF_CAL_NONE is not set +# CONFIG_ESP_PHY_RF_CAL_FULL is not set +CONFIG_ESP_PHY_CALIBRATION_MODE=0 +# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set +# end of PHY + +# +# Power Management +# +# CONFIG_PM_ENABLE is not set +CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y +# end of Power Management + +# +# ESP PSRAM +# +# CONFIG_SPIRAM is not set +# end of ESP PSRAM + +# +# ESP Ringbuf +# +# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set +# end of ESP Ringbuf + +# +# ESP System Settings +# +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 + +# +# Cache config +# +CONFIG_ESP32S2_INSTRUCTION_CACHE_8KB=y +# CONFIG_ESP32S2_INSTRUCTION_CACHE_16KB is not set +# CONFIG_ESP32S2_INSTRUCTION_CACHE_LINE_16B is not set +CONFIG_ESP32S2_INSTRUCTION_CACHE_LINE_32B=y +# CONFIG_ESP32S2_DATA_CACHE_0KB is not set +CONFIG_ESP32S2_DATA_CACHE_8KB=y +# CONFIG_ESP32S2_DATA_CACHE_16KB is not set +# CONFIG_ESP32S2_DATA_CACHE_LINE_16B is not set +CONFIG_ESP32S2_DATA_CACHE_LINE_32B=y +# CONFIG_ESP32S2_INSTRUCTION_CACHE_WRAP is not set +# CONFIG_ESP32S2_DATA_CACHE_WRAP is not set +# end of Cache config + +# +# Memory +# +# CONFIG_ESP32S2_RTCDATA_IN_FAST_MEM is not set +# CONFIG_ESP32S2_USE_FIXED_STATIC_RAM_SIZE is not set +# end of Memory + +# +# Trace memory +# +# CONFIG_ESP32S2_TRAX is not set +CONFIG_ESP32S2_TRACEMEM_RESERVE_DRAM=0x0 +# end of Trace memory + +# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set +CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y +# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set +# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set +CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 +CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y +CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y +CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y + +# +# Memory protection +# +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y +# end of Memory protection + +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 +CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 +CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# CONFIG_ESP_CONSOLE_USB_CDC is not set +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# CONFIG_ESP_CONSOLE_NONE is not set +CONFIG_ESP_CONSOLE_UART=y +CONFIG_ESP_CONSOLE_UART_NUM=0 +CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 +CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 +# CONFIG_ESP_INT_WDT is not set +# CONFIG_ESP_TASK_WDT_EN is not set +# CONFIG_ESP_PANIC_HANDLER_IRAM is not set +# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP_DEBUG_OCDAWARE=y +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y + +# +# Brownout Detector +# +CONFIG_ESP_BROWNOUT_DET=y +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set +CONFIG_ESP_BROWNOUT_DET_LVL=7 +# end of Brownout Detector + +# CONFIG_ESP32S2_KEEP_USB_ALIVE is not set +CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +# end of ESP System Settings + +# +# IPC (Inter-Processor Call) +# +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +# end of IPC (Inter-Processor Call) + +# +# ESP Timer (High Resolution Timer) +# +# CONFIG_ESP_TIMER_PROFILING is not set +CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y +CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y +CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 +# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set +CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 +CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y +CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set +CONFIG_ESP_TIMER_IMPL_SYSTIMER=y +# end of ESP Timer (High Resolution Timer) + +# +# Wi-Fi +# +CONFIG_ESP_WIFI_ENABLED=y +CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y +# CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER is not set +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=16 +CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y +# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set +CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 +CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 +# CONFIG_ESP_WIFI_CSI_ENABLED is not set +CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP_WIFI_TX_BA_WIN=6 +CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP_WIFI_RX_BA_WIN=6 +CONFIG_ESP_WIFI_NVS_ENABLED=y +CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 +CONFIG_ESP_WIFI_IRAM_OPT=y +CONFIG_ESP_WIFI_EXTRA_IRAM_OPT=y +CONFIG_ESP_WIFI_RX_IRAM_OPT=y +CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP_WIFI_ENABLE_SAE_PK=y +CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y +CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y +CONFIG_ESP_WIFI_SLP_IRAM_OPT=y +CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 +CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 +CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 +# CONFIG_ESP_WIFI_FTM_ENABLE is not set +CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y +CONFIG_ESP_WIFI_GMAC_SUPPORT=y +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y +# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set +CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 +# CONFIG_ESP_WIFI_NAN_ENABLE is not set +CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y +CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y +# CONFIG_ESP_WIFI_EAP_TLS1_3 is not set +# CONFIG_ESP_WIFI_WAPI_PSK is not set +# CONFIG_ESP_WIFI_11KV_SUPPORT is not set +# CONFIG_ESP_WIFI_MBO_SUPPORT is not set +# CONFIG_ESP_WIFI_ENABLE_ROAMING_APP is not set +# CONFIG_ESP_WIFI_DPP_SUPPORT is not set +# CONFIG_ESP_WIFI_11R_SUPPORT is not set +# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set + +# +# WPS Configuration Options +# +# CONFIG_ESP_WIFI_WPS_STRICT is not set +# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set +# end of WPS Configuration Options + +# CONFIG_ESP_WIFI_DEBUG_PRINT is not set +# CONFIG_ESP_WIFI_TESTING_OPTIONS is not set +CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y +# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set +# end of Wi-Fi + +# +# Core dump +# +# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set +# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set +CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y +# end of Core dump + +# +# FAT Filesystem support +# +CONFIG_FATFS_VOLUME_COUNT=2 +# CONFIG_FATFS_LFN_NONE is not set +CONFIG_FATFS_LFN_HEAP=y +# CONFIG_FATFS_LFN_STACK is not set +# CONFIG_FATFS_SECTOR_512 is not set +CONFIG_FATFS_SECTOR_4096=y +# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set +CONFIG_FATFS_CODEPAGE_437=y +# CONFIG_FATFS_CODEPAGE_720 is not set +# CONFIG_FATFS_CODEPAGE_737 is not set +# CONFIG_FATFS_CODEPAGE_771 is not set +# CONFIG_FATFS_CODEPAGE_775 is not set +# CONFIG_FATFS_CODEPAGE_850 is not set +# CONFIG_FATFS_CODEPAGE_852 is not set +# CONFIG_FATFS_CODEPAGE_855 is not set +# CONFIG_FATFS_CODEPAGE_857 is not set +# CONFIG_FATFS_CODEPAGE_860 is not set +# CONFIG_FATFS_CODEPAGE_861 is not set +# CONFIG_FATFS_CODEPAGE_862 is not set +# CONFIG_FATFS_CODEPAGE_863 is not set +# CONFIG_FATFS_CODEPAGE_864 is not set +# CONFIG_FATFS_CODEPAGE_865 is not set +# CONFIG_FATFS_CODEPAGE_866 is not set +# CONFIG_FATFS_CODEPAGE_869 is not set +# CONFIG_FATFS_CODEPAGE_932 is not set +# CONFIG_FATFS_CODEPAGE_936 is not set +# CONFIG_FATFS_CODEPAGE_949 is not set +# CONFIG_FATFS_CODEPAGE_950 is not set +CONFIG_FATFS_CODEPAGE=437 +CONFIG_FATFS_MAX_LFN=255 +CONFIG_FATFS_API_ENCODING_ANSI_OEM=y +# CONFIG_FATFS_API_ENCODING_UTF_8 is not set +CONFIG_FATFS_FS_LOCK=0 +CONFIG_FATFS_TIMEOUT_MS=10000 +CONFIG_FATFS_PER_FILE_CACHE=y +# CONFIG_FATFS_USE_FASTSEEK is not set +CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 +# CONFIG_FATFS_IMMEDIATE_FSYNC is not set +# CONFIG_FATFS_USE_LABEL is not set +CONFIG_FATFS_LINK_LOCK=y +# end of FAT Filesystem support + +# +# FreeRTOS +# + +# +# Kernel +# +# CONFIG_FREERTOS_SMP is not set +CONFIG_FREERTOS_UNICORE=y +CONFIG_FREERTOS_HZ=1000 +CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 +# CONFIG_FREERTOS_USE_IDLE_HOOK is not set +# CONFIG_FREERTOS_USE_TICK_HOOK is not set +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set +CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set +CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y +CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set +# end of Kernel + +# +# Port +# +# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set +CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y +# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set +# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set +CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y +CONFIG_FREERTOS_ISR_STACKSIZE=1536 +CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y +CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y +CONFIG_FREERTOS_CORETIMER_0=y +# CONFIG_FREERTOS_CORETIMER_1 is not set +CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y +CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set +# end of Port + +CONFIG_FREERTOS_PORT=y +CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y +CONFIG_FREERTOS_DEBUG_OCDAWARE=y +CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y +CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y +CONFIG_FREERTOS_NUMBER_OF_CORES=1 +# end of FreeRTOS + +# +# Hardware Abstraction Layer (HAL) and Low Level (LL) +# +CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y +# CONFIG_HAL_ASSERTION_DISABLE is not set +# CONFIG_HAL_ASSERTION_SILENT is not set +# CONFIG_HAL_ASSERTION_ENABLE is not set +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y +CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y +# end of Hardware Abstraction Layer (HAL) and Low Level (LL) + +# +# Heap memory debugging +# +CONFIG_HEAP_POISONING_DISABLED=y +# CONFIG_HEAP_POISONING_LIGHT is not set +# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set +CONFIG_HEAP_TRACING_OFF=y +# CONFIG_HEAP_TRACING_STANDALONE is not set +# CONFIG_HEAP_TRACING_TOHOST is not set +# CONFIG_HEAP_USE_HOOKS is not set +# CONFIG_HEAP_TASK_TRACKING is not set +# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set +# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set +# end of Heap memory debugging + +# +# Log output +# +# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set +# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set +# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set +CONFIG_LOG_DEFAULT_LEVEL_INFO=y +# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set +# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set +CONFIG_LOG_DEFAULT_LEVEL=3 +CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y +# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set +CONFIG_LOG_MAXIMUM_LEVEL=3 +# CONFIG_LOG_MASTER_LEVEL is not set +CONFIG_LOG_COLORS=y +CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y +# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set +# end of Log output + +# +# LWIP +# +CONFIG_LWIP_ENABLE=y +CONFIG_LWIP_LOCAL_HOSTNAME="espressif" +# CONFIG_LWIP_NETIF_API is not set +CONFIG_LWIP_TCPIP_TASK_PRIO=18 +# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set +# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set +CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y +# CONFIG_LWIP_L2_TO_L3_COPY is not set +# CONFIG_LWIP_IRAM_OPTIMIZATION is not set +# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set +CONFIG_LWIP_TIMERS_ONDEMAND=y +CONFIG_LWIP_ND6=y +# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set +CONFIG_LWIP_MAX_SOCKETS=10 +# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set +# CONFIG_LWIP_SO_LINGER is not set +CONFIG_LWIP_SO_REUSE=y +CONFIG_LWIP_SO_REUSE_RXTOALL=y +# CONFIG_LWIP_SO_RCVBUF is not set +# CONFIG_LWIP_NETBUF_RECVINFO is not set +CONFIG_LWIP_IP_DEFAULT_TTL=64 +CONFIG_LWIP_IP4_FRAG=y +CONFIG_LWIP_IP6_FRAG=y +# CONFIG_LWIP_IP4_REASSEMBLY is not set +# CONFIG_LWIP_IP6_REASSEMBLY is not set +CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 +# CONFIG_LWIP_IP_FORWARD is not set +# CONFIG_LWIP_STATS is not set +CONFIG_LWIP_ESP_GRATUITOUS_ARP=y +CONFIG_LWIP_GARP_TMR_INTERVAL=60 +CONFIG_LWIP_ESP_MLDV6_REPORT=y +CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 +CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y +# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set +CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y +# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set +CONFIG_LWIP_DHCP_OPTIONS_LEN=68 +CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 +CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 + +# +# DHCP server +# +CONFIG_LWIP_DHCPS=y +CONFIG_LWIP_DHCPS_LEASE_UNIT=60 +CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 +CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y +# end of DHCP server + +# CONFIG_LWIP_AUTOIP is not set +CONFIG_LWIP_IPV4=y +CONFIG_LWIP_IPV6=y +# CONFIG_LWIP_IPV6_AUTOCONFIG is not set +CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 +# CONFIG_LWIP_IPV6_FORWARD is not set +# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set +CONFIG_LWIP_NETIF_LOOPBACK=y +CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 + +# +# TCP +# +CONFIG_LWIP_MAX_ACTIVE_TCP=16 +CONFIG_LWIP_MAX_LISTENING_TCP=16 +CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y +CONFIG_LWIP_TCP_MAXRTX=12 +CONFIG_LWIP_TCP_SYNMAXRTX=12 +CONFIG_LWIP_TCP_MSS=1440 +CONFIG_LWIP_TCP_TMR_INTERVAL=250 +CONFIG_LWIP_TCP_MSL=60000 +CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 +CONFIG_LWIP_TCP_WND_DEFAULT=5760 +CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 +CONFIG_LWIP_TCP_QUEUE_OOSEQ=y +CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 +CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 +# CONFIG_LWIP_TCP_SACK_OUT is not set +CONFIG_LWIP_TCP_OVERSIZE_MSS=y +# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set +CONFIG_LWIP_TCP_RTO_TIME=1500 +# end of TCP + +# +# UDP +# +CONFIG_LWIP_MAX_UDP_PCBS=16 +CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 +# end of UDP + +# +# Checksums +# +# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set +# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set +CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y +# end of Checksums + +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set +CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_LWIP_PPP_SUPPORT is not set +CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 +CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +# CONFIG_LWIP_SLIP_SUPPORT is not set + +# +# ICMP +# +CONFIG_LWIP_ICMP=y +# CONFIG_LWIP_MULTICAST_PING is not set +# CONFIG_LWIP_BROADCAST_PING is not set +# end of ICMP + +# +# LWIP RAW API +# +CONFIG_LWIP_MAX_RAW_PCBS=16 +# end of LWIP RAW API + +# +# SNTP +# +CONFIG_LWIP_SNTP_MAX_SERVERS=1 +# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set +CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 +CONFIG_LWIP_SNTP_STARTUP_DELAY=y +CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 +# end of SNTP + +# +# DNS +# +CONFIG_LWIP_DNS_MAX_SERVERS=3 +# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set +# end of DNS + +CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 +CONFIG_LWIP_ESP_LWIP_ASSERT=y + +# +# Hooks +# +# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set +CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y +# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set +CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y +# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set +# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set +CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y +# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set +# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set +CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set +CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set +CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y +# CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT is not set +# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set +# end of Hooks + +# CONFIG_LWIP_DEBUG is not set +# end of LWIP + +# +# mbedTLS +# +CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set +# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set +CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y +CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 +CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 +# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set +# CONFIG_MBEDTLS_DEBUG is not set + +# +# mbedTLS v3.x related +# +# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y +CONFIG_MBEDTLS_PKCS7_C=y +# end of mbedTLS v3.x related + +# +# Certificate Bundle +# +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set +# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 +# end of Certificate Bundle + +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +CONFIG_MBEDTLS_CMAC_C=y +CONFIG_MBEDTLS_HARDWARE_AES=y +CONFIG_MBEDTLS_AES_USE_INTERRUPT=y +CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 +CONFIG_MBEDTLS_HARDWARE_GCM=y +CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y +CONFIG_MBEDTLS_HARDWARE_MPI=y +CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y +CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y +CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 +CONFIG_MBEDTLS_HARDWARE_SHA=y +CONFIG_MBEDTLS_ROM_MD5=y +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set +CONFIG_MBEDTLS_HAVE_TIME=y +# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set +CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y +CONFIG_MBEDTLS_SHA512_C=y +CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y +# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set +# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set +# CONFIG_MBEDTLS_TLS_DISABLED is not set +CONFIG_MBEDTLS_TLS_SERVER=y +CONFIG_MBEDTLS_TLS_CLIENT=y +CONFIG_MBEDTLS_TLS_ENABLED=y + +# +# TLS Key Exchange Methods +# +# CONFIG_MBEDTLS_PSK_MODES is not set +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y +# end of TLS Key Exchange Methods + +CONFIG_MBEDTLS_SSL_RENEGOTIATION=y +CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +CONFIG_MBEDTLS_SSL_ALPN=y +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y + +# +# Symmetric Ciphers +# +CONFIG_MBEDTLS_AES_C=y +# CONFIG_MBEDTLS_CAMELLIA_C is not set +# CONFIG_MBEDTLS_DES_C is not set +# CONFIG_MBEDTLS_BLOWFISH_C is not set +# CONFIG_MBEDTLS_XTEA_C is not set +CONFIG_MBEDTLS_CCM_C=y +CONFIG_MBEDTLS_GCM_C=y +# CONFIG_MBEDTLS_NIST_KW_C is not set +# end of Symmetric Ciphers + +# CONFIG_MBEDTLS_RIPEMD160_C is not set + +# +# Certificates +# +CONFIG_MBEDTLS_PEM_PARSE_C=y +CONFIG_MBEDTLS_PEM_WRITE_C=y +CONFIG_MBEDTLS_X509_CRL_PARSE_C=y +CONFIG_MBEDTLS_X509_CSR_PARSE_C=y +# end of Certificates + +CONFIG_MBEDTLS_ECP_C=y +# CONFIG_MBEDTLS_DHM_C is not set +CONFIG_MBEDTLS_ECDH_C=y +CONFIG_MBEDTLS_ECDSA_C=y +# CONFIG_MBEDTLS_ECJPAKE_C is not set +CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y +CONFIG_MBEDTLS_ECP_NIST_OPTIM=y +CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM=y +# CONFIG_MBEDTLS_POLY1305_C is not set +# CONFIG_MBEDTLS_CHACHA20_C is not set +# CONFIG_MBEDTLS_HKDF_C is not set +# CONFIG_MBEDTLS_THREADING_C is not set +CONFIG_MBEDTLS_ERROR_STRINGS=y +# end of mbedTLS + +# +# ESP-MQTT Configurations +# +CONFIG_MQTT_PROTOCOL_311=y +# CONFIG_MQTT_PROTOCOL_5 is not set +CONFIG_MQTT_TRANSPORT_SSL=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y +# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set +# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set +# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set +# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set +# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set +# CONFIG_MQTT_CUSTOM_OUTBOX is not set +# end of ESP-MQTT Configurations + +# +# Newlib +# +CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set +CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y +# CONFIG_NEWLIB_NANO_FORMAT is not set +CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y +# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set +# end of Newlib + +# +# NVS +# +# CONFIG_NVS_ENCRYPTION is not set +# CONFIG_NVS_ASSERT_ERROR_CHECK is not set +# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set +# end of NVS + +# +# OpenThread +# +# CONFIG_OPENTHREAD_ENABLED is not set + +# +# Thread Operational Dataset +# +CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP" +CONFIG_OPENTHREAD_MESH_LOCAL_PREFIX="fd00:db8:a0:0::/64" +CONFIG_OPENTHREAD_NETWORK_CHANNEL=15 +CONFIG_OPENTHREAD_NETWORK_PANID=0x1234 +CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe" +CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff" +CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53" +# end of Thread Operational Dataset + +CONFIG_OPENTHREAD_XTAL_ACCURACY=130 +# CONFIG_OPENTHREAD_SPINEL_ONLY is not set +# CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE is not set + +# +# Thread Address Query Config +# +# end of Thread Address Query Config +# end of OpenThread + +# +# Protocomm +# +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y +# end of Protocomm + +# +# PThreads +# +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_PTHREAD_STACK_MIN=768 +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" +# end of PThreads + +# +# MMU Config +# +CONFIG_MMU_PAGE_SIZE_64KB=y +CONFIG_MMU_PAGE_MODE="64KB" +CONFIG_MMU_PAGE_SIZE=0x10000 +# end of MMU Config + +# +# Main Flash configuration +# + +# +# SPI Flash behavior when brownout +# +CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y +CONFIG_SPI_FLASH_BROWNOUT_RESET=y +# end of SPI Flash behavior when brownout + +# +# Optional and Experimental Features (READ DOCS FIRST) +# + +# +# Features here require specific hardware (READ DOCS FIRST!) +# +CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 +# end of Optional and Experimental Features (READ DOCS FIRST) +# end of Main Flash configuration + +# +# SPI Flash driver +# +# CONFIG_SPI_FLASH_VERIFY_WRITE is not set +# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y +CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 +CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 +CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 +# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set +# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set +# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set + +# +# Auto-detect flash chips +# +CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_TH_SUPPORTED=y +# CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_GD_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set +# end of Auto-detect flash chips + +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y +# end of SPI Flash driver + +# +# SPIFFS Configuration +# +CONFIG_SPIFFS_MAX_PARTITIONS=3 + +# +# SPIFFS Cache Configuration +# +CONFIG_SPIFFS_CACHE=y +CONFIG_SPIFFS_CACHE_WR=y +# CONFIG_SPIFFS_CACHE_STATS is not set +# end of SPIFFS Cache Configuration + +CONFIG_SPIFFS_PAGE_CHECK=y +CONFIG_SPIFFS_GC_MAX_RUNS=10 +# CONFIG_SPIFFS_GC_STATS is not set +CONFIG_SPIFFS_PAGE_SIZE=256 +CONFIG_SPIFFS_OBJ_NAME_LEN=32 +# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set +CONFIG_SPIFFS_USE_MAGIC=y +CONFIG_SPIFFS_USE_MAGIC_LENGTH=y +CONFIG_SPIFFS_META_LENGTH=4 +CONFIG_SPIFFS_USE_MTIME=y + +# +# Debug Configuration +# +# CONFIG_SPIFFS_DBG is not set +# CONFIG_SPIFFS_API_DBG is not set +# CONFIG_SPIFFS_GC_DBG is not set +# CONFIG_SPIFFS_CACHE_DBG is not set +# CONFIG_SPIFFS_CHECK_DBG is not set +# CONFIG_SPIFFS_TEST_VISUALISATION is not set +# end of Debug Configuration +# end of SPIFFS Configuration + +# +# TCP Transport +# + +# +# Websocket +# +CONFIG_WS_TRANSPORT=y +CONFIG_WS_BUFFER_SIZE=1024 +# CONFIG_WS_DYNAMIC_BUFFER is not set +# end of Websocket +# end of TCP Transport + +# +# Ultra Low Power (ULP) Co-processor +# +# CONFIG_ULP_COPROC_ENABLED is not set + +# +# ULP Debugging Options +# +# end of ULP Debugging Options +# end of Ultra Low Power (ULP) Co-processor + +# +# Unity unit testing library +# +CONFIG_UNITY_ENABLE_FLOAT=y +CONFIG_UNITY_ENABLE_DOUBLE=y +# CONFIG_UNITY_ENABLE_64BIT is not set +# CONFIG_UNITY_ENABLE_COLOR is not set +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y +# CONFIG_UNITY_ENABLE_FIXTURE is not set +# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set +# end of Unity unit testing library + +# +# USB-OTG +# +CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256 +CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y +# CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set +# CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set + +# +# Root Hub configuration +# +CONFIG_USB_HOST_DEBOUNCE_DELAY_MS=250 +CONFIG_USB_HOST_RESET_HOLD_MS=30 +CONFIG_USB_HOST_RESET_RECOVERY_MS=30 +CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10 +# end of Root Hub configuration + +# CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set +# CONFIG_USB_HOST_EXT_HUB_SUPPORT is not set +CONFIG_USB_OTG_SUPPORTED=y +# end of USB-OTG + +# +# Virtual file system +# +CONFIG_VFS_SUPPORT_IO=y +CONFIG_VFS_SUPPORT_DIR=y +CONFIG_VFS_SUPPORT_SELECT=y +CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y +# CONFIG_VFS_SELECT_IN_RAM is not set +CONFIG_VFS_SUPPORT_TERMIOS=y +CONFIG_VFS_MAX_COUNT=8 + +# +# Host File System I/O (Semihosting) +# +CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# end of Host File System I/O (Semihosting) +# end of Virtual file system + +# +# Wear Levelling +# +# CONFIG_WL_SECTOR_SIZE_512 is not set +CONFIG_WL_SECTOR_SIZE_4096=y +CONFIG_WL_SECTOR_SIZE=4096 +# end of Wear Levelling + +# +# Wi-Fi Provisioning Manager +# +CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 +CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 +# CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set +CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y +# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set +# end of Wi-Fi Provisioning Manager + +# +# LVGL configuration +# +CONFIG_LV_CONF_SKIP=y +# CONFIG_LV_CONF_MINIMAL is not set + +# +# Color settings +# +# CONFIG_LV_COLOR_DEPTH_32 is not set +CONFIG_LV_COLOR_DEPTH_16=y +# CONFIG_LV_COLOR_DEPTH_8 is not set +# CONFIG_LV_COLOR_DEPTH_1 is not set +CONFIG_LV_COLOR_DEPTH=16 +CONFIG_LV_COLOR_16_SWAP=y +# CONFIG_LV_COLOR_SCREEN_TRANSP is not set +CONFIG_LV_COLOR_MIX_ROUND_OFS=128 +CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 +# end of Color settings + +# +# Memory settings +# +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEM_CUSTOM_INCLUDE="stdlib.h" +CONFIG_LV_MEM_BUF_MAX_NUM=16 +# CONFIG_LV_MEMCPY_MEMSET_STD is not set +# end of Memory settings + +# +# HAL Settings +# +CONFIG_LV_DISP_DEF_REFR_PERIOD=5 +CONFIG_LV_INDEV_DEF_READ_PERIOD=30 +# CONFIG_LV_TICK_CUSTOM is not set +CONFIG_LV_DPI_DEF=217 +# end of HAL Settings + +# +# Feature configuration +# + +# +# Drawing +# +CONFIG_LV_DRAW_COMPLEX=y +CONFIG_LV_SHADOW_CACHE_SIZE=0 +CONFIG_LV_CIRCLE_CACHE_SIZE=4 +CONFIG_LV_LAYER_SIMPLE_BUF_SIZE=24576 +CONFIG_LV_IMG_CACHE_DEF_SIZE=0 +CONFIG_LV_GRADIENT_MAX_STOPS=2 +CONFIG_LV_GRAD_CACHE_DEF_SIZE=0 +# CONFIG_LV_DITHER_GRADIENT is not set +CONFIG_LV_DISP_ROT_MAX_BUF=10240 +# end of Drawing + +# +# GPU +# +# CONFIG_LV_USE_GPU_ARM2D is not set +# CONFIG_LV_USE_GPU_STM32_DMA2D is not set +# CONFIG_LV_USE_GPU_RA6M3_G2D is not set +# CONFIG_LV_USE_GPU_SWM341_DMA2D is not set +# CONFIG_LV_USE_GPU_NXP_PXP is not set +# CONFIG_LV_USE_GPU_NXP_VG_LITE is not set +# CONFIG_LV_USE_GPU_SDL is not set +# end of GPU + +# +# Logging +# +# CONFIG_LV_USE_LOG is not set +# end of Logging + +# +# Asserts +# +CONFIG_LV_USE_ASSERT_NULL=y +CONFIG_LV_USE_ASSERT_MALLOC=y +# CONFIG_LV_USE_ASSERT_STYLE is not set +# CONFIG_LV_USE_ASSERT_MEM_INTEGRITY is not set +# CONFIG_LV_USE_ASSERT_OBJ is not set +CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" +# end of Asserts + +# +# Others +# +# CONFIG_LV_USE_PERF_MONITOR is not set +# CONFIG_LV_USE_REFR_DEBUG is not set +# CONFIG_LV_SPRINTF_CUSTOM is not set +# CONFIG_LV_SPRINTF_USE_FLOAT is not set +CONFIG_LV_USE_USER_DATA=y +# CONFIG_LV_ENABLE_GC is not set +# end of Others + +# +# Compiler settings +# +# CONFIG_LV_BIG_ENDIAN_SYSTEM is not set +CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 +CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y +# CONFIG_LV_USE_LARGE_COORD is not set +# end of Compiler settings +# end of Feature configuration + +# +# Font usage +# + +# +# Enable built-in fonts +# +CONFIG_LV_FONT_MONTSERRAT_8=y +CONFIG_LV_FONT_MONTSERRAT_10=y +CONFIG_LV_FONT_MONTSERRAT_12=y +CONFIG_LV_FONT_MONTSERRAT_14=y +CONFIG_LV_FONT_MONTSERRAT_16=y +CONFIG_LV_FONT_MONTSERRAT_18=y +# CONFIG_LV_FONT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_MONTSERRAT_22 is not set +CONFIG_LV_FONT_MONTSERRAT_24=y +# CONFIG_LV_FONT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_UNSCII_8 is not set +# CONFIG_LV_FONT_UNSCII_16 is not set +# CONFIG_LV_FONT_CUSTOM is not set +# end of Enable built-in fonts + +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12 is not set +CONFIG_LV_FONT_DEFAULT_MONTSERRAT_14=y +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_16 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_16 is not set +# CONFIG_LV_FONT_FMT_TXT_LARGE is not set +# CONFIG_LV_USE_FONT_COMPRESSED is not set +# CONFIG_LV_USE_FONT_SUBPX is not set +CONFIG_LV_USE_FONT_PLACEHOLDER=y +# end of Font usage + +# +# Text Settings +# +CONFIG_LV_TXT_ENC_UTF8=y +# CONFIG_LV_TXT_ENC_ASCII is not set +CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_" +CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0 +CONFIG_LV_TXT_COLOR_CMD="#" +# CONFIG_LV_USE_BIDI is not set +# CONFIG_LV_USE_ARABIC_PERSIAN_CHARS is not set +# end of Text Settings + +# +# Widget usage +# +CONFIG_LV_USE_ARC=y +CONFIG_LV_USE_BAR=y +CONFIG_LV_USE_BTN=y +CONFIG_LV_USE_BTNMATRIX=y +CONFIG_LV_USE_CANVAS=y +CONFIG_LV_USE_CHECKBOX=y +CONFIG_LV_USE_DROPDOWN=y +CONFIG_LV_USE_IMG=y +CONFIG_LV_USE_LABEL=y +CONFIG_LV_LABEL_TEXT_SELECTION=y +CONFIG_LV_LABEL_LONG_TXT_HINT=y +CONFIG_LV_USE_LINE=y +CONFIG_LV_USE_ROLLER=y +CONFIG_LV_ROLLER_INF_PAGES=7 +CONFIG_LV_USE_SLIDER=y +CONFIG_LV_USE_SWITCH=y +CONFIG_LV_USE_TEXTAREA=y +CONFIG_LV_TEXTAREA_DEF_PWD_SHOW_TIME=1500 +CONFIG_LV_USE_TABLE=y +# end of Widget usage + +# +# Extra Widgets +# +CONFIG_LV_USE_ANIMIMG=y +CONFIG_LV_USE_CALENDAR=y +# CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY is not set +CONFIG_LV_USE_CALENDAR_HEADER_ARROW=y +CONFIG_LV_USE_CALENDAR_HEADER_DROPDOWN=y +CONFIG_LV_USE_CHART=y +CONFIG_LV_USE_COLORWHEEL=y +CONFIG_LV_USE_IMGBTN=y +CONFIG_LV_USE_KEYBOARD=y +CONFIG_LV_USE_LED=y +CONFIG_LV_USE_LIST=y +CONFIG_LV_USE_MENU=y +CONFIG_LV_USE_METER=y +CONFIG_LV_USE_MSGBOX=y +CONFIG_LV_USE_SPAN=y +CONFIG_LV_SPAN_SNIPPET_STACK_SIZE=64 +CONFIG_LV_USE_SPINBOX=y +CONFIG_LV_USE_SPINNER=y +CONFIG_LV_USE_TABVIEW=y +CONFIG_LV_USE_TILEVIEW=y +CONFIG_LV_USE_WIN=y +# end of Extra Widgets + +# +# Themes +# +CONFIG_LV_USE_THEME_DEFAULT=y +# CONFIG_LV_THEME_DEFAULT_DARK is not set +CONFIG_LV_THEME_DEFAULT_GROW=y +CONFIG_LV_THEME_DEFAULT_TRANSITION_TIME=80 +CONFIG_LV_USE_THEME_BASIC=y +# CONFIG_LV_USE_THEME_MONO is not set +# end of Themes + +# +# Layouts +# +CONFIG_LV_USE_FLEX=y +CONFIG_LV_USE_GRID=y +# end of Layouts + +# +# 3rd Party Libraries +# +# CONFIG_LV_USE_FS_STDIO is not set +# CONFIG_LV_USE_FS_POSIX is not set +# CONFIG_LV_USE_FS_WIN32 is not set +# CONFIG_LV_USE_FS_FATFS is not set +# CONFIG_LV_USE_FS_LITTLEFS is not set +# CONFIG_LV_USE_PNG is not set +# CONFIG_LV_USE_BMP is not set +# CONFIG_LV_USE_SJPG is not set +CONFIG_LV_USE_GIF=y +# CONFIG_LV_USE_QRCODE is not set +# CONFIG_LV_USE_FREETYPE is not set +# CONFIG_LV_USE_TINY_TTF is not set +# CONFIG_LV_USE_RLOTTIE is not set +# CONFIG_LV_USE_FFMPEG is not set +# end of 3rd Party Libraries + +# +# Others +# +CONFIG_LV_USE_SNAPSHOT=y +# CONFIG_LV_USE_MONKEY is not set +# CONFIG_LV_USE_GRIDNAV is not set +# CONFIG_LV_USE_FRAGMENT is not set +# CONFIG_LV_USE_IMGFONT is not set +# CONFIG_LV_USE_MSG is not set +# CONFIG_LV_USE_IME_PINYIN is not set +# end of Others + +# +# Examples +# +# CONFIG_LV_BUILD_EXAMPLES is not set +# end of Examples + +# +# Demos +# +# CONFIG_LV_USE_DEMO_WIDGETS is not set +# CONFIG_LV_USE_DEMO_KEYPAD_AND_ENCODER is not set +# CONFIG_LV_USE_DEMO_BENCHMARK is not set +# CONFIG_LV_USE_DEMO_STRESS is not set +# CONFIG_LV_USE_DEMO_MUSIC is not set +# end of Demos +# end of LVGL configuration + +# +# LVGL ESP Drivers +# + +# +# LVGL TFT Display controller +# +CONFIG_LV_PREDEFINED_DISPLAY_NONE=y +# CONFIG_LV_PREDEFINED_DISPLAY_WROVER4 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STACK is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5CORE2 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STICK is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STICKC is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ERTFT0356 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ADA_FEATHERWING is not set +# CONFIG_LV_PREDEFINED_DISPLAY_RPI_MPI3501 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_WEMOS_LOLIN is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ATAG is not set +# CONFIG_LV_PREDEFINED_DISPLAY_RPI_RA8875 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_TTGO is not set +# CONFIG_LV_PREDEFINED_DISPLAY_TTGO_CAMERA_PLUS is not set +# CONFIG_LV_PREDEFINED_DISPLAY_WT32_SC01 is not set +CONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9341=y +CONFIG_LV_TFT_DISPLAY_PROTOCOL_SPI=y +CONFIG_LV_HOR_RES_MAX=240 +CONFIG_LV_VER_RES_MAX=320 +CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT=y +# CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT_INVERTED is not set +# CONFIG_LV_DISPLAY_ORIENTATION_LANDSCAPE is not set +# CONFIG_LV_DISPLAY_ORIENTATION_LANDSCAPE_INVERTED is not set +CONFIG_LV_DISPLAY_ORIENTATION=0 +CONFIG_LV_PREDEFINED_PINS_NONE=y +# CONFIG_LV_PREDEFINED_PINS_38V4 is not set +# CONFIG_LV_PREDEFINED_PINS_30 is not set +# CONFIG_LV_PREDEFINED_PINS_38V1 is not set +# CONFIG_LV_PREDEFINED_PINS_TKOALA is not set +CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9341=y +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9481 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9486 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9488 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7789 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7796S is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_GC9A01 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7735S is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_HX8357 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SH1107 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SSD1306 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_FT81X is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_IL3820 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_JD79653A is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_UC8151D is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_RA8875 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9163C is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_PCD8544 is not set +# CONFIG_CUSTOM_DISPLAY_BUFFER_SIZE is not set +CONFIG_LV_TFT_DISPLAY_SPI2_HOST=y +# CONFIG_LV_TFT_DISPLAY_SPI3_HOST is not set +CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_SIO=y +# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_DIO is not set +# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_QIO is not set +CONFIG_LV_TFT_DISPLAY_SPI_HALF_DUPLEX=y +# CONFIG_LV_TFT_DISPLAY_SPI_FULL_DUPLEX is not set +CONFIG_LV_TFT_USE_CUSTOM_SPI_CLK_DIVIDER=y +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_1 is not set +CONFIG_LV_TFT_SPI_CLK_DIVIDER_2=y +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_3 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_4 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_5 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_6 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_7 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_8 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_9 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_10 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_12 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_16 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_20 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_24 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_32 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_40 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_48 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_80 is not set +CONFIG_LV_TFT_CUSTOM_SPI_CLK_DIVIDER=2 +# CONFIG_LV_INVERT_COLORS is not set + +# +# Display Pin Assignments +# +CONFIG_LV_DISP_SPI_MOSI=23 +CONFIG_LV_DISPLAY_USE_SPI_MISO=y +CONFIG_LV_DISP_SPI_MISO=19 +CONFIG_LV_DISP_SPI_INPUT_DELAY_NS=0 +CONFIG_LV_DISP_SPI_CLK=18 +CONFIG_LV_DISPLAY_USE_SPI_CS=y +CONFIG_LV_DISP_SPI_CS=17 +CONFIG_LV_DISPLAY_USE_DC=y +CONFIG_LV_DISP_PIN_DC=16 +CONFIG_LV_DISP_USE_RST=y +CONFIG_LV_DISP_PIN_RST=5 +CONFIG_LV_DISP_PIN_BUSY=35 +# end of Display Pin Assignments + +# CONFIG_LV_DISP_BACKLIGHT_OFF is not set +CONFIG_LV_DISP_BACKLIGHT_SWITCH=y +# CONFIG_LV_DISP_BACKLIGHT_PWM is not set +CONFIG_LV_BACKLIGHT_ACTIVE_LVL=y +CONFIG_LV_DISP_PIN_BCKL=32 +CONFIG_LV_I2C=y +CONFIG_LV_I2C_DISPLAY_PORT=0 +# end of LVGL TFT Display controller + +# +# LVGL Touch controller +# +CONFIG_LV_TOUCH_CONTROLLER=7 +# CONFIG_LV_TOUCH_CONTROLLER_NONE is not set +# CONFIG_LV_TOUCH_CONTROLLER_XPT2046 is not set +# CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set +# CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set +# CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set +# CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set +# CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set +CONFIG_LV_TOUCH_CONTROLLER_GT911=y +CONFIG_LV_I2C_TOUCH=y + +# +# Touchpanel Configuration (GT911) +# +CONFIG_LV_GT911_SWAPXY=y +# CONFIG_LV_GT911_INVERT_X is not set +CONFIG_LV_GT911_INVERT_Y=y +# end of Touchpanel Configuration (GT911) + +CONFIG_LV_I2C_TOUCH_PORT_0=y +# CONFIG_LV_I2C_TOUCH_PORT_1 is not set +CONFIG_LV_I2C_TOUCH_PORT=0 +# end of LVGL Touch controller +# end of LVGL ESP Drivers + +# +# I2C Port Settings +# + +# +# I2C Port 0 +# +CONFIG_I2C_MANAGER_0_ENABLED=y +CONFIG_I2C_MANAGER_0_SDA=19 +CONFIG_I2C_MANAGER_0_SCL=20 +CONFIG_I2C_MANAGER_0_FREQ_HZ=400000 +CONFIG_I2C_MANAGER_0_TIMEOUT=100 +CONFIG_I2C_MANAGER_0_LOCK_TIMEOUT=50 +# CONFIG_I2C_MANAGER_0_PULLUPS is not set +# end of I2C Port 0 + +# +# I2C Port 1 +# +# CONFIG_I2C_MANAGER_1_ENABLED is not set +# end of I2C Port 1 +# end of I2C Port Settings + +# +# mDNS +# +CONFIG_MDNS_MAX_INTERFACES=3 +CONFIG_MDNS_MAX_SERVICES=10 +CONFIG_MDNS_TASK_PRIORITY=1 +CONFIG_MDNS_ACTION_QUEUE_LEN=16 +CONFIG_MDNS_TASK_STACK_SIZE=4096 +# CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_MDNS_TASK_AFFINITY_CPU0=y +CONFIG_MDNS_TASK_AFFINITY=0x0 +CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000 +CONFIG_MDNS_TIMER_PERIOD_MS=100 +# CONFIG_MDNS_NETWORKING_SOCKET is not set +# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set +# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set +CONFIG_MDNS_ENABLE_CONSOLE_CLI=y +# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set +CONFIG_MDNS_MULTIPLE_INSTANCE=y + +# +# MDNS Predefined interfaces +# +CONFIG_MDNS_PREDEF_NETIF_STA=y +CONFIG_MDNS_PREDEF_NETIF_AP=y +CONFIG_MDNS_PREDEF_NETIF_ETH=y +# end of MDNS Predefined interfaces +# end of mDNS +# end of Component config + +CONFIG_IDF_EXPERIMENTAL_FEATURES=y + +# Deprecated options for backward compatibility +# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set +# CONFIG_NO_BLOBS is not set +# CONFIG_ESP32S2_NO_BLOBS is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set +CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y +# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set +CONFIG_LOG_BOOTLOADER_LEVEL=3 +# CONFIG_APP_ROLLBACK_ENABLE is not set +# CONFIG_FLASH_ENCRYPTION_ENABLED is not set +CONFIG_FLASHMODE_QIO=y +# CONFIG_FLASHMODE_QOUT is not set +# CONFIG_FLASHMODE_DIO is not set +# CONFIG_FLASHMODE_DOUT is not set +CONFIG_MONITOR_BAUD=115200 +# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set +CONFIG_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_CXX_EXCEPTIONS is not set +CONFIG_STACK_CHECK_NONE=y +# CONFIG_STACK_CHECK_NORM is not set +# CONFIG_STACK_CHECK_STRONG is not set +# CONFIG_STACK_CHECK_ALL is not set +# CONFIG_WARN_WRITE_STRINGS is not set +# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set +CONFIG_ESP32_APPTRACE_DEST_NONE=y +CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y +CONFIG_ADC2_DISABLE_DAC=y +# CONFIG_EXTERNAL_COEX_ENABLE is not set +# CONFIG_ESP_WIFI_EXTERNAL_COEXIST_ENABLE is not set +# CONFIG_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +CONFIG_GDBSTUB_SUPPORT_TASKS=y +CONFIG_GDBSTUB_MAX_TASKS=32 +# CONFIG_OTA_ALLOW_HTTP is not set +# CONFIG_ESP_SYSTEM_PD_FLASH is not set +CONFIG_ESP32S2_RTC_CLK_SRC_INT_RC=y +# CONFIG_ESP32S2_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32S2_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32S2_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_ESP32S2_RTC_CLK_CAL_CYCLES=1024 +CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP32_PHY_MAX_TX_POWER=20 +# CONFIG_REDUCE_PHY_TX_POWER is not set +# CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set +# CONFIG_ESP32S2_SPIRAM_SUPPORT is not set +# CONFIG_ESP32S2_DEFAULT_CPU_FREQ_80 is not set +CONFIG_ESP32S2_DEFAULT_CPU_FREQ_160=y +# CONFIG_ESP32S2_DEFAULT_CPU_FREQ_240 is not set +CONFIG_ESP32S2_DEFAULT_CPU_FREQ_MHZ=160 +# CONFIG_ESP32S2_PANIC_PRINT_HALT is not set +CONFIG_ESP32S2_PANIC_PRINT_REBOOT=y +# CONFIG_ESP32S2_PANIC_SILENT_REBOOT is not set +# CONFIG_ESP32S2_PANIC_GDBSTUB is not set +CONFIG_ESP32S2_ALLOW_RTC_FAST_MEM_AS_HEAP=y +CONFIG_ESP32S2_MEMPROT_FEATURE=y +CONFIG_ESP32S2_MEMPROT_FEATURE_LOCK=y +CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=3584 +CONFIG_CONSOLE_UART_DEFAULT=y +# CONFIG_CONSOLE_UART_CUSTOM is not set +# CONFIG_CONSOLE_UART_NONE is not set +# CONFIG_ESP_CONSOLE_UART_NONE is not set +CONFIG_CONSOLE_UART=y +CONFIG_CONSOLE_UART_NUM=0 +CONFIG_CONSOLE_UART_BAUDRATE=115200 +# CONFIG_INT_WDT is not set +# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP32S2_DEBUG_OCDAWARE=y +CONFIG_BROWNOUT_DET=y +CONFIG_ESP32S2_BROWNOUT_DET=y +CONFIG_ESP32S2_BROWNOUT_DET=y +CONFIG_BROWNOUT_DET_LVL_SEL_7=y +CONFIG_ESP32S2_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP32S2_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32S2_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32S2_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32S2_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32S2_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP32S2_BROWNOUT_DET_LVL_SEL_1 is not set +CONFIG_BROWNOUT_DET_LVL=7 +CONFIG_ESP32S2_BROWNOUT_DET_LVL=7 +CONFIG_IPC_TASK_STACK_SIZE=1024 +CONFIG_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP32_WIFI_ENABLED=y +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y +# CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER is not set +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 +# CONFIG_ESP32_WIFI_CSI_ENABLED is not set +CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP32_WIFI_TX_BA_WIN=6 +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_NVS_ENABLED=y +CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 +CONFIG_ESP32_WIFI_IRAM_OPT=y +CONFIG_ESP32_WIFI_RX_IRAM_OPT=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y +CONFIG_WPA_MBEDTLS_CRYPTO=y +CONFIG_WPA_MBEDTLS_TLS_CLIENT=y +# CONFIG_WPA_WAPI_PSK is not set +# CONFIG_WPA_11KV_SUPPORT is not set +# CONFIG_WPA_MBO_SUPPORT is not set +# CONFIG_WPA_DPP_SUPPORT is not set +# CONFIG_WPA_11R_SUPPORT is not set +# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set +# CONFIG_WPA_WPS_STRICT is not set +# CONFIG_WPA_DEBUG_PRINT is not set +# CONFIG_WPA_TESTING_OPTIONS is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set +CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y +CONFIG_TIMER_TASK_PRIORITY=1 +CONFIG_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_TIMER_QUEUE_LENGTH=10 +# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set +# CONFIG_L2_TO_L3_COPY is not set +CONFIG_ESP_GRATUITOUS_ARP=y +CONFIG_GARP_TMR_INTERVAL=60 +CONFIG_TCPIP_RECVMBOX_SIZE=32 +CONFIG_TCP_MAXRTX=12 +CONFIG_TCP_SYNMAXRTX=12 +CONFIG_TCP_MSS=1440 +CONFIG_TCP_MSL=60000 +CONFIG_TCP_SND_BUF_DEFAULT=5760 +CONFIG_TCP_WND_DEFAULT=5760 +CONFIG_TCP_RECVMBOX_SIZE=6 +CONFIG_TCP_QUEUE_OOSEQ=y +CONFIG_TCP_OVERSIZE_MSS=y +# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_TCP_OVERSIZE_DISABLE is not set +CONFIG_UDP_RECVMBOX_SIZE=6 +CONFIG_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set +CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_PPP_SUPPORT is not set +CONFIG_ESP32S2_TIME_SYSCALL_USE_RTC_SYSTIMER=y +CONFIG_ESP32S2_TIME_SYSCALL_USE_RTC_FRC1=y +# CONFIG_ESP32S2_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32S2_TIME_SYSCALL_USE_SYSTIMER is not set +# CONFIG_ESP32S2_TIME_SYSCALL_USE_FRC1 is not set +# CONFIG_ESP32S2_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_ESP32_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +# CONFIG_ESP32S2_ULP_COPROC_ENABLED is not set +CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y +CONFIG_SUPPORT_TERMIOS=y +CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# End of deprecated options diff --git a/configs/sdkconfig.default.esp32s3 b/configs/sdkconfig.default.esp32s3 new file mode 100644 index 00000000..bce329b8 --- /dev/null +++ b/configs/sdkconfig.default.esp32s3 @@ -0,0 +1,2954 @@ +# +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Configuration +# +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +CONFIG_SOC_ADC_SUPPORTED=y +CONFIG_SOC_UART_SUPPORTED=y +CONFIG_SOC_PCNT_SUPPORTED=y +CONFIG_SOC_PHY_SUPPORTED=y +CONFIG_SOC_WIFI_SUPPORTED=y +CONFIG_SOC_TWAI_SUPPORTED=y +CONFIG_SOC_GDMA_SUPPORTED=y +CONFIG_SOC_AHB_GDMA_SUPPORTED=y +CONFIG_SOC_GPTIMER_SUPPORTED=y +CONFIG_SOC_LCDCAM_SUPPORTED=y +CONFIG_SOC_MCPWM_SUPPORTED=y +CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y +CONFIG_SOC_CACHE_SUPPORT_WRAP=y +CONFIG_SOC_ULP_SUPPORTED=y +CONFIG_SOC_ULP_FSM_SUPPORTED=y +CONFIG_SOC_RISCV_COPROC_SUPPORTED=y +CONFIG_SOC_BT_SUPPORTED=y +CONFIG_SOC_USB_OTG_SUPPORTED=y +CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y +CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y +CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y +CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y +CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y +CONFIG_SOC_EFUSE_SUPPORTED=y +CONFIG_SOC_SDMMC_HOST_SUPPORTED=y +CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y +CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y +CONFIG_SOC_RTC_MEM_SUPPORTED=y +CONFIG_SOC_PSRAM_DMA_CAPABLE=y +CONFIG_SOC_XT_WDT_SUPPORTED=y +CONFIG_SOC_I2S_SUPPORTED=y +CONFIG_SOC_RMT_SUPPORTED=y +CONFIG_SOC_SDM_SUPPORTED=y +CONFIG_SOC_GPSPI_SUPPORTED=y +CONFIG_SOC_LEDC_SUPPORTED=y +CONFIG_SOC_I2C_SUPPORTED=y +CONFIG_SOC_SYSTIMER_SUPPORTED=y +CONFIG_SOC_SUPPORT_COEXISTENCE=y +CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y +CONFIG_SOC_AES_SUPPORTED=y +CONFIG_SOC_MPI_SUPPORTED=y +CONFIG_SOC_SHA_SUPPORTED=y +CONFIG_SOC_HMAC_SUPPORTED=y +CONFIG_SOC_DIG_SIGN_SUPPORTED=y +CONFIG_SOC_FLASH_ENC_SUPPORTED=y +CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +CONFIG_SOC_MEMPROT_SUPPORTED=y +CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y +CONFIG_SOC_BOD_SUPPORTED=y +CONFIG_SOC_CLK_TREE_SUPPORTED=y +CONFIG_SOC_MPU_SUPPORTED=y +CONFIG_SOC_WDT_SUPPORTED=y +CONFIG_SOC_SPI_FLASH_SUPPORTED=y +CONFIG_SOC_RNG_SUPPORTED=y +CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y +CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y +CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y +CONFIG_SOC_PM_SUPPORTED=y +CONFIG_SOC_XTAL_SUPPORT_40M=y +CONFIG_SOC_APPCPU_HAS_CLOCK_GATING_BUG=y +CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y +CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +CONFIG_SOC_ADC_ARBITER_SUPPORTED=y +CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y +CONFIG_SOC_ADC_MONITOR_SUPPORTED=y +CONFIG_SOC_ADC_DMA_SUPPORTED=y +CONFIG_SOC_ADC_PERIPH_NUM=2 +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 +CONFIG_SOC_ADC_ATTEN_NUM=4 +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 +CONFIG_SOC_ADC_PATT_LEN_MAX=24 +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 +CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 +CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 +CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y +CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y +CONFIG_SOC_ADC_SHARED_POWER=y +CONFIG_SOC_APB_BACKUP_DMA=y +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y +CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y +CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y +CONFIG_SOC_CPU_CORES_NUM=2 +CONFIG_SOC_CPU_INTR_NUM=32 +CONFIG_SOC_CPU_HAS_FPU=y +CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y +CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 +CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64 +CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096 +CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 +CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 +CONFIG_SOC_AHB_GDMA_VERSION=1 +CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 +CONFIG_SOC_GDMA_PAIRS_PER_GROUP=5 +CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=5 +CONFIG_SOC_AHB_GDMA_SUPPORT_PSRAM=y +CONFIG_SOC_GPIO_PORT=1 +CONFIG_SOC_GPIO_PIN_COUNT=49 +CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y +CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y +CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y +CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y +CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x1FFFFFFFFFFFF +CONFIG_SOC_GPIO_IN_RANGE_MAX=48 +CONFIG_SOC_GPIO_OUT_RANGE_MAX=48 +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000 +CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y +CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y +CONFIG_SOC_I2C_NUM=2 +CONFIG_SOC_HP_I2C_NUM=2 +CONFIG_SOC_I2C_FIFO_LEN=32 +CONFIG_SOC_I2C_CMD_REG_NUM=8 +CONFIG_SOC_I2C_SUPPORT_SLAVE=y +CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y +CONFIG_SOC_I2C_SUPPORT_XTAL=y +CONFIG_SOC_I2C_SUPPORT_RTC=y +CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y +CONFIG_SOC_I2S_NUM=2 +CONFIG_SOC_I2S_HW_VERSION_2=y +CONFIG_SOC_I2S_SUPPORTS_XTAL=y +CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y +CONFIG_SOC_I2S_SUPPORTS_PCM=y +CONFIG_SOC_I2S_SUPPORTS_PDM=y +CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 +CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=4 +CONFIG_SOC_I2S_SUPPORTS_TDM=y +CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y +CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y +CONFIG_SOC_LEDC_CHANNEL_NUM=8 +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 +CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y +CONFIG_SOC_MCPWM_GROUPS=2 +CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 +CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 +CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 +CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y +CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 +CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 +CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 +CONFIG_SOC_MMU_PERIPH_NUM=1 +CONFIG_SOC_PCNT_GROUPS=1 +CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 +CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 +CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 +CONFIG_SOC_RMT_GROUPS=1 +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4 +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4 +CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 +CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y +CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y +CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y +CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y +CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y +CONFIG_SOC_RMT_SUPPORT_XTAL=y +CONFIG_SOC_RMT_SUPPORT_RC_FAST=y +CONFIG_SOC_RMT_SUPPORT_APB=y +CONFIG_SOC_RMT_SUPPORT_DMA=y +CONFIG_SOC_LCD_I80_SUPPORTED=y +CONFIG_SOC_LCD_RGB_SUPPORTED=y +CONFIG_SOC_LCD_I80_BUSES=1 +CONFIG_SOC_LCD_RGB_PANELS=1 +CONFIG_SOC_LCD_I80_BUS_WIDTH=16 +CONFIG_SOC_LCD_RGB_DATA_WIDTH=16 +CONFIG_SOC_LCD_SUPPORT_RGB_YUV_CONV=y +CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 +CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549 +CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128 +CONFIG_SOC_RTCIO_PIN_COUNT=22 +CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y +CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y +CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y +CONFIG_SOC_SDM_GROUPS=y +CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 +CONFIG_SOC_SDM_CLK_SUPPORT_APB=y +CONFIG_SOC_SPI_PERIPH_NUM=3 +CONFIG_SOC_SPI_MAX_CS_NUM=6 +CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 +CONFIG_SOC_SPI_SUPPORT_DDRCLK=y +CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y +CONFIG_SOC_SPI_SUPPORT_CD_SIG=y +CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y +CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +CONFIG_SOC_SPI_SUPPORT_CLK_APB=y +CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y +CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y +CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 +CONFIG_SOC_SPI_SUPPORT_OCT=y +CONFIG_SOC_SPI_SCT_SUPPORTED=y +CONFIG_SOC_SPI_SCT_REG_NUM=14 +CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y +CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA +CONFIG_SOC_MEMSPI_SRC_FREQ_120M=y +CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y +CONFIG_SOC_SPIRAM_SUPPORTED=y +CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y +CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 +CONFIG_SOC_SYSTIMER_ALARM_NUM=3 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 +CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y +CONFIG_SOC_SYSTIMER_INT_LEVEL=y +CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y +CONFIG_SOC_TIMER_GROUPS=2 +CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 +CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 +CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y +CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +CONFIG_SOC_TOUCH_SENSOR_VERSION=2 +CONFIG_SOC_TOUCH_SENSOR_NUM=15 +CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y +CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y +CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y +CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3 +CONFIG_SOC_TOUCH_PROXIMITY_MEAS_DONE_SUPPORTED=y +CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 +CONFIG_SOC_TWAI_CONTROLLER_NUM=1 +CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y +CONFIG_SOC_TWAI_BRP_MIN=2 +CONFIG_SOC_TWAI_BRP_MAX=16384 +CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y +CONFIG_SOC_UART_NUM=3 +CONFIG_SOC_UART_HP_NUM=3 +CONFIG_SOC_UART_FIFO_LEN=128 +CONFIG_SOC_UART_BITRATE_MAX=5000000 +CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y +CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y +CONFIG_SOC_UART_SUPPORT_APB_CLK=y +CONFIG_SOC_UART_SUPPORT_RTC_CLK=y +CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y +CONFIG_SOC_USB_OTG_PERIPH_NUM=1 +CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 +CONFIG_SOC_SHA_SUPPORT_DMA=y +CONFIG_SOC_SHA_SUPPORT_RESUME=y +CONFIG_SOC_SHA_GDMA=y +CONFIG_SOC_SHA_SUPPORT_SHA1=y +CONFIG_SOC_SHA_SUPPORT_SHA224=y +CONFIG_SOC_SHA_SUPPORT_SHA256=y +CONFIG_SOC_SHA_SUPPORT_SHA384=y +CONFIG_SOC_SHA_SUPPORT_SHA512=y +CONFIG_SOC_SHA_SUPPORT_SHA512_224=y +CONFIG_SOC_SHA_SUPPORT_SHA512_256=y +CONFIG_SOC_SHA_SUPPORT_SHA512_T=y +CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 +CONFIG_SOC_MPI_OPERATIONS_NUM=3 +CONFIG_SOC_RSA_MAX_BIT_LEN=4096 +CONFIG_SOC_AES_SUPPORT_DMA=y +CONFIG_SOC_AES_GDMA=y +CONFIG_SOC_AES_SUPPORT_AES_128=y +CONFIG_SOC_AES_SUPPORT_AES_256=y +CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_CPU_PD=y +CONFIG_SOC_PM_SUPPORT_TAGMEM_PD=y +CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y +CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y +CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y +CONFIG_SOC_PM_SUPPORT_MODEM_PD=y +CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y +CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y +CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y +CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y +CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y +CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y +CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y +CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y +CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_USB_JTAG=y +CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y +CONFIG_SOC_EFUSE_DIS_ICACHE=y +CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y +CONFIG_SOC_SECURE_BOOT_V2_RSA=y +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 +CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y +CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y +CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 +CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=256 +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192 +CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y +CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_OPI_MODE=y +CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y +CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y +CONFIG_SOC_MEMSPI_CORE_CLK_SHARED_WITH_PSRAM=y +CONFIG_SOC_COEX_HW_PTI=y +CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y +CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y +CONFIG_SOC_SDMMC_NUM_SLOTS=2 +CONFIG_SOC_SDMMC_SUPPORT_XTAL_CLOCK=y +CONFIG_SOC_SDMMC_DELAY_PHASE_NUM=4 +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y +CONFIG_SOC_WIFI_HW_TSF=y +CONFIG_SOC_WIFI_FTM_SUPPORT=y +CONFIG_SOC_WIFI_GCMP_SUPPORT=y +CONFIG_SOC_WIFI_WAPI_SUPPORT=y +CONFIG_SOC_WIFI_CSI_SUPPORT=y +CONFIG_SOC_WIFI_MESH_SUPPORT=y +CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y +CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y +CONFIG_SOC_BLE_SUPPORTED=y +CONFIG_SOC_BLE_MESH_SUPPORTED=y +CONFIG_SOC_BLE_50_SUPPORTED=y +CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y +CONFIG_SOC_BLUFI_SUPPORTED=y +CONFIG_SOC_ULP_HAS_ADC=y +CONFIG_SOC_PHY_COMBO_MODULE=y +CONFIG_IDF_CMAKE=y +CONFIG_IDF_TOOLCHAIN="gcc" +CONFIG_IDF_TARGET_ARCH_XTENSA=y +CONFIG_IDF_TARGET_ARCH="xtensa" +CONFIG_IDF_TARGET="esp32s3" +CONFIG_IDF_INIT_VERSION="5.3.1" +CONFIG_IDF_TARGET_ESP32S3=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009 + +# +# Build type +# +CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y +# CONFIG_APP_BUILD_TYPE_RAM is not set +CONFIG_APP_BUILD_GENERATE_BINARIES=y +CONFIG_APP_BUILD_BOOTLOADER=y +CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y +# CONFIG_APP_REPRODUCIBLE_BUILD is not set +# CONFIG_APP_NO_BLOBS is not set +# end of Build type + +# +# Bootloader config +# + +# +# Bootloader manager +# +CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y +CONFIG_BOOTLOADER_PROJECT_VER=1 +# end of Bootloader manager + +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set +CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y +# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set +CONFIG_BOOTLOADER_LOG_LEVEL=3 + +# +# Serial Flash Configurations +# +# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set +CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y +# end of Serial Flash Configurations + +CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y +# CONFIG_BOOTLOADER_FACTORY_RESET is not set +# CONFIG_BOOTLOADER_APP_TEST is not set +CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y +CONFIG_BOOTLOADER_WDT_ENABLE=y +# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set +CONFIG_BOOTLOADER_WDT_TIME_MS=9000 +# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set +CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 +# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set +# end of Bootloader config + +# +# Security features +# +CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_PREFERRED=y +# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set +# CONFIG_SECURE_BOOT is not set +# CONFIG_SECURE_FLASH_ENC_ENABLED is not set +CONFIG_SECURE_ROM_DL_MODE_ENABLED=y +# end of Security features + +# +# Application manager +# +CONFIG_APP_COMPILE_TIME_DATE=y +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set +# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set +CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 +# end of Application manager + +CONFIG_ESP_ROM_HAS_CRC_LE=y +CONFIG_ESP_ROM_HAS_CRC_BE=y +CONFIG_ESP_ROM_HAS_MZ_CRC32=y +CONFIG_ESP_ROM_HAS_JPEG_DECODE=y +CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y +CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y +CONFIG_ESP_ROM_USB_OTG_NUM=3 +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 +CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y +CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y +CONFIG_ESP_ROM_GET_CLK_FREQ=y +CONFIG_ESP_ROM_HAS_HAL_WDT=y +CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y +CONFIG_ESP_ROM_HAS_SPI_FLASH=y +CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y +CONFIG_ESP_ROM_HAS_NEWLIB=y +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y +CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y +CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y +CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y +CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y +CONFIG_ESP_ROM_HAS_CACHE_SUSPEND_WAITI_BUG=y +CONFIG_ESP_ROM_HAS_CACHE_WRITEBACK_BUG=y +CONFIG_ESP_ROM_HAS_SW_FLOAT=y +CONFIG_ESP_ROM_HAS_VERSION=y +CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y + +# +# Boot ROM Behavior +# +CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y +# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set +# end of Boot ROM Behavior + +# +# Serial flasher config +# +# CONFIG_ESPTOOLPY_NO_STUB is not set +# CONFIG_ESPTOOLPY_OCT_FLASH is not set +CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=y +CONFIG_ESPTOOLPY_FLASHMODE_QIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set +# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set +CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y +CONFIG_ESPTOOLPY_FLASHMODE="dio" +# CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y +CONFIG_ESPTOOLPY_FLASHFREQ="80m" +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" +# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set +CONFIG_ESPTOOLPY_BEFORE_RESET=y +# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set +CONFIG_ESPTOOLPY_BEFORE="default_reset" +CONFIG_ESPTOOLPY_AFTER_RESET=y +# CONFIG_ESPTOOLPY_AFTER_NORESET is not set +CONFIG_ESPTOOLPY_AFTER="hard_reset" +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +# end of Serial flasher config + +# +# Partition Table +# +# CONFIG_PARTITION_TABLE_SINGLE_APP is not set +# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +CONFIG_PARTITION_TABLE_MD5=y +# end of Partition Table + +# +# Compiler options +# +# CONFIG_COMPILER_OPTIMIZATION_DEBUG is not set +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +# CONFIG_COMPILER_OPTIMIZATION_PERF is not set +# CONFIG_COMPILER_OPTIMIZATION_NONE is not set +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set +CONFIG_COMPILER_HIDE_PATHS_MACROS=y +# CONFIG_COMPILER_CXX_EXCEPTIONS is not set +# CONFIG_COMPILER_CXX_RTTI is not set +CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y +# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set +# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set +# CONFIG_COMPILER_DUMP_RTL_FILES is not set +CONFIG_COMPILER_RT_LIB_GCCLIB=y +CONFIG_COMPILER_RT_LIB_NAME="gcc" +# CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING is not set +CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y +# end of Compiler options + +# +# Component config +# + +# +# Application Level Tracing +# +# CONFIG_APPTRACE_DEST_JTAG is not set +CONFIG_APPTRACE_DEST_NONE=y +# CONFIG_APPTRACE_DEST_UART1 is not set +# CONFIG_APPTRACE_DEST_UART2 is not set +# CONFIG_APPTRACE_DEST_USB_CDC is not set +CONFIG_APPTRACE_DEST_UART_NONE=y +CONFIG_APPTRACE_UART_TASK_PRIO=1 +CONFIG_APPTRACE_LOCK_ENABLE=y +# end of Application Level Tracing + +# +# Bluetooth +# +CONFIG_BT_ENABLED=y +# CONFIG_BT_BLUEDROID_ENABLED is not set +CONFIG_BT_NIMBLE_ENABLED=y +# CONFIG_BT_CONTROLLER_ONLY is not set +CONFIG_BT_CONTROLLER_ENABLED=y +# CONFIG_BT_CONTROLLER_DISABLED is not set + +# +# NimBLE Options +# +CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y +# CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL is not set +# CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set +# CONFIG_BT_NIMBLE_LOG_LEVEL_NONE is not set +# CONFIG_BT_NIMBLE_LOG_LEVEL_ERROR is not set +# CONFIG_BT_NIMBLE_LOG_LEVEL_WARNING is not set +CONFIG_BT_NIMBLE_LOG_LEVEL_INFO=y +# CONFIG_BT_NIMBLE_LOG_LEVEL_DEBUG is not set +CONFIG_BT_NIMBLE_LOG_LEVEL=1 +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=3 +CONFIG_BT_NIMBLE_MAX_BONDS=3 +CONFIG_BT_NIMBLE_MAX_CCCDS=8 +CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM=0 +CONFIG_BT_NIMBLE_PINNED_TO_CORE=0 +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=4096 +CONFIG_BT_NIMBLE_ROLE_CENTRAL=y +CONFIG_BT_NIMBLE_ROLE_PERIPHERAL=y +CONFIG_BT_NIMBLE_ROLE_BROADCASTER=y +CONFIG_BT_NIMBLE_ROLE_OBSERVER=y +# CONFIG_BT_NIMBLE_NVS_PERSIST is not set +# CONFIG_BT_NIMBLE_SMP_ID_RESET is not set +CONFIG_BT_NIMBLE_SECURITY_ENABLE=y +CONFIG_BT_NIMBLE_SM_LEGACY=y +CONFIG_BT_NIMBLE_SM_SC=y +# CONFIG_BT_NIMBLE_SM_SC_DEBUG_KEYS is not set +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_ENCRYPTION=y +CONFIG_BT_NIMBLE_SM_LVL=0 +# CONFIG_BT_NIMBLE_DEBUG is not set +# CONFIG_BT_NIMBLE_DYNAMIC_SERVICE is not set +CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME="nimble" +CONFIG_BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31 +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=256 +CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE=0 + +# +# Memory Settings +# +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=12 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=256 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=24 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_SIZE=320 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=24 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_SIZE=255 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_SIZE=70 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=30 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_DISCARD_COUNT=8 +CONFIG_BT_NIMBLE_L2CAP_COC_SDU_BUFF_COUNT=1 +# end of Memory Settings + +CONFIG_BT_NIMBLE_GATT_MAX_PROCS=4 +CONFIG_BT_NIMBLE_HS_FLOW_CTRL=y +CONFIG_BT_NIMBLE_HS_FLOW_CTRL_ITVL=1000 +CONFIG_BT_NIMBLE_HS_FLOW_CTRL_THRESH=2 +CONFIG_BT_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y +CONFIG_BT_NIMBLE_RPA_TIMEOUT=900 +# CONFIG_BT_NIMBLE_MESH is not set +CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y +CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000 +# CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT is not set +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=y +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY=y +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY=y +# CONFIG_BT_NIMBLE_EXT_ADV is not set +CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS=0 +# CONFIG_BT_NIMBLE_GATT_CACHING is not set +CONFIG_BT_NIMBLE_WHITELIST_SIZE=12 +# CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set +# CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set +CONFIG_BT_NIMBLE_USE_ESP_TIMER=y +CONFIG_BT_NIMBLE_LEGACY_VHCI_ENABLE=y +# CONFIG_BT_NIMBLE_BLE_GATT_BLOB_TRANSFER is not set + +# +# GAP Service +# + +# +# GAP Appearance write permissions +# +# CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE is not set +# end of GAP Appearance write permissions + +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM=0 +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ENC=0 +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHN=0 +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHR=0 +CONFIG_BT_NIMBLE_SVC_GAP_CAR_CHAR_NOT_SUPP=y +# CONFIG_BT_NIMBLE_SVC_GAP_CAR_NOT_SUPP is not set +# CONFIG_BT_NIMBLE_SVC_GAP_CAR_SUPP is not set +CONFIG_BT_NIMBLE_SVC_GAP_CENT_ADDR_RESOLUTION=-1 + +# +# GAP device name write permissions +# +# CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE is not set +# end of GAP device name write permissions + +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM=0 +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_ENC=0 +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHEN=0 +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHOR=0 +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL=0 +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL=0 +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SLAVE_LATENCY=0 +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SUPERVISION_TMO=0 +# end of GAP Service + +# +# BLE Services +# +# CONFIG_BT_NIMBLE_HID_SERVICE is not set +# end of BLE Services + +# CONFIG_BT_NIMBLE_VS_SUPPORT is not set +# CONFIG_BT_NIMBLE_ENC_ADV_DATA is not set +# CONFIG_BT_NIMBLE_HIGH_DUTY_ADV_ITVL is not set +# CONFIG_BT_NIMBLE_HOST_QUEUE_CONG_CHECK is not set + +# +# Host-controller Transport +# +CONFIG_UART_HW_FLOWCTRL_DISABLE=y +# CONFIG_UART_HW_FLOWCTRL_CTS_RTS is not set +CONFIG_BT_NIMBLE_HCI_UART_FLOW_CTRL=0 +CONFIG_BT_NIMBLE_HCI_UART_RTS_PIN=19 +CONFIG_BT_NIMBLE_HCI_UART_CTS_PIN=23 +# end of Host-controller Transport +# end of NimBLE Options + +# +# Controller Options +# +CONFIG_BT_CTRL_MODE_EFF=1 +CONFIG_BT_CTRL_BLE_MAX_ACT=6 +CONFIG_BT_CTRL_BLE_MAX_ACT_EFF=6 +CONFIG_BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB=0 +CONFIG_BT_CTRL_PINNED_TO_CORE=0 +CONFIG_BT_CTRL_HCI_MODE_VHCI=y +# CONFIG_BT_CTRL_HCI_MODE_UART_H4 is not set +CONFIG_BT_CTRL_HCI_TL=1 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=30 +CONFIG_BT_BLE_CCA_MODE_NONE=y +# CONFIG_BT_BLE_CCA_MODE_HW is not set +# CONFIG_BT_BLE_CCA_MODE_SW is not set +CONFIG_BT_BLE_CCA_MODE=0 +CONFIG_BT_CTRL_HW_CCA_VAL=20 +CONFIG_BT_CTRL_HW_CCA_EFF=0 +CONFIG_BT_CTRL_CE_LENGTH_TYPE_ORIG=y +# CONFIG_BT_CTRL_CE_LENGTH_TYPE_CE is not set +# CONFIG_BT_CTRL_CE_LENGTH_TYPE_SD is not set +CONFIG_BT_CTRL_CE_LENGTH_TYPE_EFF=0 +CONFIG_BT_CTRL_TX_ANTENNA_INDEX_0=y +# CONFIG_BT_CTRL_TX_ANTENNA_INDEX_1 is not set +CONFIG_BT_CTRL_TX_ANTENNA_INDEX_EFF=0 +CONFIG_BT_CTRL_RX_ANTENNA_INDEX_0=y +# CONFIG_BT_CTRL_RX_ANTENNA_INDEX_1 is not set +CONFIG_BT_CTRL_RX_ANTENNA_INDEX_EFF=0 +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N24 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N21 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N18 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N15 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N12 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N9 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N6 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N3 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N0 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P3 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P6 is not set +CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P9=y +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P12 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P15 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P18 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P21 is not set +CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_EFF=11 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 +CONFIG_BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 +CONFIG_BT_CTRL_BLE_SCAN_DUPL=y +CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DEVICE=y +# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA is not set +# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA_DEVICE is not set +CONFIG_BT_CTRL_SCAN_DUPL_TYPE=0 +CONFIG_BT_CTRL_SCAN_DUPL_CACHE_SIZE=100 +CONFIG_BT_CTRL_DUPL_SCAN_CACHE_REFRESH_PERIOD=0 +# CONFIG_BT_CTRL_BLE_MESH_SCAN_DUPL_EN is not set +# CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EN is not set +CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_DIS=y +CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EFF=0 + +# +# MODEM SLEEP Options +# +# CONFIG_BT_CTRL_MODEM_SLEEP is not set +# end of MODEM SLEEP Options + +CONFIG_BT_CTRL_SLEEP_MODE_EFF=0 +CONFIG_BT_CTRL_SLEEP_CLOCK_EFF=0 +CONFIG_BT_CTRL_HCI_TL_EFF=1 +# CONFIG_BT_CTRL_AGC_RECORRECT_EN is not set +# CONFIG_BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set +# CONFIG_BT_BLE_ADV_DATA_LENGTH_ZERO_AUX is not set +CONFIG_BT_CTRL_CHAN_ASS_EN=y +CONFIG_BT_CTRL_LE_PING_EN=y +# end of Controller Options + +# +# Common Options +# +CONFIG_BT_ALARM_MAX_NUM=50 +# end of Common Options + +# CONFIG_BT_HCI_LOG_DEBUG_EN is not set +# end of Bluetooth + +# CONFIG_BLE_MESH is not set + +# +# Console Library +# +# CONFIG_CONSOLE_SORTED_HELP is not set +# end of Console Library + +# +# Driver Configurations +# + +# +# TWAI Configuration +# +# CONFIG_TWAI_ISR_IN_IRAM is not set +CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y +# end of TWAI Configuration + +# +# Legacy ADC Driver Configuration +# +# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set + +# +# Legacy ADC Calibration Configuration +# +# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy ADC Calibration Configuration +# end of Legacy ADC Driver Configuration + +# +# Legacy MCPWM Driver Configurations +# +# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy MCPWM Driver Configurations + +# +# Legacy Timer Group Driver Configurations +# +# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy Timer Group Driver Configurations + +# +# Legacy RMT Driver Configurations +# +# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy RMT Driver Configurations + +# +# Legacy I2S Driver Configurations +# +# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy I2S Driver Configurations + +# +# Legacy PCNT Driver Configurations +# +# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy PCNT Driver Configurations + +# +# Legacy SDM Driver Configurations +# +# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy SDM Driver Configurations + +# +# Legacy Temperature Sensor Driver Configurations +# +# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy Temperature Sensor Driver Configurations +# end of Driver Configurations + +# +# eFuse Bit Manager +# +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# CONFIG_EFUSE_VIRTUAL is not set +CONFIG_EFUSE_MAX_BLK_LEN=256 +# end of eFuse Bit Manager + +# +# ESP-TLS +# +CONFIG_ESP_TLS_USING_MBEDTLS=y +CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y +# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set +# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set +# CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set +# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set +# CONFIG_ESP_TLS_PSK_VERIFICATION is not set +# CONFIG_ESP_TLS_INSECURE is not set +# end of ESP-TLS + +# +# ADC and ADC Calibration +# +# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set +# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set +# CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set +# CONFIG_ADC_ENABLE_DEBUG_LOG is not set +# end of ADC and ADC Calibration + +# +# Wireless Coexistence +# +CONFIG_ESP_COEX_ENABLED=y +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y +# CONFIG_ESP_COEX_POWER_MANAGEMENT is not set +# end of Wireless Coexistence + +# +# Common ESP-related +# +CONFIG_ESP_ERR_TO_NAME_LOOKUP=y +# end of Common ESP-related + +# +# ESP-Driver:GPIO Configurations +# +# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:GPIO Configurations + +# +# ESP-Driver:GPTimer Configurations +# +CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y +# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set +# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set +# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:GPTimer Configurations + +# +# ESP-Driver:I2C Configurations +# +# CONFIG_I2C_ISR_IRAM_SAFE is not set +# CONFIG_I2C_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2C Configurations + +# +# ESP-Driver:I2S Configurations +# +# CONFIG_I2S_ISR_IRAM_SAFE is not set +# CONFIG_I2S_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2S Configurations + +# +# ESP-Driver:LEDC Configurations +# +# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:LEDC Configurations + +# +# ESP-Driver:MCPWM Configurations +# +# CONFIG_MCPWM_ISR_IRAM_SAFE is not set +# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set +# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:MCPWM Configurations + +# +# ESP-Driver:PCNT Configurations +# +# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set +# CONFIG_PCNT_ISR_IRAM_SAFE is not set +# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:PCNT Configurations + +# +# ESP-Driver:RMT Configurations +# +# CONFIG_RMT_ISR_IRAM_SAFE is not set +# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set +# CONFIG_RMT_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:RMT Configurations + +# +# ESP-Driver:Sigma Delta Modulator Configurations +# +# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set +# CONFIG_SDM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Sigma Delta Modulator Configurations + +# +# ESP-Driver:SPI Configurations +# +CONFIG_SPI_MASTER_ISR_IN_IRAM=y +# CONFIG_SPI_SLAVE_IN_IRAM is not set +CONFIG_SPI_SLAVE_ISR_IN_IRAM=y +# end of ESP-Driver:SPI Configurations + +# +# ESP-Driver:Touch Sensor Configurations +# +# CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set +# CONFIG_TOUCH_ISR_IRAM_SAFE is not set +# CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Touch Sensor Configurations + +# +# ESP-Driver:Temperature Sensor Configurations +# +# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Temperature Sensor Configurations + +# +# ESP-Driver:UART Configurations +# +# CONFIG_UART_ISR_IN_IRAM is not set +# end of ESP-Driver:UART Configurations + +# +# ESP-Driver:USB Serial/JTAG Configuration +# +CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y +# end of ESP-Driver:USB Serial/JTAG Configuration + +# +# Ethernet +# +CONFIG_ETH_ENABLED=y +CONFIG_ETH_USE_SPI_ETHERNET=y +# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set +# CONFIG_ETH_SPI_ETHERNET_W5500 is not set +# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set +# CONFIG_ETH_USE_OPENETH is not set +# CONFIG_ETH_TRANSMIT_MUTEX is not set +# end of Ethernet + +# +# Event Loop Library +# +# CONFIG_ESP_EVENT_LOOP_PROFILING is not set +CONFIG_ESP_EVENT_POST_FROM_ISR=y +CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y +# end of Event Loop Library + +# +# GDB Stub +# +CONFIG_ESP_GDBSTUB_ENABLED=y +# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y +CONFIG_ESP_GDBSTUB_MAX_TASKS=32 +# end of GDB Stub + +# +# ESP HTTP client +# +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y +# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set +# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set +# CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set +# end of ESP HTTP client + +# +# HTTP Server +# +CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 +CONFIG_HTTPD_MAX_URI_LEN=512 +CONFIG_HTTPD_ERR_RESP_NO_DELAY=y +CONFIG_HTTPD_PURGE_BUF_LEN=32 +# CONFIG_HTTPD_LOG_PURGE_DATA is not set +# CONFIG_HTTPD_WS_SUPPORT is not set +# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set +# end of HTTP Server + +# +# ESP HTTPS OTA +# +# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set +# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set +# end of ESP HTTPS OTA + +# +# ESP HTTPS server +# +# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set +# end of ESP HTTPS server + +# +# Hardware Settings +# + +# +# Chip revision +# +CONFIG_ESP32S3_REV_MIN_0=y +# CONFIG_ESP32S3_REV_MIN_1 is not set +# CONFIG_ESP32S3_REV_MIN_2 is not set +CONFIG_ESP32S3_REV_MIN_FULL=0 +CONFIG_ESP_REV_MIN_FULL=0 + +# +# Maximum Supported ESP32-S3 Revision (Rev v0.99) +# +CONFIG_ESP32S3_REV_MAX_FULL=99 +CONFIG_ESP_REV_MAX_FULL=99 +# end of Chip revision + +# +# MAC Config +# +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set +# end of MAC Config + +# +# Sleep Config +# +CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND=y +# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set +CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y +CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y +CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0 +# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set +# CONFIG_ESP_SLEEP_DEBUG is not set +CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y +# end of Sleep Config + +# +# RTC Clock Config +# +CONFIG_RTC_CLK_SRC_INT_RC=y +# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_RTC_CLK_CAL_CYCLES=1024 +# end of RTC Clock Config + +# +# Peripheral Control +# +CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y +# end of Peripheral Control + +# +# GDMA Configurations +# +CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y +# CONFIG_GDMA_ISR_IRAM_SAFE is not set +# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set +# end of GDMA Configurations + +# +# Main XTAL Config +# +CONFIG_XTAL_FREQ_40=y +CONFIG_XTAL_FREQ=40 +# end of Main XTAL Config + +CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y +# end of Hardware Settings + +# +# LCD and Touch Panel +# + +# +# LCD Touch Drivers are maintained in the IDF Component Registry +# + +# +# LCD Peripheral Configuration +# +CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 +# CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set +# CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set +# end of LCD Peripheral Configuration +# end of LCD and Touch Panel + +# +# ESP NETIF Adapter +# +CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 +CONFIG_ESP_NETIF_TCPIP_LWIP=y +# CONFIG_ESP_NETIF_LOOPBACK is not set +CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y +# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set +# CONFIG_ESP_NETIF_L2_TAP is not set +# CONFIG_ESP_NETIF_BRIDGE_EN is not set +# end of ESP NETIF Adapter + +# +# Partition API Configuration +# +# end of Partition API Configuration + +# +# PHY +# +CONFIG_ESP_PHY_ENABLED=y +CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP_PHY_MAX_TX_POWER=20 +# CONFIG_ESP_PHY_REDUCE_TX_POWER is not set +CONFIG_ESP_PHY_ENABLE_USB=y +# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set +CONFIG_ESP_PHY_RF_CAL_PARTIAL=y +# CONFIG_ESP_PHY_RF_CAL_NONE is not set +# CONFIG_ESP_PHY_RF_CAL_FULL is not set +CONFIG_ESP_PHY_CALIBRATION_MODE=0 +# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set +# end of PHY + +# +# Power Management +# +# CONFIG_PM_ENABLE is not set +CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y +CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y +# end of Power Management + +# +# ESP PSRAM +# +CONFIG_SPIRAM=y + +# +# SPI RAM config +# +# CONFIG_SPIRAM_MODE_QUAD is not set +CONFIG_SPIRAM_MODE_OCT=y +CONFIG_SPIRAM_TYPE_AUTO=y +# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set +CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y +CONFIG_SPIRAM_CLK_IO=30 +CONFIG_SPIRAM_CS_IO=26 +# CONFIG_SPIRAM_XIP_FROM_PSRAM is not set +CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y +CONFIG_SPIRAM_RODATA=y +# CONFIG_SPIRAM_SPEED_120M is not set +CONFIG_SPIRAM_SPEED_80M=y +# CONFIG_SPIRAM_SPEED_40M is not set +CONFIG_SPIRAM_SPEED=80 +# CONFIG_SPIRAM_ECC_ENABLE is not set +CONFIG_SPIRAM_BOOT_INIT=y +# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set +# CONFIG_SPIRAM_USE_MEMMAP is not set +# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set +CONFIG_SPIRAM_USE_MALLOC=y +CONFIG_SPIRAM_MEMTEST=y +CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384 +# CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set +CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 +# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set +# end of SPI RAM config +# end of ESP PSRAM + +# +# ESP Ringbuf +# +# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set +# end of ESP Ringbuf + +# +# ESP System Settings +# +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 + +# +# Cache config +# +CONFIG_ESP32S3_INSTRUCTION_CACHE_16KB=y +# CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB is not set +CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE=0x4000 +# CONFIG_ESP32S3_INSTRUCTION_CACHE_4WAYS is not set +CONFIG_ESP32S3_INSTRUCTION_CACHE_8WAYS=y +CONFIG_ESP32S3_ICACHE_ASSOCIATED_WAYS=8 +# CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_16B is not set +CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_32B=y +CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_SIZE=32 +# CONFIG_ESP32S3_DATA_CACHE_16KB is not set +CONFIG_ESP32S3_DATA_CACHE_32KB=y +# CONFIG_ESP32S3_DATA_CACHE_64KB is not set +CONFIG_ESP32S3_DATA_CACHE_SIZE=0x8000 +# CONFIG_ESP32S3_DATA_CACHE_4WAYS is not set +CONFIG_ESP32S3_DATA_CACHE_8WAYS=y +CONFIG_ESP32S3_DCACHE_ASSOCIATED_WAYS=8 +# CONFIG_ESP32S3_DATA_CACHE_LINE_16B is not set +# CONFIG_ESP32S3_DATA_CACHE_LINE_32B is not set +CONFIG_ESP32S3_DATA_CACHE_LINE_64B=y +CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=64 +# end of Cache config + +# +# Memory +# +# CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM is not set +# CONFIG_ESP32S3_USE_FIXED_STATIC_RAM_SIZE is not set +# end of Memory + +# +# Trace memory +# +# CONFIG_ESP32S3_TRAX is not set +CONFIG_ESP32S3_TRACEMEM_RESERVE_DRAM=0x0 +# end of Trace memory + +# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set +CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y +# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set +# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set +CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 +CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y +CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y +CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y + +# +# Memory protection +# +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y +# end of Memory protection + +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 +CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 +CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# CONFIG_ESP_CONSOLE_USB_CDC is not set +# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# CONFIG_ESP_CONSOLE_NONE is not set +# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set +CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y +CONFIG_ESP_CONSOLE_UART=y +CONFIG_ESP_CONSOLE_UART_NUM=0 +CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 +CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 +# CONFIG_ESP_INT_WDT is not set +# CONFIG_ESP_TASK_WDT_EN is not set +# CONFIG_ESP_PANIC_HANDLER_IRAM is not set +# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP_DEBUG_OCDAWARE=y +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y + +# +# Brownout Detector +# +CONFIG_ESP_BROWNOUT_DET=y +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set +CONFIG_ESP_BROWNOUT_DET_LVL=7 +# end of Brownout Detector + +CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y +# end of ESP System Settings + +# +# IPC (Inter-Processor Call) +# +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +# end of IPC (Inter-Processor Call) + +# +# ESP Timer (High Resolution Timer) +# +# CONFIG_ESP_TIMER_PROFILING is not set +CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y +CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y +CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 +# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set +CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 +CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y +CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set +CONFIG_ESP_TIMER_IMPL_SYSTIMER=y +# end of ESP Timer (High Resolution Timer) + +# +# Wi-Fi +# +CONFIG_ESP_WIFI_ENABLED=y +CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=16 +CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=32 +CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y +# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set +CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 +CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 +# CONFIG_ESP_WIFI_CSI_ENABLED is not set +CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP_WIFI_TX_BA_WIN=6 +CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP_WIFI_RX_BA_WIN=6 +# CONFIG_ESP_WIFI_AMSDU_TX_ENABLED is not set +CONFIG_ESP_WIFI_NVS_ENABLED=y +CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 +CONFIG_ESP_WIFI_IRAM_OPT=y +CONFIG_ESP_WIFI_EXTRA_IRAM_OPT=y +CONFIG_ESP_WIFI_RX_IRAM_OPT=y +CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP_WIFI_ENABLE_SAE_PK=y +CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y +CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y +CONFIG_ESP_WIFI_SLP_IRAM_OPT=y +CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 +CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 +CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 +# CONFIG_ESP_WIFI_FTM_ENABLE is not set +CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y +# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set +CONFIG_ESP_WIFI_GMAC_SUPPORT=y +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y +# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set +CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 +CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y +CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y +# CONFIG_ESP_WIFI_EAP_TLS1_3 is not set +# CONFIG_ESP_WIFI_WAPI_PSK is not set +# CONFIG_ESP_WIFI_SUITE_B_192 is not set +# CONFIG_ESP_WIFI_11KV_SUPPORT is not set +# CONFIG_ESP_WIFI_MBO_SUPPORT is not set +# CONFIG_ESP_WIFI_ENABLE_ROAMING_APP is not set +# CONFIG_ESP_WIFI_DPP_SUPPORT is not set +# CONFIG_ESP_WIFI_11R_SUPPORT is not set +# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set + +# +# WPS Configuration Options +# +# CONFIG_ESP_WIFI_WPS_STRICT is not set +# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set +# end of WPS Configuration Options + +# CONFIG_ESP_WIFI_DEBUG_PRINT is not set +# CONFIG_ESP_WIFI_TESTING_OPTIONS is not set +CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y +# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set +# end of Wi-Fi + +# +# Core dump +# +# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set +# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set +CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y +# end of Core dump + +# +# FAT Filesystem support +# +CONFIG_FATFS_VOLUME_COUNT=2 +# CONFIG_FATFS_LFN_NONE is not set +CONFIG_FATFS_LFN_HEAP=y +# CONFIG_FATFS_LFN_STACK is not set +# CONFIG_FATFS_SECTOR_512 is not set +CONFIG_FATFS_SECTOR_4096=y +# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set +CONFIG_FATFS_CODEPAGE_437=y +# CONFIG_FATFS_CODEPAGE_720 is not set +# CONFIG_FATFS_CODEPAGE_737 is not set +# CONFIG_FATFS_CODEPAGE_771 is not set +# CONFIG_FATFS_CODEPAGE_775 is not set +# CONFIG_FATFS_CODEPAGE_850 is not set +# CONFIG_FATFS_CODEPAGE_852 is not set +# CONFIG_FATFS_CODEPAGE_855 is not set +# CONFIG_FATFS_CODEPAGE_857 is not set +# CONFIG_FATFS_CODEPAGE_860 is not set +# CONFIG_FATFS_CODEPAGE_861 is not set +# CONFIG_FATFS_CODEPAGE_862 is not set +# CONFIG_FATFS_CODEPAGE_863 is not set +# CONFIG_FATFS_CODEPAGE_864 is not set +# CONFIG_FATFS_CODEPAGE_865 is not set +# CONFIG_FATFS_CODEPAGE_866 is not set +# CONFIG_FATFS_CODEPAGE_869 is not set +# CONFIG_FATFS_CODEPAGE_932 is not set +# CONFIG_FATFS_CODEPAGE_936 is not set +# CONFIG_FATFS_CODEPAGE_949 is not set +# CONFIG_FATFS_CODEPAGE_950 is not set +CONFIG_FATFS_CODEPAGE=437 +CONFIG_FATFS_MAX_LFN=255 +CONFIG_FATFS_API_ENCODING_ANSI_OEM=y +# CONFIG_FATFS_API_ENCODING_UTF_8 is not set +CONFIG_FATFS_FS_LOCK=0 +CONFIG_FATFS_TIMEOUT_MS=10000 +CONFIG_FATFS_PER_FILE_CACHE=y +CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y +# CONFIG_FATFS_USE_FASTSEEK is not set +CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 +# CONFIG_FATFS_IMMEDIATE_FSYNC is not set +# CONFIG_FATFS_USE_LABEL is not set +CONFIG_FATFS_LINK_LOCK=y +# end of FAT Filesystem support + +# +# FreeRTOS +# + +# +# Kernel +# +# CONFIG_FREERTOS_SMP is not set +CONFIG_FREERTOS_UNICORE=y +CONFIG_FREERTOS_HZ=1000 +CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 +# CONFIG_FREERTOS_USE_IDLE_HOOK is not set +# CONFIG_FREERTOS_USE_TICK_HOOK is not set +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set +CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set +CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y +CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set +# end of Kernel + +# +# Port +# +# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set +CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y +# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set +# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set +CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y +CONFIG_FREERTOS_ISR_STACKSIZE=1536 +CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y +CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y +CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y +# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set +CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y +CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set +# end of Port + +CONFIG_FREERTOS_PORT=y +CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y +CONFIG_FREERTOS_DEBUG_OCDAWARE=y +CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y +CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y +CONFIG_FREERTOS_NUMBER_OF_CORES=1 +# end of FreeRTOS + +# +# Hardware Abstraction Layer (HAL) and Low Level (LL) +# +CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y +# CONFIG_HAL_ASSERTION_DISABLE is not set +# CONFIG_HAL_ASSERTION_SILENT is not set +# CONFIG_HAL_ASSERTION_ENABLE is not set +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +CONFIG_HAL_WDT_USE_ROM_IMPL=y +CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y +CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y +# end of Hardware Abstraction Layer (HAL) and Low Level (LL) + +# +# Heap memory debugging +# +CONFIG_HEAP_POISONING_DISABLED=y +# CONFIG_HEAP_POISONING_LIGHT is not set +# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set +CONFIG_HEAP_TRACING_OFF=y +# CONFIG_HEAP_TRACING_STANDALONE is not set +# CONFIG_HEAP_TRACING_TOHOST is not set +# CONFIG_HEAP_USE_HOOKS is not set +# CONFIG_HEAP_TASK_TRACKING is not set +# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set +# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set +# end of Heap memory debugging + +# +# Log output +# +# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set +# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set +# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set +CONFIG_LOG_DEFAULT_LEVEL_INFO=y +# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set +# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set +CONFIG_LOG_DEFAULT_LEVEL=3 +CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y +# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set +CONFIG_LOG_MAXIMUM_LEVEL=3 +# CONFIG_LOG_MASTER_LEVEL is not set +CONFIG_LOG_COLORS=y +CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y +# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set +# end of Log output + +# +# LWIP +# +CONFIG_LWIP_ENABLE=y +CONFIG_LWIP_LOCAL_HOSTNAME="espressif" +# CONFIG_LWIP_NETIF_API is not set +CONFIG_LWIP_TCPIP_TASK_PRIO=18 +# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set +# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set +CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y +# CONFIG_LWIP_L2_TO_L3_COPY is not set +# CONFIG_LWIP_IRAM_OPTIMIZATION is not set +# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set +CONFIG_LWIP_TIMERS_ONDEMAND=y +CONFIG_LWIP_ND6=y +# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set +CONFIG_LWIP_MAX_SOCKETS=10 +# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set +# CONFIG_LWIP_SO_LINGER is not set +CONFIG_LWIP_SO_REUSE=y +CONFIG_LWIP_SO_REUSE_RXTOALL=y +# CONFIG_LWIP_SO_RCVBUF is not set +# CONFIG_LWIP_NETBUF_RECVINFO is not set +CONFIG_LWIP_IP_DEFAULT_TTL=64 +CONFIG_LWIP_IP4_FRAG=y +CONFIG_LWIP_IP6_FRAG=y +# CONFIG_LWIP_IP4_REASSEMBLY is not set +# CONFIG_LWIP_IP6_REASSEMBLY is not set +CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 +# CONFIG_LWIP_IP_FORWARD is not set +# CONFIG_LWIP_STATS is not set +CONFIG_LWIP_ESP_GRATUITOUS_ARP=y +CONFIG_LWIP_GARP_TMR_INTERVAL=60 +CONFIG_LWIP_ESP_MLDV6_REPORT=y +CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 +CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y +# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set +CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y +# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set +CONFIG_LWIP_DHCP_OPTIONS_LEN=68 +CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 +CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 + +# +# DHCP server +# +CONFIG_LWIP_DHCPS=y +CONFIG_LWIP_DHCPS_LEASE_UNIT=60 +CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 +CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y +# end of DHCP server + +# CONFIG_LWIP_AUTOIP is not set +CONFIG_LWIP_IPV4=y +CONFIG_LWIP_IPV6=y +# CONFIG_LWIP_IPV6_AUTOCONFIG is not set +CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 +# CONFIG_LWIP_IPV6_FORWARD is not set +# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set +CONFIG_LWIP_NETIF_LOOPBACK=y +CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 + +# +# TCP +# +CONFIG_LWIP_MAX_ACTIVE_TCP=16 +CONFIG_LWIP_MAX_LISTENING_TCP=16 +CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y +CONFIG_LWIP_TCP_MAXRTX=12 +CONFIG_LWIP_TCP_SYNMAXRTX=12 +CONFIG_LWIP_TCP_MSS=1440 +CONFIG_LWIP_TCP_TMR_INTERVAL=250 +CONFIG_LWIP_TCP_MSL=60000 +CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 +CONFIG_LWIP_TCP_WND_DEFAULT=5760 +CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 +CONFIG_LWIP_TCP_QUEUE_OOSEQ=y +CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 +CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 +# CONFIG_LWIP_TCP_SACK_OUT is not set +CONFIG_LWIP_TCP_OVERSIZE_MSS=y +# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set +CONFIG_LWIP_TCP_RTO_TIME=1500 +# end of TCP + +# +# UDP +# +CONFIG_LWIP_MAX_UDP_PCBS=16 +CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 +# end of UDP + +# +# Checksums +# +# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set +# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set +CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y +# end of Checksums + +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set +CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_LWIP_PPP_SUPPORT is not set +CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 +CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +# CONFIG_LWIP_SLIP_SUPPORT is not set + +# +# ICMP +# +CONFIG_LWIP_ICMP=y +# CONFIG_LWIP_MULTICAST_PING is not set +# CONFIG_LWIP_BROADCAST_PING is not set +# end of ICMP + +# +# LWIP RAW API +# +CONFIG_LWIP_MAX_RAW_PCBS=16 +# end of LWIP RAW API + +# +# SNTP +# +CONFIG_LWIP_SNTP_MAX_SERVERS=1 +# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set +CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 +CONFIG_LWIP_SNTP_STARTUP_DELAY=y +CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 +# end of SNTP + +# +# DNS +# +CONFIG_LWIP_DNS_MAX_SERVERS=3 +# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set +# end of DNS + +CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 +CONFIG_LWIP_ESP_LWIP_ASSERT=y + +# +# Hooks +# +# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set +CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y +# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set +CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y +# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set +# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set +CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y +# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set +# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set +CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set +CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set +CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y +# CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT is not set +# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set +# end of Hooks + +# CONFIG_LWIP_DEBUG is not set +# end of LWIP + +# +# mbedTLS +# +CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC is not set +# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set +# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set +CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y +CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 +CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 +# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set +# CONFIG_MBEDTLS_DEBUG is not set + +# +# mbedTLS v3.x related +# +# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y +CONFIG_MBEDTLS_PKCS7_C=y +# end of mbedTLS v3.x related + +# +# Certificate Bundle +# +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set +# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 +# end of Certificate Bundle + +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +CONFIG_MBEDTLS_CMAC_C=y +CONFIG_MBEDTLS_HARDWARE_AES=y +CONFIG_MBEDTLS_AES_USE_INTERRUPT=y +CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 +CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y +CONFIG_MBEDTLS_HARDWARE_MPI=y +CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y +CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y +CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 +CONFIG_MBEDTLS_HARDWARE_SHA=y +CONFIG_MBEDTLS_ROM_MD5=y +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set +CONFIG_MBEDTLS_HAVE_TIME=y +# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set +CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y +CONFIG_MBEDTLS_SHA512_C=y +CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y +# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set +# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set +# CONFIG_MBEDTLS_TLS_DISABLED is not set +CONFIG_MBEDTLS_TLS_SERVER=y +CONFIG_MBEDTLS_TLS_CLIENT=y +CONFIG_MBEDTLS_TLS_ENABLED=y + +# +# TLS Key Exchange Methods +# +# CONFIG_MBEDTLS_PSK_MODES is not set +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y +# end of TLS Key Exchange Methods + +CONFIG_MBEDTLS_SSL_RENEGOTIATION=y +CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +CONFIG_MBEDTLS_SSL_ALPN=y +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y + +# +# Symmetric Ciphers +# +CONFIG_MBEDTLS_AES_C=y +# CONFIG_MBEDTLS_CAMELLIA_C is not set +# CONFIG_MBEDTLS_DES_C is not set +# CONFIG_MBEDTLS_BLOWFISH_C is not set +# CONFIG_MBEDTLS_XTEA_C is not set +CONFIG_MBEDTLS_CCM_C=y +CONFIG_MBEDTLS_GCM_C=y +# CONFIG_MBEDTLS_NIST_KW_C is not set +# end of Symmetric Ciphers + +# CONFIG_MBEDTLS_RIPEMD160_C is not set + +# +# Certificates +# +CONFIG_MBEDTLS_PEM_PARSE_C=y +CONFIG_MBEDTLS_PEM_WRITE_C=y +CONFIG_MBEDTLS_X509_CRL_PARSE_C=y +CONFIG_MBEDTLS_X509_CSR_PARSE_C=y +# end of Certificates + +CONFIG_MBEDTLS_ECP_C=y +# CONFIG_MBEDTLS_DHM_C is not set +CONFIG_MBEDTLS_ECDH_C=y +CONFIG_MBEDTLS_ECDSA_C=y +# CONFIG_MBEDTLS_ECJPAKE_C is not set +CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y +CONFIG_MBEDTLS_ECP_NIST_OPTIM=y +CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM=y +# CONFIG_MBEDTLS_POLY1305_C is not set +# CONFIG_MBEDTLS_CHACHA20_C is not set +# CONFIG_MBEDTLS_HKDF_C is not set +# CONFIG_MBEDTLS_THREADING_C is not set +CONFIG_MBEDTLS_ERROR_STRINGS=y +# end of mbedTLS + +# +# ESP-MQTT Configurations +# +CONFIG_MQTT_PROTOCOL_311=y +# CONFIG_MQTT_PROTOCOL_5 is not set +CONFIG_MQTT_TRANSPORT_SSL=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y +# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set +# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set +# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set +# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set +# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set +# CONFIG_MQTT_CUSTOM_OUTBOX is not set +# end of ESP-MQTT Configurations + +# +# Newlib +# +CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set +CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y +# CONFIG_NEWLIB_NANO_FORMAT is not set +CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y +# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set +# end of Newlib + +CONFIG_STDATOMIC_S32C1I_SPIRAM_WORKAROUND=y + +# +# NVS +# +# CONFIG_NVS_ENCRYPTION is not set +# CONFIG_NVS_ASSERT_ERROR_CHECK is not set +# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set +# end of NVS + +# +# OpenThread +# +# CONFIG_OPENTHREAD_ENABLED is not set + +# +# Thread Operational Dataset +# +CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP" +CONFIG_OPENTHREAD_MESH_LOCAL_PREFIX="fd00:db8:a0:0::/64" +CONFIG_OPENTHREAD_NETWORK_CHANNEL=15 +CONFIG_OPENTHREAD_NETWORK_PANID=0x1234 +CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe" +CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff" +CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53" +# end of Thread Operational Dataset + +CONFIG_OPENTHREAD_XTAL_ACCURACY=130 +# CONFIG_OPENTHREAD_SPINEL_ONLY is not set +# CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE is not set + +# +# Thread Address Query Config +# +# end of Thread Address Query Config +# end of OpenThread + +# +# Protocomm +# +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y +# end of Protocomm + +# +# PThreads +# +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_PTHREAD_STACK_MIN=768 +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" +# end of PThreads + +# +# MMU Config +# +CONFIG_MMU_PAGE_SIZE_64KB=y +CONFIG_MMU_PAGE_MODE="64KB" +CONFIG_MMU_PAGE_SIZE=0x10000 +# end of MMU Config + +# +# Main Flash configuration +# + +# +# SPI Flash behavior when brownout +# +CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y +CONFIG_SPI_FLASH_BROWNOUT_RESET=y +# end of SPI Flash behavior when brownout + +# +# Optional and Experimental Features (READ DOCS FIRST) +# + +# +# Features here require specific hardware (READ DOCS FIRST!) +# +# CONFIG_SPI_FLASH_HPM_ENA is not set +CONFIG_SPI_FLASH_HPM_AUTO=y +# CONFIG_SPI_FLASH_HPM_DIS is not set +CONFIG_SPI_FLASH_HPM_ON=y +CONFIG_SPI_FLASH_HPM_DC_AUTO=y +# CONFIG_SPI_FLASH_HPM_DC_DISABLE is not set +CONFIG_SPI_FLASH_SUSPEND_QVL_SUPPORTED=y +# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set +CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 +# end of Optional and Experimental Features (READ DOCS FIRST) +# end of Main Flash configuration + +# +# SPI Flash driver +# +# CONFIG_SPI_FLASH_VERIFY_WRITE is not set +# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +# CONFIG_SPI_FLASH_ROM_IMPL is not set +CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y +CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 +CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 +CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 +# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set +# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set +# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set + +# +# Auto-detect flash chips +# +CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_TH_SUPPORTED=y +# CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_GD_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set +CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP=y +# end of Auto-detect flash chips + +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y +# end of SPI Flash driver + +# +# SPIFFS Configuration +# +CONFIG_SPIFFS_MAX_PARTITIONS=3 + +# +# SPIFFS Cache Configuration +# +CONFIG_SPIFFS_CACHE=y +CONFIG_SPIFFS_CACHE_WR=y +# CONFIG_SPIFFS_CACHE_STATS is not set +# end of SPIFFS Cache Configuration + +CONFIG_SPIFFS_PAGE_CHECK=y +CONFIG_SPIFFS_GC_MAX_RUNS=10 +# CONFIG_SPIFFS_GC_STATS is not set +CONFIG_SPIFFS_PAGE_SIZE=256 +CONFIG_SPIFFS_OBJ_NAME_LEN=32 +# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set +CONFIG_SPIFFS_USE_MAGIC=y +CONFIG_SPIFFS_USE_MAGIC_LENGTH=y +CONFIG_SPIFFS_META_LENGTH=4 +CONFIG_SPIFFS_USE_MTIME=y + +# +# Debug Configuration +# +# CONFIG_SPIFFS_DBG is not set +# CONFIG_SPIFFS_API_DBG is not set +# CONFIG_SPIFFS_GC_DBG is not set +# CONFIG_SPIFFS_CACHE_DBG is not set +# CONFIG_SPIFFS_CHECK_DBG is not set +# CONFIG_SPIFFS_TEST_VISUALISATION is not set +# end of Debug Configuration +# end of SPIFFS Configuration + +# +# TCP Transport +# + +# +# Websocket +# +CONFIG_WS_TRANSPORT=y +CONFIG_WS_BUFFER_SIZE=1024 +# CONFIG_WS_DYNAMIC_BUFFER is not set +# end of Websocket +# end of TCP Transport + +# +# Ultra Low Power (ULP) Co-processor +# +# CONFIG_ULP_COPROC_ENABLED is not set + +# +# ULP Debugging Options +# +# end of ULP Debugging Options +# end of Ultra Low Power (ULP) Co-processor + +# +# Unity unit testing library +# +CONFIG_UNITY_ENABLE_FLOAT=y +CONFIG_UNITY_ENABLE_DOUBLE=y +# CONFIG_UNITY_ENABLE_64BIT is not set +# CONFIG_UNITY_ENABLE_COLOR is not set +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y +# CONFIG_UNITY_ENABLE_FIXTURE is not set +# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set +# end of Unity unit testing library + +# +# USB-OTG +# +CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256 +CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y +# CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set +# CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set + +# +# Root Hub configuration +# +CONFIG_USB_HOST_DEBOUNCE_DELAY_MS=250 +CONFIG_USB_HOST_RESET_HOLD_MS=30 +CONFIG_USB_HOST_RESET_RECOVERY_MS=30 +CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10 +# end of Root Hub configuration + +# CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set +# CONFIG_USB_HOST_EXT_HUB_SUPPORT is not set +CONFIG_USB_OTG_SUPPORTED=y +# end of USB-OTG + +# +# Virtual file system +# +CONFIG_VFS_SUPPORT_IO=y +CONFIG_VFS_SUPPORT_DIR=y +CONFIG_VFS_SUPPORT_SELECT=y +CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y +# CONFIG_VFS_SELECT_IN_RAM is not set +CONFIG_VFS_SUPPORT_TERMIOS=y +CONFIG_VFS_MAX_COUNT=8 + +# +# Host File System I/O (Semihosting) +# +CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# end of Host File System I/O (Semihosting) +# end of Virtual file system + +# +# Wear Levelling +# +# CONFIG_WL_SECTOR_SIZE_512 is not set +CONFIG_WL_SECTOR_SIZE_4096=y +CONFIG_WL_SECTOR_SIZE=4096 +# end of Wear Levelling + +# +# Wi-Fi Provisioning Manager +# +CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 +CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 +# CONFIG_WIFI_PROV_BLE_BONDING is not set +CONFIG_WIFI_PROV_BLE_SEC_CONN=y +# CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set +# CONFIG_WIFI_PROV_KEEP_BLE_ON_AFTER_PROV is not set +CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y +# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set +# end of Wi-Fi Provisioning Manager + +# +# LVGL configuration +# +CONFIG_LV_CONF_SKIP=y +# CONFIG_LV_CONF_MINIMAL is not set + +# +# Color settings +# +# CONFIG_LV_COLOR_DEPTH_32 is not set +CONFIG_LV_COLOR_DEPTH_16=y +# CONFIG_LV_COLOR_DEPTH_8 is not set +# CONFIG_LV_COLOR_DEPTH_1 is not set +CONFIG_LV_COLOR_DEPTH=16 +CONFIG_LV_COLOR_16_SWAP=y +# CONFIG_LV_COLOR_SCREEN_TRANSP is not set +CONFIG_LV_COLOR_MIX_ROUND_OFS=128 +CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 +# end of Color settings + +# +# Memory settings +# +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEM_CUSTOM_INCLUDE="stdlib.h" +CONFIG_LV_MEM_BUF_MAX_NUM=16 +# CONFIG_LV_MEMCPY_MEMSET_STD is not set +# end of Memory settings + +# +# HAL Settings +# +CONFIG_LV_DISP_DEF_REFR_PERIOD=5 +CONFIG_LV_INDEV_DEF_READ_PERIOD=30 +# CONFIG_LV_TICK_CUSTOM is not set +CONFIG_LV_DPI_DEF=217 +# end of HAL Settings + +# +# Feature configuration +# + +# +# Drawing +# +CONFIG_LV_DRAW_COMPLEX=y +CONFIG_LV_SHADOW_CACHE_SIZE=0 +CONFIG_LV_CIRCLE_CACHE_SIZE=4 +CONFIG_LV_LAYER_SIMPLE_BUF_SIZE=24576 +CONFIG_LV_IMG_CACHE_DEF_SIZE=0 +CONFIG_LV_GRADIENT_MAX_STOPS=2 +CONFIG_LV_GRAD_CACHE_DEF_SIZE=0 +# CONFIG_LV_DITHER_GRADIENT is not set +CONFIG_LV_DISP_ROT_MAX_BUF=10240 +# end of Drawing + +# +# GPU +# +# CONFIG_LV_USE_GPU_ARM2D is not set +# CONFIG_LV_USE_GPU_STM32_DMA2D is not set +# CONFIG_LV_USE_GPU_RA6M3_G2D is not set +# CONFIG_LV_USE_GPU_SWM341_DMA2D is not set +# CONFIG_LV_USE_GPU_NXP_PXP is not set +# CONFIG_LV_USE_GPU_NXP_VG_LITE is not set +# CONFIG_LV_USE_GPU_SDL is not set +# end of GPU + +# +# Logging +# +# CONFIG_LV_USE_LOG is not set +# end of Logging + +# +# Asserts +# +CONFIG_LV_USE_ASSERT_NULL=y +CONFIG_LV_USE_ASSERT_MALLOC=y +# CONFIG_LV_USE_ASSERT_STYLE is not set +# CONFIG_LV_USE_ASSERT_MEM_INTEGRITY is not set +# CONFIG_LV_USE_ASSERT_OBJ is not set +CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" +# end of Asserts + +# +# Others +# +# CONFIG_LV_USE_PERF_MONITOR is not set +# CONFIG_LV_USE_REFR_DEBUG is not set +# CONFIG_LV_SPRINTF_CUSTOM is not set +# CONFIG_LV_SPRINTF_USE_FLOAT is not set +CONFIG_LV_USE_USER_DATA=y +# CONFIG_LV_ENABLE_GC is not set +# end of Others + +# +# Compiler settings +# +# CONFIG_LV_BIG_ENDIAN_SYSTEM is not set +CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 +CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y +# CONFIG_LV_USE_LARGE_COORD is not set +# end of Compiler settings +# end of Feature configuration + +# +# Font usage +# + +# +# Enable built-in fonts +# +CONFIG_LV_FONT_MONTSERRAT_8=y +CONFIG_LV_FONT_MONTSERRAT_10=y +CONFIG_LV_FONT_MONTSERRAT_12=y +CONFIG_LV_FONT_MONTSERRAT_14=y +CONFIG_LV_FONT_MONTSERRAT_16=y +CONFIG_LV_FONT_MONTSERRAT_18=y +# CONFIG_LV_FONT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_MONTSERRAT_22 is not set +CONFIG_LV_FONT_MONTSERRAT_24=y +# CONFIG_LV_FONT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_UNSCII_8 is not set +# CONFIG_LV_FONT_UNSCII_16 is not set +# CONFIG_LV_FONT_CUSTOM is not set +# end of Enable built-in fonts + +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12 is not set +CONFIG_LV_FONT_DEFAULT_MONTSERRAT_14=y +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_16 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_16 is not set +# CONFIG_LV_FONT_FMT_TXT_LARGE is not set +# CONFIG_LV_USE_FONT_COMPRESSED is not set +# CONFIG_LV_USE_FONT_SUBPX is not set +CONFIG_LV_USE_FONT_PLACEHOLDER=y +# end of Font usage + +# +# Text Settings +# +CONFIG_LV_TXT_ENC_UTF8=y +# CONFIG_LV_TXT_ENC_ASCII is not set +CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_" +CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0 +CONFIG_LV_TXT_COLOR_CMD="#" +# CONFIG_LV_USE_BIDI is not set +# CONFIG_LV_USE_ARABIC_PERSIAN_CHARS is not set +# end of Text Settings + +# +# Widget usage +# +CONFIG_LV_USE_ARC=y +CONFIG_LV_USE_BAR=y +CONFIG_LV_USE_BTN=y +CONFIG_LV_USE_BTNMATRIX=y +CONFIG_LV_USE_CANVAS=y +CONFIG_LV_USE_CHECKBOX=y +CONFIG_LV_USE_DROPDOWN=y +CONFIG_LV_USE_IMG=y +CONFIG_LV_USE_LABEL=y +CONFIG_LV_LABEL_TEXT_SELECTION=y +CONFIG_LV_LABEL_LONG_TXT_HINT=y +CONFIG_LV_USE_LINE=y +CONFIG_LV_USE_ROLLER=y +CONFIG_LV_ROLLER_INF_PAGES=7 +CONFIG_LV_USE_SLIDER=y +CONFIG_LV_USE_SWITCH=y +CONFIG_LV_USE_TEXTAREA=y +CONFIG_LV_TEXTAREA_DEF_PWD_SHOW_TIME=1500 +CONFIG_LV_USE_TABLE=y +# end of Widget usage + +# +# Extra Widgets +# +CONFIG_LV_USE_ANIMIMG=y +CONFIG_LV_USE_CALENDAR=y +# CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY is not set +CONFIG_LV_USE_CALENDAR_HEADER_ARROW=y +CONFIG_LV_USE_CALENDAR_HEADER_DROPDOWN=y +CONFIG_LV_USE_CHART=y +CONFIG_LV_USE_COLORWHEEL=y +CONFIG_LV_USE_IMGBTN=y +CONFIG_LV_USE_KEYBOARD=y +CONFIG_LV_USE_LED=y +CONFIG_LV_USE_LIST=y +CONFIG_LV_USE_MENU=y +CONFIG_LV_USE_METER=y +CONFIG_LV_USE_MSGBOX=y +CONFIG_LV_USE_SPAN=y +CONFIG_LV_SPAN_SNIPPET_STACK_SIZE=64 +CONFIG_LV_USE_SPINBOX=y +CONFIG_LV_USE_SPINNER=y +CONFIG_LV_USE_TABVIEW=y +CONFIG_LV_USE_TILEVIEW=y +CONFIG_LV_USE_WIN=y +# end of Extra Widgets + +# +# Themes +# +CONFIG_LV_USE_THEME_DEFAULT=y +# CONFIG_LV_THEME_DEFAULT_DARK is not set +CONFIG_LV_THEME_DEFAULT_GROW=y +CONFIG_LV_THEME_DEFAULT_TRANSITION_TIME=80 +CONFIG_LV_USE_THEME_BASIC=y +# CONFIG_LV_USE_THEME_MONO is not set +# end of Themes + +# +# Layouts +# +CONFIG_LV_USE_FLEX=y +CONFIG_LV_USE_GRID=y +# end of Layouts + +# +# 3rd Party Libraries +# +# CONFIG_LV_USE_FS_STDIO is not set +# CONFIG_LV_USE_FS_POSIX is not set +# CONFIG_LV_USE_FS_WIN32 is not set +# CONFIG_LV_USE_FS_FATFS is not set +# CONFIG_LV_USE_FS_LITTLEFS is not set +# CONFIG_LV_USE_PNG is not set +# CONFIG_LV_USE_BMP is not set +# CONFIG_LV_USE_SJPG is not set +CONFIG_LV_USE_GIF=y +# CONFIG_LV_USE_QRCODE is not set +# CONFIG_LV_USE_FREETYPE is not set +# CONFIG_LV_USE_TINY_TTF is not set +# CONFIG_LV_USE_RLOTTIE is not set +# CONFIG_LV_USE_FFMPEG is not set +# end of 3rd Party Libraries + +# +# Others +# +CONFIG_LV_USE_SNAPSHOT=y +# CONFIG_LV_USE_MONKEY is not set +# CONFIG_LV_USE_GRIDNAV is not set +# CONFIG_LV_USE_FRAGMENT is not set +# CONFIG_LV_USE_IMGFONT is not set +# CONFIG_LV_USE_MSG is not set +# CONFIG_LV_USE_IME_PINYIN is not set +# end of Others + +# +# Examples +# +# CONFIG_LV_BUILD_EXAMPLES is not set +# end of Examples + +# +# Demos +# +# CONFIG_LV_USE_DEMO_WIDGETS is not set +# CONFIG_LV_USE_DEMO_KEYPAD_AND_ENCODER is not set +# CONFIG_LV_USE_DEMO_BENCHMARK is not set +# CONFIG_LV_USE_DEMO_STRESS is not set +# CONFIG_LV_USE_DEMO_MUSIC is not set +# end of Demos +# end of LVGL configuration + +# +# LVGL ESP Drivers +# + +# +# LVGL TFT Display controller +# +CONFIG_LV_PREDEFINED_DISPLAY_NONE=y +# CONFIG_LV_PREDEFINED_DISPLAY_WROVER4 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STACK is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5CORE2 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STICK is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STICKC is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ERTFT0356 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ADA_FEATHERWING is not set +# CONFIG_LV_PREDEFINED_DISPLAY_RPI_MPI3501 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_WEMOS_LOLIN is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ATAG is not set +# CONFIG_LV_PREDEFINED_DISPLAY_RPI_RA8875 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_TTGO is not set +# CONFIG_LV_PREDEFINED_DISPLAY_TTGO_CAMERA_PLUS is not set +# CONFIG_LV_PREDEFINED_DISPLAY_WT32_SC01 is not set +CONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9341=y +CONFIG_LV_TFT_DISPLAY_PROTOCOL_SPI=y +CONFIG_LV_HOR_RES_MAX=240 +CONFIG_LV_VER_RES_MAX=320 +CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT=y +# CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT_INVERTED is not set +# CONFIG_LV_DISPLAY_ORIENTATION_LANDSCAPE is not set +# CONFIG_LV_DISPLAY_ORIENTATION_LANDSCAPE_INVERTED is not set +CONFIG_LV_DISPLAY_ORIENTATION=0 +CONFIG_LV_PREDEFINED_PINS_NONE=y +# CONFIG_LV_PREDEFINED_PINS_38V4 is not set +# CONFIG_LV_PREDEFINED_PINS_30 is not set +# CONFIG_LV_PREDEFINED_PINS_38V1 is not set +# CONFIG_LV_PREDEFINED_PINS_TKOALA is not set +CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9341=y +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9481 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9486 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9488 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7789 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7796S is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_GC9A01 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7735S is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_HX8357 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SH1107 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SSD1306 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_FT81X is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_IL3820 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_JD79653A is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_UC8151D is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_RA8875 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9163C is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_PCD8544 is not set +# CONFIG_CUSTOM_DISPLAY_BUFFER_SIZE is not set +CONFIG_LV_TFT_DISPLAY_SPI2_HOST=y +# CONFIG_LV_TFT_DISPLAY_SPI3_HOST is not set +CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_SIO=y +# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_DIO is not set +# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_QIO is not set +CONFIG_LV_TFT_DISPLAY_SPI_HALF_DUPLEX=y +# CONFIG_LV_TFT_DISPLAY_SPI_FULL_DUPLEX is not set +CONFIG_LV_TFT_USE_CUSTOM_SPI_CLK_DIVIDER=y +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_1 is not set +CONFIG_LV_TFT_SPI_CLK_DIVIDER_2=y +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_3 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_4 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_5 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_6 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_7 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_8 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_9 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_10 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_12 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_16 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_20 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_24 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_32 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_40 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_48 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_80 is not set +CONFIG_LV_TFT_CUSTOM_SPI_CLK_DIVIDER=2 +# CONFIG_LV_INVERT_COLORS is not set + +# +# Display Pin Assignments +# +CONFIG_LV_DISP_SPI_MOSI=23 +CONFIG_LV_DISPLAY_USE_SPI_MISO=y +CONFIG_LV_DISP_SPI_MISO=19 +CONFIG_LV_DISP_SPI_INPUT_DELAY_NS=0 +CONFIG_LV_DISP_SPI_CLK=18 +CONFIG_LV_DISPLAY_USE_SPI_CS=y +CONFIG_LV_DISP_SPI_CS=17 +CONFIG_LV_DISPLAY_USE_DC=y +CONFIG_LV_DISP_PIN_DC=16 +CONFIG_LV_DISP_USE_RST=y +CONFIG_LV_DISP_PIN_RST=5 +# end of Display Pin Assignments + +# CONFIG_LV_DISP_BACKLIGHT_OFF is not set +CONFIG_LV_DISP_BACKLIGHT_SWITCH=y +# CONFIG_LV_DISP_BACKLIGHT_PWM is not set +CONFIG_LV_BACKLIGHT_ACTIVE_LVL=y +CONFIG_LV_DISP_PIN_BCKL=32 +CONFIG_LV_I2C=y +CONFIG_LV_I2C_DISPLAY_PORT=0 +# end of LVGL TFT Display controller + +# +# LVGL Touch controller +# +CONFIG_LV_TOUCH_CONTROLLER=7 +# CONFIG_LV_TOUCH_CONTROLLER_NONE is not set +# CONFIG_LV_TOUCH_CONTROLLER_XPT2046 is not set +# CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set +# CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set +# CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set +# CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set +# CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set +CONFIG_LV_TOUCH_CONTROLLER_GT911=y +CONFIG_LV_I2C_TOUCH=y + +# +# Touchpanel Configuration (GT911) +# +CONFIG_LV_GT911_SWAPXY=y +# CONFIG_LV_GT911_INVERT_X is not set +CONFIG_LV_GT911_INVERT_Y=y +# end of Touchpanel Configuration (GT911) + +CONFIG_LV_I2C_TOUCH_PORT_0=y +# CONFIG_LV_I2C_TOUCH_PORT_1 is not set +CONFIG_LV_I2C_TOUCH_PORT=0 +# end of LVGL Touch controller +# end of LVGL ESP Drivers + +# +# I2C Port Settings +# + +# +# I2C Port 0 +# +CONFIG_I2C_MANAGER_0_ENABLED=y +CONFIG_I2C_MANAGER_0_SDA=19 +CONFIG_I2C_MANAGER_0_SCL=20 +CONFIG_I2C_MANAGER_0_FREQ_HZ=400000 +CONFIG_I2C_MANAGER_0_TIMEOUT=100 +CONFIG_I2C_MANAGER_0_LOCK_TIMEOUT=50 +# CONFIG_I2C_MANAGER_0_PULLUPS is not set +# end of I2C Port 0 + +# +# I2C Port 1 +# +# CONFIG_I2C_MANAGER_1_ENABLED is not set +# end of I2C Port 1 +# end of I2C Port Settings + +# +# mDNS +# +CONFIG_MDNS_MAX_INTERFACES=3 +CONFIG_MDNS_MAX_SERVICES=10 +CONFIG_MDNS_TASK_PRIORITY=1 +CONFIG_MDNS_ACTION_QUEUE_LEN=16 +CONFIG_MDNS_TASK_STACK_SIZE=4096 +# CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_MDNS_TASK_AFFINITY_CPU0=y +CONFIG_MDNS_TASK_AFFINITY=0x0 +CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000 +CONFIG_MDNS_TIMER_PERIOD_MS=100 +# CONFIG_MDNS_NETWORKING_SOCKET is not set +# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set +# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set +CONFIG_MDNS_ENABLE_CONSOLE_CLI=y +# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set +CONFIG_MDNS_MULTIPLE_INSTANCE=y + +# +# MDNS Predefined interfaces +# +CONFIG_MDNS_PREDEF_NETIF_STA=y +CONFIG_MDNS_PREDEF_NETIF_AP=y +CONFIG_MDNS_PREDEF_NETIF_ETH=y +# end of MDNS Predefined interfaces +# end of mDNS +# end of Component config + +CONFIG_IDF_EXPERIMENTAL_FEATURES=y + +# Deprecated options for backward compatibility +# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set +# CONFIG_NO_BLOBS is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set +CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y +# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set +CONFIG_LOG_BOOTLOADER_LEVEL=3 +# CONFIG_APP_ROLLBACK_ENABLE is not set +# CONFIG_FLASH_ENCRYPTION_ENABLED is not set +CONFIG_FLASHMODE_QIO=y +# CONFIG_FLASHMODE_QOUT is not set +# CONFIG_FLASHMODE_DIO is not set +# CONFIG_FLASHMODE_DOUT is not set +CONFIG_MONITOR_BAUD=115200 +# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set +CONFIG_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_CXX_EXCEPTIONS is not set +CONFIG_STACK_CHECK_NONE=y +# CONFIG_STACK_CHECK_NORM is not set +# CONFIG_STACK_CHECK_STRONG is not set +# CONFIG_STACK_CHECK_ALL is not set +# CONFIG_WARN_WRITE_STRINGS is not set +# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set +CONFIG_ESP32_APPTRACE_DEST_NONE=y +CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y +# CONFIG_BLUEDROID_ENABLED is not set +CONFIG_NIMBLE_ENABLED=y +CONFIG_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y +# CONFIG_NIMBLE_MEM_ALLOC_MODE_EXTERNAL is not set +# CONFIG_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set +CONFIG_NIMBLE_MAX_CONNECTIONS=3 +CONFIG_NIMBLE_MAX_BONDS=3 +CONFIG_NIMBLE_MAX_CCCDS=8 +CONFIG_NIMBLE_L2CAP_COC_MAX_NUM=0 +CONFIG_NIMBLE_PINNED_TO_CORE=0 +CONFIG_NIMBLE_TASK_STACK_SIZE=4096 +CONFIG_BT_NIMBLE_TASK_STACK_SIZE=4096 +CONFIG_NIMBLE_ROLE_CENTRAL=y +CONFIG_NIMBLE_ROLE_PERIPHERAL=y +CONFIG_NIMBLE_ROLE_BROADCASTER=y +CONFIG_NIMBLE_ROLE_OBSERVER=y +# CONFIG_NIMBLE_NVS_PERSIST is not set +CONFIG_NIMBLE_SM_LEGACY=y +CONFIG_NIMBLE_SM_SC=y +# CONFIG_NIMBLE_SM_SC_DEBUG_KEYS is not set +CONFIG_BT_NIMBLE_SM_SC_LVL=0 +# CONFIG_NIMBLE_DEBUG is not set +CONFIG_NIMBLE_SVC_GAP_DEVICE_NAME="nimble" +CONFIG_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31 +CONFIG_NIMBLE_ATT_PREFERRED_MTU=256 +CONFIG_NIMBLE_SVC_GAP_APPEARANCE=0 +CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT=12 +CONFIG_BT_NIMBLE_ACL_BUF_COUNT=24 +CONFIG_BT_NIMBLE_ACL_BUF_SIZE=255 +CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE=70 +CONFIG_BT_NIMBLE_HCI_EVT_HI_BUF_COUNT=30 +CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT=8 +CONFIG_NIMBLE_HS_FLOW_CTRL=y +CONFIG_NIMBLE_HS_FLOW_CTRL_ITVL=1000 +CONFIG_NIMBLE_HS_FLOW_CTRL_THRESH=2 +CONFIG_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y +CONFIG_NIMBLE_RPA_TIMEOUT=900 +# CONFIG_NIMBLE_MESH is not set +CONFIG_NIMBLE_CRYPTO_STACK_MBEDTLS=y +# CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_EN is not set +CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_DIS=y +CONFIG_SW_COEXIST_ENABLE=y +CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y +CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y +# CONFIG_MCPWM_ISR_IN_IRAM is not set +# CONFIG_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +CONFIG_GDBSTUB_SUPPORT_TASKS=y +CONFIG_GDBSTUB_MAX_TASKS=32 +# CONFIG_OTA_ALLOW_HTTP is not set +CONFIG_ESP32S3_DEEP_SLEEP_WAKEUP_DELAY=0 +CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=0 +CONFIG_ESP32S3_RTC_CLK_SRC_INT_RC=y +# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32S3_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_ESP32S3_RTC_CLK_CAL_CYCLES=1024 +CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP32_PHY_MAX_TX_POWER=20 +# CONFIG_REDUCE_PHY_TX_POWER is not set +# CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set +CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y +CONFIG_PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP=y +CONFIG_ESP32S3_SPIRAM_SUPPORT=y +CONFIG_DEFAULT_PSRAM_CLK_IO=30 +CONFIG_DEFAULT_PSRAM_CS_IO=26 +# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_80 is not set +# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_160 is not set +CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240=y +CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ=240 +CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=3584 +CONFIG_CONSOLE_UART_DEFAULT=y +# CONFIG_CONSOLE_UART_CUSTOM is not set +# CONFIG_CONSOLE_UART_NONE is not set +# CONFIG_ESP_CONSOLE_UART_NONE is not set +CONFIG_CONSOLE_UART=y +CONFIG_CONSOLE_UART_NUM=0 +CONFIG_CONSOLE_UART_BAUDRATE=115200 +# CONFIG_INT_WDT is not set +# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP32S3_DEBUG_OCDAWARE=y +CONFIG_BROWNOUT_DET=y +CONFIG_ESP32S3_BROWNOUT_DET=y +CONFIG_ESP32S3_BROWNOUT_DET=y +CONFIG_BROWNOUT_DET_LVL_SEL_7=y +CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_1 is not set +CONFIG_BROWNOUT_DET_LVL=7 +CONFIG_ESP32S3_BROWNOUT_DET_LVL=7 +CONFIG_IPC_TASK_STACK_SIZE=1024 +CONFIG_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP32_WIFI_ENABLED=y +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 +CONFIG_ESP32_WIFI_CACHE_TX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_CSI_ENABLED is not set +CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP32_WIFI_TX_BA_WIN=6 +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +# CONFIG_ESP32_WIFI_AMSDU_TX_ENABLED is not set +CONFIG_ESP32_WIFI_NVS_ENABLED=y +CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 +CONFIG_ESP32_WIFI_IRAM_OPT=y +CONFIG_ESP32_WIFI_RX_IRAM_OPT=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y +CONFIG_WPA_MBEDTLS_CRYPTO=y +CONFIG_WPA_MBEDTLS_TLS_CLIENT=y +# CONFIG_WPA_WAPI_PSK is not set +# CONFIG_WPA_SUITE_B_192 is not set +# CONFIG_WPA_11KV_SUPPORT is not set +# CONFIG_WPA_MBO_SUPPORT is not set +# CONFIG_WPA_DPP_SUPPORT is not set +# CONFIG_WPA_11R_SUPPORT is not set +# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set +# CONFIG_WPA_WPS_STRICT is not set +# CONFIG_WPA_DEBUG_PRINT is not set +# CONFIG_WPA_TESTING_OPTIONS is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set +CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y +CONFIG_TIMER_TASK_PRIORITY=1 +CONFIG_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_TIMER_QUEUE_LENGTH=10 +# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set +# CONFIG_L2_TO_L3_COPY is not set +CONFIG_ESP_GRATUITOUS_ARP=y +CONFIG_GARP_TMR_INTERVAL=60 +CONFIG_TCPIP_RECVMBOX_SIZE=32 +CONFIG_TCP_MAXRTX=12 +CONFIG_TCP_SYNMAXRTX=12 +CONFIG_TCP_MSS=1440 +CONFIG_TCP_MSL=60000 +CONFIG_TCP_SND_BUF_DEFAULT=5760 +CONFIG_TCP_WND_DEFAULT=5760 +CONFIG_TCP_RECVMBOX_SIZE=6 +CONFIG_TCP_QUEUE_OOSEQ=y +CONFIG_TCP_OVERSIZE_MSS=y +# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_TCP_OVERSIZE_DISABLE is not set +CONFIG_UDP_RECVMBOX_SIZE=6 +CONFIG_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set +CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_PPP_SUPPORT is not set +CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_SYSTIMER=y +CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_FRC1=y +# CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_SYSTIMER is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_FRC1 is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_ESP32_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y +CONFIG_SUPPORT_TERMIOS=y +CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# End of deprecated options diff --git a/configs/sdkconfig.marauderv6 b/configs/sdkconfig.marauderv6 index 2ac60cfb..4d27b353 100644 --- a/configs/sdkconfig.marauderv6 +++ b/configs/sdkconfig.marauderv6 @@ -238,7 +238,7 @@ CONFIG_IDF_CMAKE=y CONFIG_IDF_TOOLCHAIN="gcc" CONFIG_IDF_TARGET_ARCH_XTENSA=y CONFIG_IDF_TARGET_ARCH="xtensa" -CONFIG_IDF_TARGET="esp32" +CONFIG_IDF_TARGET="esp32s3" CONFIG_IDF_INIT_VERSION="5.3.1" CONFIG_IDF_TARGET_ESP32=y CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 diff --git a/dependencies.lock b/dependencies.lock index 3dae7d07..6682d0cc 100644 --- a/dependencies.lock +++ b/dependencies.lock @@ -6,5 +6,5 @@ dependencies: direct_dependencies: - idf manifest_hash: 18f8cad765fd13632cf3e427b305587d3280c096d6e66f6e16c1a1633cee1fc3 -target: esp32s3 +target: esp32c6 version: 2.0.0 diff --git a/sdkconfig b/sdkconfig index bce329b8..f8d6e1cd 100644 --- a/sdkconfig +++ b/sdkconfig @@ -2,38 +2,31 @@ # Automatically generated file. DO NOT EDIT. # Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Configuration # -CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 -CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 CONFIG_SOC_ADC_SUPPORTED=y +CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y CONFIG_SOC_UART_SUPPORTED=y -CONFIG_SOC_PCNT_SUPPORTED=y -CONFIG_SOC_PHY_SUPPORTED=y -CONFIG_SOC_WIFI_SUPPORTED=y -CONFIG_SOC_TWAI_SUPPORTED=y CONFIG_SOC_GDMA_SUPPORTED=y CONFIG_SOC_AHB_GDMA_SUPPORTED=y CONFIG_SOC_GPTIMER_SUPPORTED=y -CONFIG_SOC_LCDCAM_SUPPORTED=y +CONFIG_SOC_PCNT_SUPPORTED=y CONFIG_SOC_MCPWM_SUPPORTED=y -CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y -CONFIG_SOC_CACHE_SUPPORT_WRAP=y -CONFIG_SOC_ULP_SUPPORTED=y -CONFIG_SOC_ULP_FSM_SUPPORTED=y -CONFIG_SOC_RISCV_COPROC_SUPPORTED=y +CONFIG_SOC_TWAI_SUPPORTED=y +CONFIG_SOC_ETM_SUPPORTED=y +CONFIG_SOC_PARLIO_SUPPORTED=y CONFIG_SOC_BT_SUPPORTED=y -CONFIG_SOC_USB_OTG_SUPPORTED=y -CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y -CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y +CONFIG_SOC_IEEE802154_SUPPORTED=y CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y +CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y +CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y +CONFIG_SOC_PHY_SUPPORTED=y +CONFIG_SOC_WIFI_SUPPORTED=y CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y +CONFIG_SOC_ULP_SUPPORTED=y +CONFIG_SOC_LP_CORE_SUPPORTED=y CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y CONFIG_SOC_EFUSE_SUPPORTED=y -CONFIG_SOC_SDMMC_HOST_SUPPORTED=y CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y -CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y CONFIG_SOC_RTC_MEM_SUPPORTED=y -CONFIG_SOC_PSRAM_DMA_CAPABLE=y -CONFIG_SOC_XT_WDT_SUPPORTED=y CONFIG_SOC_I2S_SUPPORTED=y CONFIG_SOC_RMT_SUPPORTED=y CONFIG_SOC_SDM_SUPPORTED=y @@ -42,98 +35,130 @@ CONFIG_SOC_LEDC_SUPPORTED=y CONFIG_SOC_I2C_SUPPORTED=y CONFIG_SOC_SYSTIMER_SUPPORTED=y CONFIG_SOC_SUPPORT_COEXISTENCE=y -CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y CONFIG_SOC_AES_SUPPORTED=y CONFIG_SOC_MPI_SUPPORTED=y CONFIG_SOC_SHA_SUPPORTED=y CONFIG_SOC_HMAC_SUPPORTED=y CONFIG_SOC_DIG_SIGN_SUPPORTED=y +CONFIG_SOC_ECC_SUPPORTED=y CONFIG_SOC_FLASH_ENC_SUPPORTED=y CONFIG_SOC_SECURE_BOOT_SUPPORTED=y -CONFIG_SOC_MEMPROT_SUPPORTED=y -CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y +CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y CONFIG_SOC_BOD_SUPPORTED=y +CONFIG_SOC_APM_SUPPORTED=y +CONFIG_SOC_APM_CTRL_FILTER_SUPPORTED=y +CONFIG_SOC_PMU_SUPPORTED=y +CONFIG_SOC_PAU_SUPPORTED=y +CONFIG_SOC_LP_TIMER_SUPPORTED=y +CONFIG_SOC_LP_AON_SUPPORTED=y +CONFIG_SOC_LP_PERIPHERALS_SUPPORTED=y +CONFIG_SOC_LP_I2C_SUPPORTED=y +CONFIG_SOC_ULP_LP_UART_SUPPORTED=y CONFIG_SOC_CLK_TREE_SUPPORTED=y -CONFIG_SOC_MPU_SUPPORTED=y +CONFIG_SOC_ASSIST_DEBUG_SUPPORTED=y CONFIG_SOC_WDT_SUPPORTED=y CONFIG_SOC_SPI_FLASH_SUPPORTED=y CONFIG_SOC_RNG_SUPPORTED=y CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y -CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y +CONFIG_SOC_MODEM_CLOCK_SUPPORTED=y CONFIG_SOC_PM_SUPPORTED=y CONFIG_SOC_XTAL_SUPPORT_40M=y -CONFIG_SOC_APPCPU_HAS_CLOCK_GATING_BUG=y -CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y +CONFIG_SOC_AES_SUPPORT_DMA=y +CONFIG_SOC_AES_GDMA=y +CONFIG_SOC_AES_SUPPORT_AES_128=y +CONFIG_SOC_AES_SUPPORT_AES_256=y CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y -CONFIG_SOC_ADC_ARBITER_SUPPORTED=y CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y CONFIG_SOC_ADC_MONITOR_SUPPORTED=y CONFIG_SOC_ADC_DMA_SUPPORTED=y -CONFIG_SOC_ADC_PERIPH_NUM=2 -CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 +CONFIG_SOC_ADC_PERIPH_NUM=1 +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=7 CONFIG_SOC_ADC_ATTEN_NUM=4 -CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 -CONFIG_SOC_ADC_PATT_LEN_MAX=24 -CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=1 +CONFIG_SOC_ADC_PATT_LEN_MAX=8 CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 -CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 -CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 +CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y +CONFIG_SOC_ADC_CALIB_CHAN_COMPENS_SUPPORTED=y +CONFIG_SOC_ADC_TEMPERATURE_SHARE_INTR=y CONFIG_SOC_ADC_SHARED_POWER=y -CONFIG_SOC_APB_BACKUP_DMA=y CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y -CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y +CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y -CONFIG_SOC_CPU_CORES_NUM=2 +CONFIG_SOC_CPU_CORES_NUM=1 CONFIG_SOC_CPU_INTR_NUM=32 -CONFIG_SOC_CPU_HAS_FPU=y -CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y -CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 -CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 -CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64 -CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096 +CONFIG_SOC_CPU_HAS_FLEXIBLE_INTC=y +CONFIG_SOC_INT_PLIC_SUPPORTED=y +CONFIG_SOC_CPU_HAS_CSR_PC=y +CONFIG_SOC_CPU_BREAKPOINTS_NUM=4 +CONFIG_SOC_CPU_WATCHPOINTS_NUM=4 +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x80000000 +CONFIG_SOC_CPU_HAS_PMA=y +CONFIG_SOC_CPU_IDRAM_SPLIT_USING_PMP=y +CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=3072 CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 CONFIG_SOC_AHB_GDMA_VERSION=1 CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 -CONFIG_SOC_GDMA_PAIRS_PER_GROUP=5 -CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=5 -CONFIG_SOC_AHB_GDMA_SUPPORT_PSRAM=y +CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=3 +CONFIG_SOC_GDMA_SUPPORT_ETM=y +CONFIG_SOC_GDMA_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_ETM_GROUPS=1 +CONFIG_SOC_ETM_CHANNELS_PER_GROUP=50 CONFIG_SOC_GPIO_PORT=1 -CONFIG_SOC_GPIO_PIN_COUNT=49 +CONFIG_SOC_GPIO_PIN_COUNT=31 CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y -CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y +CONFIG_SOC_GPIO_FLEX_GLITCH_FILTER_NUM=8 +CONFIG_SOC_GPIO_SUPPORT_ETM=y CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y +CONFIG_SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP=y +CONFIG_SOC_LP_IO_CLOCK_IS_INDEPENDENT=y +CONFIG_SOC_GPIO_IN_RANGE_MAX=30 +CONFIG_SOC_GPIO_OUT_RANGE_MAX=30 +CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK=0 +CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_SUPPORTED_PIN_CNT=8 +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x000000007FFFFF00 CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y -CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x1FFFFFFFFFFFF -CONFIG_SOC_GPIO_IN_RANGE_MAX=48 -CONFIG_SOC_GPIO_OUT_RANGE_MAX=48 -CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000 -CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y +CONFIG_SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP=y +CONFIG_SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX=y +CONFIG_SOC_CLOCKOUT_HAS_SOURCE_GATE=y CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +CONFIG_SOC_RTCIO_PIN_COUNT=8 +CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y +CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y +CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y +CONFIG_SOC_RTCIO_VALID_RTCIO_MASK=0xFF CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 -CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y +CONFIG_SOC_DEDIC_PERIPH_ALWAYS_ENABLE=y CONFIG_SOC_I2C_NUM=2 -CONFIG_SOC_HP_I2C_NUM=2 +CONFIG_SOC_HP_I2C_NUM=1 CONFIG_SOC_I2C_FIFO_LEN=32 CONFIG_SOC_I2C_CMD_REG_NUM=8 CONFIG_SOC_I2C_SUPPORT_SLAVE=y +CONFIG_SOC_I2C_SUPPORT_HW_FSM_RST=y CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y CONFIG_SOC_I2C_SUPPORT_XTAL=y CONFIG_SOC_I2C_SUPPORT_RTC=y CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y +CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE=y CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y -CONFIG_SOC_I2S_NUM=2 +CONFIG_SOC_I2C_SLAVE_SUPPORT_SLAVE_UNMATCH=y +CONFIG_SOC_I2C_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_LP_I2C_NUM=1 +CONFIG_SOC_LP_I2C_FIFO_LEN=16 +CONFIG_SOC_I2S_NUM=1 CONFIG_SOC_I2S_HW_VERSION_2=y CONFIG_SOC_I2S_SUPPORTS_XTAL=y CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y @@ -141,35 +166,30 @@ CONFIG_SOC_I2S_SUPPORTS_PCM=y CONFIG_SOC_I2S_SUPPORTS_PDM=y CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 -CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y -CONFIG_SOC_I2S_PDM_MAX_RX_LINES=4 CONFIG_SOC_I2S_SUPPORTS_TDM=y -CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y +CONFIG_SOC_LEDC_SUPPORT_PLL_DIV_CLOCK=y CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y -CONFIG_SOC_LEDC_CHANNEL_NUM=8 -CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 +CONFIG_SOC_LEDC_CHANNEL_NUM=6 +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y -CONFIG_SOC_MCPWM_GROUPS=2 -CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 -CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 -CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 -CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2 -CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2 -CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 -CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y -CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 -CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 -CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y -CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 +CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED=y +CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX=16 +CONFIG_SOC_LEDC_FADE_PARAMS_BIT_WIDTH=10 +CONFIG_SOC_MMU_PAGE_SIZE_CONFIGURABLE=y CONFIG_SOC_MMU_PERIPH_NUM=1 +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 +CONFIG_SOC_MMU_DI_VADDR_SHARED=y +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 CONFIG_SOC_PCNT_GROUPS=1 CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 +CONFIG_SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE=y CONFIG_SOC_RMT_GROUPS=1 -CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4 -CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4 -CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=2 +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=2 +CONFIG_SOC_RMT_CHANNELS_PER_GROUP=4 CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y @@ -180,26 +200,40 @@ CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y CONFIG_SOC_RMT_SUPPORT_XTAL=y CONFIG_SOC_RMT_SUPPORT_RC_FAST=y -CONFIG_SOC_RMT_SUPPORT_APB=y -CONFIG_SOC_RMT_SUPPORT_DMA=y -CONFIG_SOC_LCD_I80_SUPPORTED=y -CONFIG_SOC_LCD_RGB_SUPPORTED=y -CONFIG_SOC_LCD_I80_BUSES=1 -CONFIG_SOC_LCD_RGB_PANELS=1 -CONFIG_SOC_LCD_I80_BUS_WIDTH=16 -CONFIG_SOC_LCD_RGB_DATA_WIDTH=16 -CONFIG_SOC_LCD_SUPPORT_RGB_YUV_CONV=y -CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 -CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549 -CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128 -CONFIG_SOC_RTCIO_PIN_COUNT=22 -CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y -CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y -CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y -CONFIG_SOC_SDM_GROUPS=y -CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 -CONFIG_SOC_SDM_CLK_SUPPORT_APB=y -CONFIG_SOC_SPI_PERIPH_NUM=3 +CONFIG_SOC_MCPWM_GROUPS=1 +CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 +CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 +CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 +CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y +CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 +CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 +CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y +CONFIG_SOC_MCPWM_SUPPORT_ETM=y +CONFIG_SOC_MCPWM_CAPTURE_CLK_FROM_GROUP=y +CONFIG_SOC_PARLIO_GROUPS=1 +CONFIG_SOC_PARLIO_TX_UNITS_PER_GROUP=1 +CONFIG_SOC_PARLIO_RX_UNITS_PER_GROUP=1 +CONFIG_SOC_PARLIO_TX_UNIT_MAX_DATA_WIDTH=16 +CONFIG_SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH=16 +CONFIG_SOC_PARLIO_TX_RX_SHARE_INTERRUPT=y +CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 +CONFIG_SOC_MPI_OPERATIONS_NUM=3 +CONFIG_SOC_RSA_MAX_BIT_LEN=3072 +CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 +CONFIG_SOC_SHA_SUPPORT_DMA=y +CONFIG_SOC_SHA_SUPPORT_RESUME=y +CONFIG_SOC_SHA_GDMA=y +CONFIG_SOC_SHA_SUPPORT_SHA1=y +CONFIG_SOC_SHA_SUPPORT_SHA224=y +CONFIG_SOC_SHA_SUPPORT_SHA256=y +CONFIG_SOC_SDM_GROUPS=1 +CONFIG_SOC_SDM_CHANNELS_PER_GROUP=4 +CONFIG_SOC_SDM_CLK_SUPPORT_PLL_F80M=y +CONFIG_SOC_SDM_CLK_SUPPORT_XTAL=y +CONFIG_SOC_SPI_PERIPH_NUM=2 CONFIG_SOC_SPI_MAX_CS_NUM=6 CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 CONFIG_SOC_SPI_SUPPORT_DDRCLK=y @@ -207,160 +241,144 @@ CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y CONFIG_SOC_SPI_SUPPORT_CD_SIG=y CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y -CONFIG_SOC_SPI_SUPPORT_CLK_APB=y CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y -CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y -CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y -CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 -CONFIG_SOC_SPI_SUPPORT_OCT=y +CONFIG_SOC_SPI_SUPPORT_CLK_PLL_F80M=y +CONFIG_SOC_SPI_SUPPORT_CLK_RC_FAST=y CONFIG_SOC_SPI_SCT_SUPPORTED=y CONFIG_SOC_SPI_SCT_REG_NUM=14 CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA -CONFIG_SOC_MEMSPI_SRC_FREQ_120M=y +CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y +CONFIG_SOC_SPI_MEM_SUPPORT_IDLE_INTR=y +CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_CHECK_SUS=y +CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y -CONFIG_SOC_SPIRAM_SUPPORTED=y -CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 CONFIG_SOC_SYSTIMER_ALARM_NUM=3 CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y +CONFIG_SOC_SYSTIMER_SUPPORT_RC_FAST=y CONFIG_SOC_SYSTIMER_INT_LEVEL=y CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y +CONFIG_SOC_SYSTIMER_SUPPORT_ETM=y +CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 +CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 CONFIG_SOC_TIMER_GROUPS=2 -CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 +CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=1 CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y -CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y -CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 -CONFIG_SOC_TOUCH_SENSOR_VERSION=2 -CONFIG_SOC_TOUCH_SENSOR_NUM=15 -CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y -CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y -CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y -CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3 -CONFIG_SOC_TOUCH_PROXIMITY_MEAS_DONE_SUPPORTED=y -CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 -CONFIG_SOC_TWAI_CONTROLLER_NUM=1 -CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y +CONFIG_SOC_TIMER_GROUP_SUPPORT_RC_FAST=y +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=2 +CONFIG_SOC_TIMER_SUPPORT_ETM=y +CONFIG_SOC_TIMER_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_MWDT_SUPPORT_XTAL=y +CONFIG_SOC_TWAI_CONTROLLER_NUM=2 +CONFIG_SOC_TWAI_CLK_SUPPORT_XTAL=y CONFIG_SOC_TWAI_BRP_MIN=2 -CONFIG_SOC_TWAI_BRP_MAX=16384 +CONFIG_SOC_TWAI_BRP_MAX=32768 CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y -CONFIG_SOC_UART_NUM=3 -CONFIG_SOC_UART_HP_NUM=3 -CONFIG_SOC_UART_FIFO_LEN=128 -CONFIG_SOC_UART_BITRATE_MAX=5000000 -CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y -CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y -CONFIG_SOC_UART_SUPPORT_APB_CLK=y -CONFIG_SOC_UART_SUPPORT_RTC_CLK=y -CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y -CONFIG_SOC_USB_OTG_PERIPH_NUM=1 -CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 -CONFIG_SOC_SHA_SUPPORT_DMA=y -CONFIG_SOC_SHA_SUPPORT_RESUME=y -CONFIG_SOC_SHA_GDMA=y -CONFIG_SOC_SHA_SUPPORT_SHA1=y -CONFIG_SOC_SHA_SUPPORT_SHA224=y -CONFIG_SOC_SHA_SUPPORT_SHA256=y -CONFIG_SOC_SHA_SUPPORT_SHA384=y -CONFIG_SOC_SHA_SUPPORT_SHA512=y -CONFIG_SOC_SHA_SUPPORT_SHA512_224=y -CONFIG_SOC_SHA_SUPPORT_SHA512_256=y -CONFIG_SOC_SHA_SUPPORT_SHA512_T=y -CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 -CONFIG_SOC_MPI_OPERATIONS_NUM=3 -CONFIG_SOC_RSA_MAX_BIT_LEN=4096 -CONFIG_SOC_AES_SUPPORT_DMA=y -CONFIG_SOC_AES_GDMA=y -CONFIG_SOC_AES_SUPPORT_AES_128=y -CONFIG_SOC_AES_SUPPORT_AES_256=y -CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_CPU_PD=y -CONFIG_SOC_PM_SUPPORT_TAGMEM_PD=y -CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y -CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y -CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y -CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y -CONFIG_SOC_PM_SUPPORT_MODEM_PD=y -CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y -CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y -CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y -CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y -CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y -CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y -CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y -CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y -CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y -CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_PAD_JTAG=y CONFIG_SOC_EFUSE_DIS_USB_JTAG=y -CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y +CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y CONFIG_SOC_EFUSE_DIS_ICACHE=y CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y CONFIG_SOC_SECURE_BOOT_V2_RSA=y +CONFIG_SOC_SECURE_BOOT_V2_ECC=y CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y -CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 -CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=256 +CONFIG_SOC_CRYPTO_DPA_PROTECTION_SUPPORTED=y +CONFIG_SOC_UART_NUM=3 +CONFIG_SOC_UART_HP_NUM=2 +CONFIG_SOC_UART_LP_NUM=1 +CONFIG_SOC_UART_FIFO_LEN=128 +CONFIG_SOC_LP_UART_FIFO_LEN=16 +CONFIG_SOC_UART_BITRATE_MAX=5000000 +CONFIG_SOC_UART_SUPPORT_PLL_F80M_CLK=y +CONFIG_SOC_UART_SUPPORT_RTC_CLK=y +CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y +CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y +CONFIG_SOC_UART_HAS_LP_UART=y +CONFIG_SOC_UART_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y +CONFIG_SOC_COEX_HW_PTI=y +CONFIG_SOC_EXTERNAL_COEX_ADVANCE=y CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 -CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192 CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y -CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y -CONFIG_SOC_SPI_MEM_SUPPORT_OPI_MODE=y -CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y -CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y -CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y -CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y -CONFIG_SOC_MEMSPI_CORE_CLK_SHARED_WITH_PSRAM=y -CONFIG_SOC_COEX_HW_PTI=y -CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y -CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y -CONFIG_SOC_SDMMC_NUM_SLOTS=2 -CONFIG_SOC_SDMMC_SUPPORT_XTAL_CLOCK=y -CONFIG_SOC_SDMMC_DELAY_PHASE_NUM=4 +CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_BEACON_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN=y +CONFIG_SOC_PM_SUPPORT_CPU_PD=y +CONFIG_SOC_PM_SUPPORT_MODEM_PD=y +CONFIG_SOC_PM_SUPPORT_XTAL32K_PD=y +CONFIG_SOC_PM_SUPPORT_RC32K_PD=y +CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y +CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +CONFIG_SOC_PM_SUPPORT_TOP_PD=y +CONFIG_SOC_PM_SUPPORT_HP_AON_PD=y +CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y +CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y +CONFIG_SOC_PM_SUPPORT_PMU_MODEM_STATE=y +CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y +CONFIG_SOC_PM_CPU_RETENTION_BY_SW=y +CONFIG_SOC_PM_MODEM_RETENTION_BY_REGDMA=y +CONFIG_SOC_PM_RETENTION_HAS_CLOCK_BUG=y +CONFIG_SOC_PM_PAU_LINK_NUM=4 +CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y +CONFIG_SOC_MODEM_CLOCK_IS_INDEPENDENT=y +CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y +CONFIG_SOC_CLK_OSC_SLOW_SUPPORTED=y +CONFIG_SOC_CLK_RC32K_SUPPORTED=y +CONFIG_SOC_RCC_IS_INDEPENDENT=y CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL=y +CONFIG_SOC_TEMPERATURE_SENSOR_INTR_SUPPORT=y +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_ETM=y +CONFIG_SOC_RNG_CLOCK_IS_INDEPENDENT=y CONFIG_SOC_WIFI_HW_TSF=y CONFIG_SOC_WIFI_FTM_SUPPORT=y CONFIG_SOC_WIFI_GCMP_SUPPORT=y CONFIG_SOC_WIFI_WAPI_SUPPORT=y CONFIG_SOC_WIFI_CSI_SUPPORT=y CONFIG_SOC_WIFI_MESH_SUPPORT=y -CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y -CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y +CONFIG_SOC_WIFI_HE_SUPPORT=y CONFIG_SOC_BLE_SUPPORTED=y CONFIG_SOC_BLE_MESH_SUPPORTED=y +CONFIG_SOC_ESP_NIMBLE_CONTROLLER=y CONFIG_SOC_BLE_50_SUPPORTED=y CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y +CONFIG_SOC_BLE_POWER_CONTROL_SUPPORTED=y +CONFIG_SOC_BLE_PERIODIC_ADV_ENH_SUPPORTED=y CONFIG_SOC_BLUFI_SUPPORTED=y -CONFIG_SOC_ULP_HAS_ADC=y +CONFIG_SOC_BLE_MULTI_CONN_OPTIMIZATION=y +CONFIG_SOC_BLE_USE_WIFI_PWR_CLK_WORKAROUND=y CONFIG_SOC_PHY_COMBO_MODULE=y +CONFIG_SOC_CAPS_NO_RESET_BY_ANA_BOD=y +CONFIG_SOC_LP_CORE_SINGLE_INTERRUPT_VECTOR=y +CONFIG_SOC_LP_CORE_SUPPORT_ETM=y CONFIG_IDF_CMAKE=y CONFIG_IDF_TOOLCHAIN="gcc" -CONFIG_IDF_TARGET_ARCH_XTENSA=y -CONFIG_IDF_TARGET_ARCH="xtensa" -CONFIG_IDF_TARGET="esp32s3" +CONFIG_IDF_TARGET_ARCH_RISCV=y +CONFIG_IDF_TARGET_ARCH="riscv" +CONFIG_IDF_TARGET="esp32c6" CONFIG_IDF_INIT_VERSION="5.3.1" -CONFIG_IDF_TARGET_ESP32S3=y -CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009 +CONFIG_IDF_TARGET_ESP32C6=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x000D # # Build type @@ -389,7 +407,6 @@ CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set -# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set # CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set # CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set # CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set @@ -405,7 +422,6 @@ CONFIG_BOOTLOADER_LOG_LEVEL=3 CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y # end of Serial Flash Configurations -CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y # CONFIG_BOOTLOADER_FACTORY_RESET is not set # CONFIG_BOOTLOADER_APP_TEST is not set CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y @@ -424,6 +440,7 @@ CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 # Security features # CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_ECC_SUPPORTED=y CONFIG_SECURE_BOOT_V2_PREFERRED=y # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set # CONFIG_SECURE_BOOT is not set @@ -443,29 +460,28 @@ CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 CONFIG_ESP_ROM_HAS_CRC_LE=y CONFIG_ESP_ROM_HAS_CRC_BE=y -CONFIG_ESP_ROM_HAS_MZ_CRC32=y CONFIG_ESP_ROM_HAS_JPEG_DECODE=y CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=3 CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y -CONFIG_ESP_ROM_USB_OTG_NUM=3 -CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 -CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y -CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y CONFIG_ESP_ROM_GET_CLK_FREQ=y +CONFIG_ESP_ROM_HAS_RVFPLIB=y CONFIG_ESP_ROM_HAS_HAL_WDT=y -CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +CONFIG_ESP_ROM_HAS_HAL_SYSTIMER=y +CONFIG_ESP_ROM_HAS_HEAP_TLSF=y +CONFIG_ESP_ROM_TLSF_CHECK_PATCH=y +CONFIG_ESP_ROM_MULTI_HEAP_WALK_PATCH=y CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y CONFIG_ESP_ROM_HAS_SPI_FLASH=y -CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y +CONFIG_ESP_ROM_HAS_REGI2C_BUG=y CONFIG_ESP_ROM_HAS_NEWLIB=y -CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y -CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y +CONFIG_ESP_ROM_HAS_NEWLIB_NORMAL_FORMAT=y +CONFIG_ESP_ROM_REV0_HAS_NO_ECDSA_INTERFACE=y +CONFIG_ESP_ROM_WDT_INIT_PATCH=y CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y -CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y -CONFIG_ESP_ROM_HAS_CACHE_SUSPEND_WAITI_BUG=y -CONFIG_ESP_ROM_HAS_CACHE_WRITEBACK_BUG=y CONFIG_ESP_ROM_HAS_SW_FLOAT=y +CONFIG_ESP_ROM_USB_OTG_NUM=-1 CONFIG_ESP_ROM_HAS_VERSION=y CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y @@ -482,15 +498,12 @@ CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y # Serial flasher config # # CONFIG_ESPTOOLPY_NO_STUB is not set -# CONFIG_ESPTOOLPY_OCT_FLASH is not set -CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=y -CONFIG_ESPTOOLPY_FLASHMODE_QIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set # CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set -# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y # CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y CONFIG_ESPTOOLPY_FLASHMODE="dio" -# CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set CONFIG_ESPTOOLPY_FLASHFREQ_80M=y # CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set # CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set @@ -538,7 +551,8 @@ CONFIG_COMPILER_OPTIMIZATION_SIZE=y CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set -CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y +# CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB is not set +CONFIG_COMPILER_FLOAT_LIB_FROM_RVFPLIB=y CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 # CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set CONFIG_COMPILER_HIDE_PATHS_MACROS=y @@ -549,6 +563,7 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y # CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set # CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set # CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS is not set # CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set # CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set # CONFIG_COMPILER_DUMP_RTL_FILES is not set @@ -569,7 +584,6 @@ CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y CONFIG_APPTRACE_DEST_NONE=y # CONFIG_APPTRACE_DEST_UART1 is not set # CONFIG_APPTRACE_DEST_UART2 is not set -# CONFIG_APPTRACE_DEST_USB_CDC is not set CONFIG_APPTRACE_DEST_UART_NONE=y CONFIG_APPTRACE_UART_TASK_PRIO=1 CONFIG_APPTRACE_LOCK_ENABLE=y @@ -589,7 +603,6 @@ CONFIG_BT_CONTROLLER_ENABLED=y # NimBLE Options # CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y -# CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL is not set # CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set # CONFIG_BT_NIMBLE_LOG_LEVEL_NONE is not set # CONFIG_BT_NIMBLE_LOG_LEVEL_ERROR is not set @@ -625,10 +638,11 @@ CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE=0 # # Memory Settings # -CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=12 -CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=256 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=24 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=128 CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=24 CONFIG_BT_NIMBLE_MSYS_2_BLOCK_SIZE=320 +CONFIG_BT_NIMBLE_MSYS_BUF_FROM_HEAP=y CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=24 CONFIG_BT_NIMBLE_TRANSPORT_ACL_SIZE=255 CONFIG_BT_NIMBLE_TRANSPORT_EVT_SIZE=70 @@ -638,26 +652,25 @@ CONFIG_BT_NIMBLE_L2CAP_COC_SDU_BUFF_COUNT=1 # end of Memory Settings CONFIG_BT_NIMBLE_GATT_MAX_PROCS=4 -CONFIG_BT_NIMBLE_HS_FLOW_CTRL=y -CONFIG_BT_NIMBLE_HS_FLOW_CTRL_ITVL=1000 -CONFIG_BT_NIMBLE_HS_FLOW_CTRL_THRESH=2 -CONFIG_BT_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y +# CONFIG_BT_NIMBLE_HS_FLOW_CTRL is not set CONFIG_BT_NIMBLE_RPA_TIMEOUT=900 # CONFIG_BT_NIMBLE_MESH is not set CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000 -# CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT is not set +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=y +CONFIG_BT_NIMBLE_MAX_CONN_REATTEMPT=3 CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=y CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY=y CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY=y # CONFIG_BT_NIMBLE_EXT_ADV is not set CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS=0 +CONFIG_BT_NIMBLE_MAX_PERIODIC_ADVERTISER_LIST=5 +# CONFIG_BT_NIMBLE_BLE_POWER_CONTROL is not set # CONFIG_BT_NIMBLE_GATT_CACHING is not set CONFIG_BT_NIMBLE_WHITELIST_SIZE=12 # CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set # CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set CONFIG_BT_NIMBLE_USE_ESP_TIMER=y -CONFIG_BT_NIMBLE_LEGACY_VHCI_ENABLE=y # CONFIG_BT_NIMBLE_BLE_GATT_BLOB_TRANSFER is not set # @@ -702,6 +715,7 @@ CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SUPERVISION_TMO=0 # end of BLE Services # CONFIG_BT_NIMBLE_VS_SUPPORT is not set +# CONFIG_BT_NIMBLE_OPTIMIZE_MULTI_CONN is not set # CONFIG_BT_NIMBLE_ENC_ADV_DATA is not set # CONFIG_BT_NIMBLE_HIGH_DUTY_ADV_ITVL is not set # CONFIG_BT_NIMBLE_HOST_QUEUE_CONG_CHECK is not set @@ -720,77 +734,51 @@ CONFIG_BT_NIMBLE_HCI_UART_CTS_PIN=23 # # Controller Options # -CONFIG_BT_CTRL_MODE_EFF=1 -CONFIG_BT_CTRL_BLE_MAX_ACT=6 -CONFIG_BT_CTRL_BLE_MAX_ACT_EFF=6 -CONFIG_BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB=0 -CONFIG_BT_CTRL_PINNED_TO_CORE=0 -CONFIG_BT_CTRL_HCI_MODE_VHCI=y -# CONFIG_BT_CTRL_HCI_MODE_UART_H4 is not set -CONFIG_BT_CTRL_HCI_TL=1 -CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=30 -CONFIG_BT_BLE_CCA_MODE_NONE=y -# CONFIG_BT_BLE_CCA_MODE_HW is not set -# CONFIG_BT_BLE_CCA_MODE_SW is not set -CONFIG_BT_BLE_CCA_MODE=0 -CONFIG_BT_CTRL_HW_CCA_VAL=20 -CONFIG_BT_CTRL_HW_CCA_EFF=0 -CONFIG_BT_CTRL_CE_LENGTH_TYPE_ORIG=y -# CONFIG_BT_CTRL_CE_LENGTH_TYPE_CE is not set -# CONFIG_BT_CTRL_CE_LENGTH_TYPE_SD is not set -CONFIG_BT_CTRL_CE_LENGTH_TYPE_EFF=0 -CONFIG_BT_CTRL_TX_ANTENNA_INDEX_0=y -# CONFIG_BT_CTRL_TX_ANTENNA_INDEX_1 is not set -CONFIG_BT_CTRL_TX_ANTENNA_INDEX_EFF=0 -CONFIG_BT_CTRL_RX_ANTENNA_INDEX_0=y -# CONFIG_BT_CTRL_RX_ANTENNA_INDEX_1 is not set -CONFIG_BT_CTRL_RX_ANTENNA_INDEX_EFF=0 -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N24 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N21 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N18 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N15 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N12 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N9 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N6 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N3 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N0 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P3 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P6 is not set -CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P9=y -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P12 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P15 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P18 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P21 is not set -CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_EFF=11 + +# +# HCI Config +# +CONFIG_BT_LE_HCI_INTERFACE_USE_RAM=y +# CONFIG_BT_LE_HCI_INTERFACE_USE_UART is not set +# end of HCI Config + +CONFIG_BT_LE_CONTROLLER_NPL_OS_PORTING_SUPPORT=y +CONFIG_BT_LE_CONTROLLER_TASK_STACK_SIZE=4096 +# CONFIG_BT_LE_CONTROLLER_LOG_ENABLED is not set +CONFIG_BT_LE_LL_RESOLV_LIST_SIZE=4 +CONFIG_BT_LE_LL_DUP_SCAN_LIST_COUNT=20 +CONFIG_BT_LE_LL_SCA=60 +# CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EN is not set +CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS=y +CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF=0 +# CONFIG_BT_LE_SLEEP_ENABLE is not set +CONFIG_BT_LE_LP_CLK_SRC_MAIN_XTAL=y +# CONFIG_BT_LE_LP_CLK_SRC_DEFAULT is not set CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 CONFIG_BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 -CONFIG_BT_CTRL_BLE_SCAN_DUPL=y -CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DEVICE=y -# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA is not set -# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA_DEVICE is not set -CONFIG_BT_CTRL_SCAN_DUPL_TYPE=0 -CONFIG_BT_CTRL_SCAN_DUPL_CACHE_SIZE=100 -CONFIG_BT_CTRL_DUPL_SCAN_CACHE_REFRESH_PERIOD=0 -# CONFIG_BT_CTRL_BLE_MESH_SCAN_DUPL_EN is not set -# CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EN is not set -CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_DIS=y -CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EFF=0 - -# -# MODEM SLEEP Options -# -# CONFIG_BT_CTRL_MODEM_SLEEP is not set -# end of MODEM SLEEP Options - -CONFIG_BT_CTRL_SLEEP_MODE_EFF=0 -CONFIG_BT_CTRL_SLEEP_CLOCK_EFF=0 -CONFIG_BT_CTRL_HCI_TL_EFF=1 -# CONFIG_BT_CTRL_AGC_RECORRECT_EN is not set -# CONFIG_BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set -# CONFIG_BT_BLE_ADV_DATA_LENGTH_ZERO_AUX is not set -CONFIG_BT_CTRL_CHAN_ASS_EN=y -CONFIG_BT_CTRL_LE_PING_EN=y +CONFIG_BT_LE_SCAN_DUPL=y +CONFIG_BT_LE_SCAN_DUPL_TYPE_DEVICE=y +# CONFIG_BT_LE_SCAN_DUPL_TYPE_DATA is not set +# CONFIG_BT_LE_SCAN_DUPL_TYPE_DATA_DEVICE is not set +CONFIG_BT_LE_SCAN_DUPL_TYPE=0 +CONFIG_BT_LE_SCAN_DUPL_CACHE_REFRESH_PERIOD=0 +CONFIG_BT_LE_MSYS_INIT_IN_CONTROLLER=y +# CONFIG_BT_LE_TX_CCA_ENABLED is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N15 is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N12 is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N9 is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N6 is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N3 is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N0 is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P3 is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P6 is not set +CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P9=y +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P12 is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P15 is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P18 is not set +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P20 is not set +CONFIG_BT_LE_DFT_TX_POWER_LEVEL_DBM_EFF=9 # end of Controller Options # @@ -818,7 +806,6 @@ CONFIG_BT_ALARM_MAX_NUM=50 # TWAI Configuration # # CONFIG_TWAI_ISR_IN_IRAM is not set -CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y # end of TWAI Configuration # @@ -902,7 +889,6 @@ CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y # # CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set # CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set -# CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set # CONFIG_ADC_ENABLE_DEBUG_LOG is not set # end of ADC and ADC Calibration @@ -963,6 +949,13 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:MCPWM Configurations +# +# ESP-Driver:Parallel IO Configurations +# +# CONFIG_PARLIO_ENABLE_DEBUG_LOG is not set +# CONFIG_PARLIO_ISR_IRAM_SAFE is not set +# end of ESP-Driver:Parallel IO Configurations + # # ESP-Driver:PCNT Configurations # @@ -989,23 +982,17 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # # ESP-Driver:SPI Configurations # +# CONFIG_SPI_MASTER_IN_IRAM is not set CONFIG_SPI_MASTER_ISR_IN_IRAM=y # CONFIG_SPI_SLAVE_IN_IRAM is not set CONFIG_SPI_SLAVE_ISR_IN_IRAM=y # end of ESP-Driver:SPI Configurations -# -# ESP-Driver:Touch Sensor Configurations -# -# CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set -# CONFIG_TOUCH_ISR_IRAM_SAFE is not set -# CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:Touch Sensor Configurations - # # ESP-Driver:Temperature Sensor Configurations # # CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set +# CONFIG_TEMP_SENSOR_ISR_IRAM_SAFE is not set # end of ESP-Driver:Temperature Sensor Configurations # @@ -1090,16 +1077,15 @@ CONFIG_HTTPD_PURGE_BUF_LEN=32 # # Chip revision # -CONFIG_ESP32S3_REV_MIN_0=y -# CONFIG_ESP32S3_REV_MIN_1 is not set -# CONFIG_ESP32S3_REV_MIN_2 is not set -CONFIG_ESP32S3_REV_MIN_FULL=0 +CONFIG_ESP32C6_REV_MIN_0=y +# CONFIG_ESP32C6_REV_MIN_1 is not set +CONFIG_ESP32C6_REV_MIN_FULL=0 CONFIG_ESP_REV_MIN_FULL=0 # -# Maximum Supported ESP32-S3 Revision (Rev v0.99) +# Maximum Supported ESP32-C6 Revision (Rev v0.99) # -CONFIG_ESP32S3_REV_MAX_FULL=99 +CONFIG_ESP32C6_REV_MAX_FULL=99 CONFIG_ESP_REV_MAX_FULL=99 # end of Chip revision @@ -1110,21 +1096,21 @@ CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_IEEE802154=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 -# CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set -CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y -CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES=4 # CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set # end of MAC Config # # Sleep Config # +# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y -CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND=y # CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set -CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0 # CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set @@ -1138,7 +1124,7 @@ CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y CONFIG_RTC_CLK_SRC_INT_RC=y # CONFIG_RTC_CLK_SRC_EXT_CRYS is not set # CONFIG_RTC_CLK_SRC_EXT_OSC is not set -# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set +# CONFIG_RTC_CLK_SRC_INT_RC32K is not set CONFIG_RTC_CLK_CAL_CYCLES=1024 # end of RTC Clock Config @@ -1148,6 +1134,12 @@ CONFIG_RTC_CLK_CAL_CYCLES=1024 CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y # end of Peripheral Control +# +# ETM Configuration +# +# CONFIG_ETM_ENABLE_DEBUG_LOG is not set +# end of ETM Configuration + # # GDMA Configurations # @@ -1163,6 +1155,16 @@ CONFIG_XTAL_FREQ_40=y CONFIG_XTAL_FREQ=40 # end of Main XTAL Config +# +# Crypto DPA Protection +# +CONFIG_ESP_CRYPTO_DPA_PROTECTION_AT_STARTUP=y +CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_LOW=y +# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_MEDIUM is not set +# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_HIGH is not set +CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL=1 +# end of Crypto DPA Protection + CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y # end of Hardware Settings @@ -1177,10 +1179,7 @@ CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y # # LCD Peripheral Configuration # -CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 # CONFIG_LCD_ENABLE_DEBUG_LOG is not set -# CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set -# CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set # end of LCD Peripheral Configuration # end of LCD and Touch Panel @@ -1210,8 +1209,6 @@ CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 CONFIG_ESP_PHY_MAX_TX_POWER=20 # CONFIG_ESP_PHY_REDUCE_TX_POWER is not set -CONFIG_ESP_PHY_ENABLE_USB=y -# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set CONFIG_ESP_PHY_RF_CAL_PARTIAL=y # CONFIG_ESP_PHY_RF_CAL_NONE is not set # CONFIG_ESP_PHY_RF_CAL_FULL is not set @@ -1225,44 +1222,12 @@ CONFIG_ESP_PHY_CALIBRATION_MODE=0 # CONFIG_PM_ENABLE is not set CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y -CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y +# CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP is not set # end of Power Management # # ESP PSRAM # -CONFIG_SPIRAM=y - -# -# SPI RAM config -# -# CONFIG_SPIRAM_MODE_QUAD is not set -CONFIG_SPIRAM_MODE_OCT=y -CONFIG_SPIRAM_TYPE_AUTO=y -# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set -CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y -CONFIG_SPIRAM_CLK_IO=30 -CONFIG_SPIRAM_CS_IO=26 -# CONFIG_SPIRAM_XIP_FROM_PSRAM is not set -CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y -CONFIG_SPIRAM_RODATA=y -# CONFIG_SPIRAM_SPEED_120M is not set -CONFIG_SPIRAM_SPEED_80M=y -# CONFIG_SPIRAM_SPEED_40M is not set -CONFIG_SPIRAM_SPEED=80 -# CONFIG_SPIRAM_ECC_ENABLE is not set -CONFIG_SPIRAM_BOOT_INIT=y -# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set -# CONFIG_SPIRAM_USE_MEMMAP is not set -# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set -CONFIG_SPIRAM_USE_MALLOC=y -CONFIG_SPIRAM_MEMTEST=y -CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384 -# CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set -CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 -# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set -# end of SPI RAM config -# end of ESP PSRAM # # ESP Ringbuf @@ -1274,49 +1239,9 @@ CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 # ESP System Settings # # CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 - -# -# Cache config -# -CONFIG_ESP32S3_INSTRUCTION_CACHE_16KB=y -# CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB is not set -CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE=0x4000 -# CONFIG_ESP32S3_INSTRUCTION_CACHE_4WAYS is not set -CONFIG_ESP32S3_INSTRUCTION_CACHE_8WAYS=y -CONFIG_ESP32S3_ICACHE_ASSOCIATED_WAYS=8 -# CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_16B is not set -CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_32B=y -CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_SIZE=32 -# CONFIG_ESP32S3_DATA_CACHE_16KB is not set -CONFIG_ESP32S3_DATA_CACHE_32KB=y -# CONFIG_ESP32S3_DATA_CACHE_64KB is not set -CONFIG_ESP32S3_DATA_CACHE_SIZE=0x8000 -# CONFIG_ESP32S3_DATA_CACHE_4WAYS is not set -CONFIG_ESP32S3_DATA_CACHE_8WAYS=y -CONFIG_ESP32S3_DCACHE_ASSOCIATED_WAYS=8 -# CONFIG_ESP32S3_DATA_CACHE_LINE_16B is not set -# CONFIG_ESP32S3_DATA_CACHE_LINE_32B is not set -CONFIG_ESP32S3_DATA_CACHE_LINE_64B=y -CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=64 -# end of Cache config - -# -# Memory -# -# CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM is not set -# CONFIG_ESP32S3_USE_FIXED_STATIC_RAM_SIZE is not set -# end of Memory - -# -# Trace memory -# -# CONFIG_ESP32S3_TRAX is not set -CONFIG_ESP32S3_TRACEMEM_RESERVE_DRAM=0x0 -# end of Trace memory - +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_120 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 # CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y # CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set @@ -1325,12 +1250,12 @@ CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y +# CONFIG_ESP_SYSTEM_USE_EH_FRAME is not set # # Memory protection # -CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y -CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y +CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT=y # end of Memory protection CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 @@ -1341,7 +1266,6 @@ CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 CONFIG_ESP_CONSOLE_UART_DEFAULT=y -# CONFIG_ESP_CONSOLE_USB_CDC is not set # CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set # CONFIG_ESP_CONSOLE_UART_CUSTOM is not set # CONFIG_ESP_CONSOLE_NONE is not set @@ -1352,8 +1276,13 @@ CONFIG_ESP_CONSOLE_UART=y CONFIG_ESP_CONSOLE_UART_NUM=0 CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 -# CONFIG_ESP_INT_WDT is not set -# CONFIG_ESP_TASK_WDT_EN is not set +CONFIG_ESP_INT_WDT=y +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +CONFIG_ESP_TASK_WDT_EN=y +CONFIG_ESP_TASK_WDT_INIT=y +# CONFIG_ESP_TASK_WDT_PANIC is not set +CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y # CONFIG_ESP_PANIC_HANDLER_IRAM is not set # CONFIG_ESP_DEBUG_STUBS_ENABLE is not set CONFIG_ESP_DEBUG_OCDAWARE=y @@ -1369,12 +1298,13 @@ CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set CONFIG_ESP_BROWNOUT_DET_LVL=7 # end of Brownout Detector CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_ESP_SYSTEM_HW_STACK_GUARD=y CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y +CONFIG_ESP_SYSTEM_HW_PC_RECORD=y # end of ESP System Settings # @@ -1405,10 +1335,10 @@ CONFIG_ESP_TIMER_IMPL_SYSTIMER=y CONFIG_ESP_WIFI_ENABLED=y CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y -CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0 -CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=16 -CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=32 +# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y # CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 @@ -1418,7 +1348,6 @@ CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y CONFIG_ESP_WIFI_TX_BA_WIN=6 CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP_WIFI_RX_BA_WIN=6 -# CONFIG_ESP_WIFI_AMSDU_TX_ENABLED is not set CONFIG_ESP_WIFI_NVS_ENABLED=y CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 @@ -1442,15 +1371,16 @@ CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y -# CONFIG_ESP_WIFI_EAP_TLS1_3 is not set # CONFIG_ESP_WIFI_WAPI_PSK is not set # CONFIG_ESP_WIFI_SUITE_B_192 is not set # CONFIG_ESP_WIFI_11KV_SUPPORT is not set # CONFIG_ESP_WIFI_MBO_SUPPORT is not set -# CONFIG_ESP_WIFI_ENABLE_ROAMING_APP is not set # CONFIG_ESP_WIFI_DPP_SUPPORT is not set # CONFIG_ESP_WIFI_11R_SUPPORT is not set # CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set +# CONFIG_ESP_WIFI_ENABLE_WIFI_TX_STATS is not set +# CONFIG_ESP_WIFI_ENABLE_WIFI_RX_STATS is not set +CONFIG_ESP_WIFI_TX_HETB_QUEUE_NUM=3 # # WPS Configuration Options @@ -1511,7 +1441,6 @@ CONFIG_FATFS_API_ENCODING_ANSI_OEM=y CONFIG_FATFS_FS_LOCK=0 CONFIG_FATFS_TIMEOUT_MS=10000 CONFIG_FATFS_PER_FILE_CACHE=y -CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y # CONFIG_FATFS_USE_FASTSEEK is not set CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 # CONFIG_FATFS_IMMEDIATE_FSYNC is not set @@ -1528,7 +1457,7 @@ CONFIG_FATFS_LINK_LOCK=y # # CONFIG_FREERTOS_SMP is not set CONFIG_FREERTOS_UNICORE=y -CONFIG_FREERTOS_HZ=1000 +CONFIG_FREERTOS_HZ=100 CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set @@ -1568,7 +1497,7 @@ CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y # CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y -CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y +# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set # end of Port @@ -1589,6 +1518,7 @@ CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y # CONFIG_HAL_ASSERTION_SILENT is not set # CONFIG_HAL_ASSERTION_ENABLE is not set CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +CONFIG_HAL_SYSTIMER_USE_ROM_IMPL=y CONFIG_HAL_WDT_USE_ROM_IMPL=y CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y @@ -1606,9 +1536,26 @@ CONFIG_HEAP_TRACING_OFF=y # CONFIG_HEAP_USE_HOOKS is not set # CONFIG_HEAP_TASK_TRACKING is not set # CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set -# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set +CONFIG_HEAP_TLSF_USE_ROM_IMPL=y # end of Heap memory debugging +# +# IEEE 802.15.4 +# +CONFIG_IEEE802154_ENABLED=y +CONFIG_IEEE802154_RX_BUFFER_SIZE=20 +# CONFIG_IEEE802154_CCA_CARRIER is not set +CONFIG_IEEE802154_CCA_ED=y +# CONFIG_IEEE802154_CCA_CARRIER_OR_ED is not set +# CONFIG_IEEE802154_CCA_CARRIER_AND_ED is not set +CONFIG_IEEE802154_CCA_MODE=1 +CONFIG_IEEE802154_CCA_THRESHOLD=-60 +CONFIG_IEEE802154_PENDING_TABLE_SIZE=20 +# CONFIG_IEEE802154_MULTI_PAN_ENABLE is not set +# CONFIG_IEEE802154_TIMING_OPTIMIZATION is not set +# CONFIG_IEEE802154_DEBUG is not set +# end of IEEE 802.15.4 + # # Log output # @@ -1806,7 +1753,6 @@ CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y # mbedTLS # CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y -# CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC is not set # CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set # CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y @@ -1849,6 +1795,8 @@ CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_HARDWARE_SHA=y +CONFIG_MBEDTLS_HARDWARE_ECC=y +CONFIG_MBEDTLS_ECC_OTHER_CURVES_SOFT_FALLBACK=y CONFIG_MBEDTLS_ROM_MD5=y # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set # CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set @@ -1967,8 +1915,6 @@ CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y # CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set # end of Newlib -CONFIG_STDATOMIC_S32C1I_SPIRAM_WORKAROUND=y - # # NVS # @@ -2048,14 +1994,6 @@ CONFIG_SPI_FLASH_BROWNOUT_RESET=y # # Features here require specific hardware (READ DOCS FIRST!) # -# CONFIG_SPI_FLASH_HPM_ENA is not set -CONFIG_SPI_FLASH_HPM_AUTO=y -# CONFIG_SPI_FLASH_HPM_DIS is not set -CONFIG_SPI_FLASH_HPM_ON=y -CONFIG_SPI_FLASH_HPM_DC_AUTO=y -# CONFIG_SPI_FLASH_HPM_DC_DISABLE is not set -CONFIG_SPI_FLASH_SUSPEND_QVL_SUPPORTED=y -# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 # end of Optional and Experimental Features (READ DOCS FIRST) # end of Main Flash configuration @@ -2083,19 +2021,12 @@ CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 # Auto-detect flash chips # CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_TH_SUPPORTED=y # CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_GD_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set -CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP=y # end of Auto-detect flash chips CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y @@ -2173,28 +2104,6 @@ CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y # CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set # end of Unity unit testing library -# -# USB-OTG -# -CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256 -CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y -# CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set -# CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set - -# -# Root Hub configuration -# -CONFIG_USB_HOST_DEBOUNCE_DELAY_MS=250 -CONFIG_USB_HOST_RESET_HOLD_MS=30 -CONFIG_USB_HOST_RESET_RECOVERY_MS=30 -CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10 -# end of Root Hub configuration - -# CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set -# CONFIG_USB_HOST_EXT_HUB_SUPPORT is not set -CONFIG_USB_OTG_SUPPORTED=y -# end of USB-OTG - # # Virtual file system # @@ -2248,7 +2157,7 @@ CONFIG_LV_COLOR_DEPTH_16=y # CONFIG_LV_COLOR_DEPTH_8 is not set # CONFIG_LV_COLOR_DEPTH_1 is not set CONFIG_LV_COLOR_DEPTH=16 -CONFIG_LV_COLOR_16_SWAP=y +# CONFIG_LV_COLOR_16_SWAP is not set # CONFIG_LV_COLOR_SCREEN_TRANSP is not set CONFIG_LV_COLOR_MIX_ROUND_OFS=128 CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 @@ -2257,8 +2166,9 @@ CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 # # Memory settings # -CONFIG_LV_MEM_CUSTOM=y -CONFIG_LV_MEM_CUSTOM_INCLUDE="stdlib.h" +# CONFIG_LV_MEM_CUSTOM is not set +CONFIG_LV_MEM_SIZE_KILOBYTES=32 +CONFIG_LV_MEM_ADDR=0x0 CONFIG_LV_MEM_BUF_MAX_NUM=16 # CONFIG_LV_MEMCPY_MEMSET_STD is not set # end of Memory settings @@ -2266,10 +2176,10 @@ CONFIG_LV_MEM_BUF_MAX_NUM=16 # # HAL Settings # -CONFIG_LV_DISP_DEF_REFR_PERIOD=5 +CONFIG_LV_DISP_DEF_REFR_PERIOD=30 CONFIG_LV_INDEV_DEF_READ_PERIOD=30 # CONFIG_LV_TICK_CUSTOM is not set -CONFIG_LV_DPI_DEF=217 +CONFIG_LV_DPI_DEF=130 # end of HAL Settings # @@ -2323,6 +2233,7 @@ CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" # Others # # CONFIG_LV_USE_PERF_MONITOR is not set +# CONFIG_LV_USE_MEM_MONITOR is not set # CONFIG_LV_USE_REFR_DEBUG is not set # CONFIG_LV_SPRINTF_CUSTOM is not set # CONFIG_LV_SPRINTF_USE_FLOAT is not set @@ -2335,7 +2246,7 @@ CONFIG_LV_USE_USER_DATA=y # # CONFIG_LV_BIG_ENDIAN_SYSTEM is not set CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 -CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y +# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set # CONFIG_LV_USE_LARGE_COORD is not set # end of Compiler settings # end of Feature configuration @@ -2500,7 +2411,7 @@ CONFIG_LV_USE_GRID=y # CONFIG_LV_USE_PNG is not set # CONFIG_LV_USE_BMP is not set # CONFIG_LV_USE_SJPG is not set -CONFIG_LV_USE_GIF=y +# CONFIG_LV_USE_GIF is not set # CONFIG_LV_USE_QRCODE is not set # CONFIG_LV_USE_FREETYPE is not set # CONFIG_LV_USE_TINY_TTF is not set @@ -2523,7 +2434,7 @@ CONFIG_LV_USE_SNAPSHOT=y # # Examples # -# CONFIG_LV_BUILD_EXAMPLES is not set +CONFIG_LV_BUILD_EXAMPLES=y # end of Examples # @@ -2561,8 +2472,8 @@ CONFIG_LV_PREDEFINED_DISPLAY_NONE=y # CONFIG_LV_PREDEFINED_DISPLAY_WT32_SC01 is not set CONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9341=y CONFIG_LV_TFT_DISPLAY_PROTOCOL_SPI=y -CONFIG_LV_HOR_RES_MAX=240 -CONFIG_LV_VER_RES_MAX=320 +CONFIG_LV_HOR_RES_MAX=128 +CONFIG_LV_VER_RES_MAX=64 CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT=y # CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT_INVERTED is not set # CONFIG_LV_DISPLAY_ORIENTATION_LANDSCAPE is not set @@ -2599,104 +2510,48 @@ CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_SIO=y # CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_QIO is not set CONFIG_LV_TFT_DISPLAY_SPI_HALF_DUPLEX=y # CONFIG_LV_TFT_DISPLAY_SPI_FULL_DUPLEX is not set -CONFIG_LV_TFT_USE_CUSTOM_SPI_CLK_DIVIDER=y -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_1 is not set -CONFIG_LV_TFT_SPI_CLK_DIVIDER_2=y -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_3 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_4 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_5 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_6 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_7 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_8 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_9 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_10 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_12 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_16 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_20 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_24 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_32 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_40 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_48 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_80 is not set +# CONFIG_LV_TFT_USE_CUSTOM_SPI_CLK_DIVIDER is not set CONFIG_LV_TFT_CUSTOM_SPI_CLK_DIVIDER=2 # CONFIG_LV_INVERT_COLORS is not set # # Display Pin Assignments # -CONFIG_LV_DISP_SPI_MOSI=23 -CONFIG_LV_DISPLAY_USE_SPI_MISO=y -CONFIG_LV_DISP_SPI_MISO=19 -CONFIG_LV_DISP_SPI_INPUT_DELAY_NS=0 -CONFIG_LV_DISP_SPI_CLK=18 +CONFIG_LV_DISP_SPI_MOSI=13 +# CONFIG_LV_DISPLAY_USE_SPI_MISO is not set +CONFIG_LV_DISP_SPI_CLK=14 CONFIG_LV_DISPLAY_USE_SPI_CS=y -CONFIG_LV_DISP_SPI_CS=17 +CONFIG_LV_DISP_SPI_CS=15 CONFIG_LV_DISPLAY_USE_DC=y -CONFIG_LV_DISP_PIN_DC=16 +CONFIG_LV_DISP_PIN_DC=2 CONFIG_LV_DISP_USE_RST=y -CONFIG_LV_DISP_PIN_RST=5 +CONFIG_LV_DISP_PIN_RST=4 # end of Display Pin Assignments # CONFIG_LV_DISP_BACKLIGHT_OFF is not set CONFIG_LV_DISP_BACKLIGHT_SWITCH=y # CONFIG_LV_DISP_BACKLIGHT_PWM is not set -CONFIG_LV_BACKLIGHT_ACTIVE_LVL=y -CONFIG_LV_DISP_PIN_BCKL=32 -CONFIG_LV_I2C=y +# CONFIG_LV_BACKLIGHT_ACTIVE_LVL is not set +CONFIG_LV_DISP_PIN_BCKL=-1 CONFIG_LV_I2C_DISPLAY_PORT=0 # end of LVGL TFT Display controller # # LVGL Touch controller # -CONFIG_LV_TOUCH_CONTROLLER=7 -# CONFIG_LV_TOUCH_CONTROLLER_NONE is not set +CONFIG_LV_TOUCH_CONTROLLER=0 +CONFIG_LV_TOUCH_CONTROLLER_NONE=y # CONFIG_LV_TOUCH_CONTROLLER_XPT2046 is not set # CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set # CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set # CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set # CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set # CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set -CONFIG_LV_TOUCH_CONTROLLER_GT911=y -CONFIG_LV_I2C_TOUCH=y - -# -# Touchpanel Configuration (GT911) -# -CONFIG_LV_GT911_SWAPXY=y -# CONFIG_LV_GT911_INVERT_X is not set -CONFIG_LV_GT911_INVERT_Y=y -# end of Touchpanel Configuration (GT911) - -CONFIG_LV_I2C_TOUCH_PORT_0=y -# CONFIG_LV_I2C_TOUCH_PORT_1 is not set +# CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set CONFIG_LV_I2C_TOUCH_PORT=0 # end of LVGL Touch controller # end of LVGL ESP Drivers -# -# I2C Port Settings -# - -# -# I2C Port 0 -# -CONFIG_I2C_MANAGER_0_ENABLED=y -CONFIG_I2C_MANAGER_0_SDA=19 -CONFIG_I2C_MANAGER_0_SCL=20 -CONFIG_I2C_MANAGER_0_FREQ_HZ=400000 -CONFIG_I2C_MANAGER_0_TIMEOUT=100 -CONFIG_I2C_MANAGER_0_LOCK_TIMEOUT=50 -# CONFIG_I2C_MANAGER_0_PULLUPS is not set -# end of I2C Port 0 - -# -# I2C Port 1 -# -# CONFIG_I2C_MANAGER_1_ENABLED is not set -# end of I2C Port 1 -# end of I2C Port Settings - # # mDNS # @@ -2727,7 +2582,7 @@ CONFIG_MDNS_PREDEF_NETIF_ETH=y # end of mDNS # end of Component config -CONFIG_IDF_EXPERIMENTAL_FEATURES=y +# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set # Deprecated options for backward compatibility # CONFIG_APP_BUILD_TYPE_ELF_RAM is not set @@ -2741,9 +2596,9 @@ CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y CONFIG_LOG_BOOTLOADER_LEVEL=3 # CONFIG_APP_ROLLBACK_ENABLE is not set # CONFIG_FLASH_ENCRYPTION_ENABLED is not set -CONFIG_FLASHMODE_QIO=y +# CONFIG_FLASHMODE_QIO is not set # CONFIG_FLASHMODE_QOUT is not set -# CONFIG_FLASHMODE_DIO is not set +CONFIG_FLASHMODE_DIO=y # CONFIG_FLASHMODE_DOUT is not set CONFIG_MONITOR_BAUD=115200 # CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set @@ -2767,7 +2622,6 @@ CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y # CONFIG_BLUEDROID_ENABLED is not set CONFIG_NIMBLE_ENABLED=y CONFIG_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y -# CONFIG_NIMBLE_MEM_ALLOC_MODE_EXTERNAL is not set # CONFIG_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set CONFIG_NIMBLE_MAX_CONNECTIONS=3 CONFIG_NIMBLE_MAX_BONDS=3 @@ -2790,16 +2644,13 @@ CONFIG_NIMBLE_SVC_GAP_DEVICE_NAME="nimble" CONFIG_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31 CONFIG_NIMBLE_ATT_PREFERRED_MTU=256 CONFIG_NIMBLE_SVC_GAP_APPEARANCE=0 -CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT=12 +CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT=24 CONFIG_BT_NIMBLE_ACL_BUF_COUNT=24 CONFIG_BT_NIMBLE_ACL_BUF_SIZE=255 CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE=70 CONFIG_BT_NIMBLE_HCI_EVT_HI_BUF_COUNT=30 CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT=8 -CONFIG_NIMBLE_HS_FLOW_CTRL=y -CONFIG_NIMBLE_HS_FLOW_CTRL_ITVL=1000 -CONFIG_NIMBLE_HS_FLOW_CTRL_THRESH=2 -CONFIG_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y +# CONFIG_NIMBLE_HS_FLOW_CTRL is not set CONFIG_NIMBLE_RPA_TIMEOUT=900 # CONFIG_NIMBLE_MESH is not set CONFIG_NIMBLE_CRYPTO_STACK_MBEDTLS=y @@ -2815,13 +2666,7 @@ CONFIG_POST_EVENTS_FROM_IRAM_ISR=y CONFIG_GDBSTUB_SUPPORT_TASKS=y CONFIG_GDBSTUB_MAX_TASKS=32 # CONFIG_OTA_ALLOW_HTTP is not set -CONFIG_ESP32S3_DEEP_SLEEP_WAKEUP_DELAY=0 -CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=0 -CONFIG_ESP32S3_RTC_CLK_SRC_INT_RC=y -# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_CRYS is not set -# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_OSC is not set -# CONFIG_ESP32S3_RTC_CLK_SRC_INT_8MD256 is not set -CONFIG_ESP32S3_RTC_CLK_CAL_CYCLES=1024 +# CONFIG_ESP_SYSTEM_PD_FLASH is not set CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y # CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 @@ -2829,14 +2674,6 @@ CONFIG_ESP32_PHY_MAX_TX_POWER=20 # CONFIG_REDUCE_PHY_TX_POWER is not set # CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y -CONFIG_PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP=y -CONFIG_ESP32S3_SPIRAM_SUPPORT=y -CONFIG_DEFAULT_PSRAM_CLK_IO=30 -CONFIG_DEFAULT_PSRAM_CS_IO=26 -# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_80 is not set -# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_160 is not set -CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240=y -CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ=240 CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 CONFIG_MAIN_TASK_STACK_SIZE=3584 @@ -2847,37 +2684,31 @@ CONFIG_CONSOLE_UART_DEFAULT=y CONFIG_CONSOLE_UART=y CONFIG_CONSOLE_UART_NUM=0 CONFIG_CONSOLE_UART_BAUDRATE=115200 -# CONFIG_INT_WDT is not set +CONFIG_INT_WDT=y +CONFIG_INT_WDT_TIMEOUT_MS=300 +CONFIG_TASK_WDT=y +CONFIG_ESP_TASK_WDT=y +# CONFIG_TASK_WDT_PANIC is not set +CONFIG_TASK_WDT_TIMEOUT_S=5 +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y # CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set -CONFIG_ESP32S3_DEBUG_OCDAWARE=y CONFIG_BROWNOUT_DET=y -CONFIG_ESP32S3_BROWNOUT_DET=y -CONFIG_ESP32S3_BROWNOUT_DET=y CONFIG_BROWNOUT_DET_LVL_SEL_7=y -CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_7=y # CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_6 is not set # CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_5 is not set # CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_4 is not set # CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_3 is not set # CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_1 is not set CONFIG_BROWNOUT_DET_LVL=7 -CONFIG_ESP32S3_BROWNOUT_DET_LVL=7 CONFIG_IPC_TASK_STACK_SIZE=1024 CONFIG_TIMER_TASK_STACK_SIZE=3584 CONFIG_ESP32_WIFI_ENABLED=y CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y -CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 -CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 -CONFIG_ESP32_WIFI_CACHE_TX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 # CONFIG_ESP32_WIFI_CSI_ENABLED is not set CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y CONFIG_ESP32_WIFI_TX_BA_WIN=6 @@ -2885,7 +2716,6 @@ CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP32_WIFI_RX_BA_WIN=6 CONFIG_ESP32_WIFI_RX_BA_WIN=6 -# CONFIG_ESP32_WIFI_AMSDU_TX_ENABLED is not set CONFIG_ESP32_WIFI_NVS_ENABLED=y CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 @@ -2934,12 +2764,6 @@ CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y # CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF # CONFIG_PPP_SUPPORT is not set -CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_SYSTIMER=y -CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_FRC1=y -# CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC is not set -# CONFIG_ESP32S3_TIME_SYSCALL_USE_SYSTIMER is not set -# CONFIG_ESP32S3_TIME_SYSCALL_USE_FRC1 is not set -# CONFIG_ESP32S3_TIME_SYSCALL_USE_NONE is not set CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 CONFIG_ESP32_PTHREAD_STACK_MIN=768 diff --git a/sdkconfig.old b/sdkconfig.old index 0d3466a5..1d18cc98 100644 --- a/sdkconfig.old +++ b/sdkconfig.old @@ -2,38 +2,31 @@ # Automatically generated file. DO NOT EDIT. # Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Configuration # -CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 -CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 CONFIG_SOC_ADC_SUPPORTED=y +CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y CONFIG_SOC_UART_SUPPORTED=y -CONFIG_SOC_PCNT_SUPPORTED=y -CONFIG_SOC_PHY_SUPPORTED=y -CONFIG_SOC_WIFI_SUPPORTED=y -CONFIG_SOC_TWAI_SUPPORTED=y CONFIG_SOC_GDMA_SUPPORTED=y CONFIG_SOC_AHB_GDMA_SUPPORTED=y CONFIG_SOC_GPTIMER_SUPPORTED=y -CONFIG_SOC_LCDCAM_SUPPORTED=y +CONFIG_SOC_PCNT_SUPPORTED=y CONFIG_SOC_MCPWM_SUPPORTED=y -CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y -CONFIG_SOC_CACHE_SUPPORT_WRAP=y -CONFIG_SOC_ULP_SUPPORTED=y -CONFIG_SOC_ULP_FSM_SUPPORTED=y -CONFIG_SOC_RISCV_COPROC_SUPPORTED=y +CONFIG_SOC_TWAI_SUPPORTED=y +CONFIG_SOC_ETM_SUPPORTED=y +CONFIG_SOC_PARLIO_SUPPORTED=y CONFIG_SOC_BT_SUPPORTED=y -CONFIG_SOC_USB_OTG_SUPPORTED=y -CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y -CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y +CONFIG_SOC_IEEE802154_SUPPORTED=y CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y +CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y +CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y +CONFIG_SOC_PHY_SUPPORTED=y +CONFIG_SOC_WIFI_SUPPORTED=y CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y +CONFIG_SOC_ULP_SUPPORTED=y +CONFIG_SOC_LP_CORE_SUPPORTED=y CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y CONFIG_SOC_EFUSE_SUPPORTED=y -CONFIG_SOC_SDMMC_HOST_SUPPORTED=y CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y -CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y CONFIG_SOC_RTC_MEM_SUPPORTED=y -CONFIG_SOC_PSRAM_DMA_CAPABLE=y -CONFIG_SOC_XT_WDT_SUPPORTED=y CONFIG_SOC_I2S_SUPPORTED=y CONFIG_SOC_RMT_SUPPORTED=y CONFIG_SOC_SDM_SUPPORTED=y @@ -42,98 +35,130 @@ CONFIG_SOC_LEDC_SUPPORTED=y CONFIG_SOC_I2C_SUPPORTED=y CONFIG_SOC_SYSTIMER_SUPPORTED=y CONFIG_SOC_SUPPORT_COEXISTENCE=y -CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y CONFIG_SOC_AES_SUPPORTED=y CONFIG_SOC_MPI_SUPPORTED=y CONFIG_SOC_SHA_SUPPORTED=y CONFIG_SOC_HMAC_SUPPORTED=y CONFIG_SOC_DIG_SIGN_SUPPORTED=y +CONFIG_SOC_ECC_SUPPORTED=y CONFIG_SOC_FLASH_ENC_SUPPORTED=y CONFIG_SOC_SECURE_BOOT_SUPPORTED=y -CONFIG_SOC_MEMPROT_SUPPORTED=y -CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y +CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y CONFIG_SOC_BOD_SUPPORTED=y +CONFIG_SOC_APM_SUPPORTED=y +CONFIG_SOC_APM_CTRL_FILTER_SUPPORTED=y +CONFIG_SOC_PMU_SUPPORTED=y +CONFIG_SOC_PAU_SUPPORTED=y +CONFIG_SOC_LP_TIMER_SUPPORTED=y +CONFIG_SOC_LP_AON_SUPPORTED=y +CONFIG_SOC_LP_PERIPHERALS_SUPPORTED=y +CONFIG_SOC_LP_I2C_SUPPORTED=y +CONFIG_SOC_ULP_LP_UART_SUPPORTED=y CONFIG_SOC_CLK_TREE_SUPPORTED=y -CONFIG_SOC_MPU_SUPPORTED=y +CONFIG_SOC_ASSIST_DEBUG_SUPPORTED=y CONFIG_SOC_WDT_SUPPORTED=y CONFIG_SOC_SPI_FLASH_SUPPORTED=y CONFIG_SOC_RNG_SUPPORTED=y CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y -CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y +CONFIG_SOC_MODEM_CLOCK_SUPPORTED=y CONFIG_SOC_PM_SUPPORTED=y CONFIG_SOC_XTAL_SUPPORT_40M=y -CONFIG_SOC_APPCPU_HAS_CLOCK_GATING_BUG=y -CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y +CONFIG_SOC_AES_SUPPORT_DMA=y +CONFIG_SOC_AES_GDMA=y +CONFIG_SOC_AES_SUPPORT_AES_128=y +CONFIG_SOC_AES_SUPPORT_AES_256=y CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y -CONFIG_SOC_ADC_ARBITER_SUPPORTED=y CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y CONFIG_SOC_ADC_MONITOR_SUPPORTED=y CONFIG_SOC_ADC_DMA_SUPPORTED=y -CONFIG_SOC_ADC_PERIPH_NUM=2 -CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 +CONFIG_SOC_ADC_PERIPH_NUM=1 +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=7 CONFIG_SOC_ADC_ATTEN_NUM=4 -CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 -CONFIG_SOC_ADC_PATT_LEN_MAX=24 -CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=1 +CONFIG_SOC_ADC_PATT_LEN_MAX=8 CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 -CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 -CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 +CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y +CONFIG_SOC_ADC_CALIB_CHAN_COMPENS_SUPPORTED=y +CONFIG_SOC_ADC_TEMPERATURE_SHARE_INTR=y CONFIG_SOC_ADC_SHARED_POWER=y -CONFIG_SOC_APB_BACKUP_DMA=y CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y -CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y +CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y -CONFIG_SOC_CPU_CORES_NUM=2 +CONFIG_SOC_CPU_CORES_NUM=1 CONFIG_SOC_CPU_INTR_NUM=32 -CONFIG_SOC_CPU_HAS_FPU=y -CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y -CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 -CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 -CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64 -CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096 +CONFIG_SOC_CPU_HAS_FLEXIBLE_INTC=y +CONFIG_SOC_INT_PLIC_SUPPORTED=y +CONFIG_SOC_CPU_HAS_CSR_PC=y +CONFIG_SOC_CPU_BREAKPOINTS_NUM=4 +CONFIG_SOC_CPU_WATCHPOINTS_NUM=4 +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x80000000 +CONFIG_SOC_CPU_HAS_PMA=y +CONFIG_SOC_CPU_IDRAM_SPLIT_USING_PMP=y +CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=3072 CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 CONFIG_SOC_AHB_GDMA_VERSION=1 CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 -CONFIG_SOC_GDMA_PAIRS_PER_GROUP=5 -CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=5 -CONFIG_SOC_AHB_GDMA_SUPPORT_PSRAM=y +CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=3 +CONFIG_SOC_GDMA_SUPPORT_ETM=y +CONFIG_SOC_GDMA_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_ETM_GROUPS=1 +CONFIG_SOC_ETM_CHANNELS_PER_GROUP=50 CONFIG_SOC_GPIO_PORT=1 -CONFIG_SOC_GPIO_PIN_COUNT=49 +CONFIG_SOC_GPIO_PIN_COUNT=31 CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y -CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y +CONFIG_SOC_GPIO_FLEX_GLITCH_FILTER_NUM=8 +CONFIG_SOC_GPIO_SUPPORT_ETM=y CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y +CONFIG_SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP=y +CONFIG_SOC_LP_IO_CLOCK_IS_INDEPENDENT=y +CONFIG_SOC_GPIO_IN_RANGE_MAX=30 +CONFIG_SOC_GPIO_OUT_RANGE_MAX=30 +CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK=0 +CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_SUPPORTED_PIN_CNT=8 +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x000000007FFFFF00 CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y -CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x1FFFFFFFFFFFF -CONFIG_SOC_GPIO_IN_RANGE_MAX=48 -CONFIG_SOC_GPIO_OUT_RANGE_MAX=48 -CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000 -CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y +CONFIG_SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP=y +CONFIG_SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX=y +CONFIG_SOC_CLOCKOUT_HAS_SOURCE_GATE=y CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +CONFIG_SOC_RTCIO_PIN_COUNT=8 +CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y +CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y +CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y +CONFIG_SOC_RTCIO_VALID_RTCIO_MASK=0xFF CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 -CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y +CONFIG_SOC_DEDIC_PERIPH_ALWAYS_ENABLE=y CONFIG_SOC_I2C_NUM=2 -CONFIG_SOC_HP_I2C_NUM=2 +CONFIG_SOC_HP_I2C_NUM=1 CONFIG_SOC_I2C_FIFO_LEN=32 CONFIG_SOC_I2C_CMD_REG_NUM=8 CONFIG_SOC_I2C_SUPPORT_SLAVE=y +CONFIG_SOC_I2C_SUPPORT_HW_FSM_RST=y CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y CONFIG_SOC_I2C_SUPPORT_XTAL=y CONFIG_SOC_I2C_SUPPORT_RTC=y CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y +CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE=y CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y -CONFIG_SOC_I2S_NUM=2 +CONFIG_SOC_I2C_SLAVE_SUPPORT_SLAVE_UNMATCH=y +CONFIG_SOC_I2C_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_LP_I2C_NUM=1 +CONFIG_SOC_LP_I2C_FIFO_LEN=16 +CONFIG_SOC_I2S_NUM=1 CONFIG_SOC_I2S_HW_VERSION_2=y CONFIG_SOC_I2S_SUPPORTS_XTAL=y CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y @@ -141,35 +166,30 @@ CONFIG_SOC_I2S_SUPPORTS_PCM=y CONFIG_SOC_I2S_SUPPORTS_PDM=y CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 -CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y -CONFIG_SOC_I2S_PDM_MAX_RX_LINES=4 CONFIG_SOC_I2S_SUPPORTS_TDM=y -CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y +CONFIG_SOC_LEDC_SUPPORT_PLL_DIV_CLOCK=y CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y -CONFIG_SOC_LEDC_CHANNEL_NUM=8 -CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 +CONFIG_SOC_LEDC_CHANNEL_NUM=6 +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y -CONFIG_SOC_MCPWM_GROUPS=2 -CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 -CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 -CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 -CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2 -CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2 -CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 -CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y -CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 -CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 -CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y -CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 +CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED=y +CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX=16 +CONFIG_SOC_LEDC_FADE_PARAMS_BIT_WIDTH=10 +CONFIG_SOC_MMU_PAGE_SIZE_CONFIGURABLE=y CONFIG_SOC_MMU_PERIPH_NUM=1 +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 +CONFIG_SOC_MMU_DI_VADDR_SHARED=y +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 CONFIG_SOC_PCNT_GROUPS=1 CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 +CONFIG_SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE=y CONFIG_SOC_RMT_GROUPS=1 -CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4 -CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4 -CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=2 +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=2 +CONFIG_SOC_RMT_CHANNELS_PER_GROUP=4 CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y @@ -180,26 +200,40 @@ CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y CONFIG_SOC_RMT_SUPPORT_XTAL=y CONFIG_SOC_RMT_SUPPORT_RC_FAST=y -CONFIG_SOC_RMT_SUPPORT_APB=y -CONFIG_SOC_RMT_SUPPORT_DMA=y -CONFIG_SOC_LCD_I80_SUPPORTED=y -CONFIG_SOC_LCD_RGB_SUPPORTED=y -CONFIG_SOC_LCD_I80_BUSES=1 -CONFIG_SOC_LCD_RGB_PANELS=1 -CONFIG_SOC_LCD_I80_BUS_WIDTH=16 -CONFIG_SOC_LCD_RGB_DATA_WIDTH=16 -CONFIG_SOC_LCD_SUPPORT_RGB_YUV_CONV=y -CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 -CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549 -CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128 -CONFIG_SOC_RTCIO_PIN_COUNT=22 -CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y -CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y -CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y -CONFIG_SOC_SDM_GROUPS=y -CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 -CONFIG_SOC_SDM_CLK_SUPPORT_APB=y -CONFIG_SOC_SPI_PERIPH_NUM=3 +CONFIG_SOC_MCPWM_GROUPS=1 +CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 +CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 +CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 +CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y +CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 +CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 +CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y +CONFIG_SOC_MCPWM_SUPPORT_ETM=y +CONFIG_SOC_MCPWM_CAPTURE_CLK_FROM_GROUP=y +CONFIG_SOC_PARLIO_GROUPS=1 +CONFIG_SOC_PARLIO_TX_UNITS_PER_GROUP=1 +CONFIG_SOC_PARLIO_RX_UNITS_PER_GROUP=1 +CONFIG_SOC_PARLIO_TX_UNIT_MAX_DATA_WIDTH=16 +CONFIG_SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH=16 +CONFIG_SOC_PARLIO_TX_RX_SHARE_INTERRUPT=y +CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 +CONFIG_SOC_MPI_OPERATIONS_NUM=3 +CONFIG_SOC_RSA_MAX_BIT_LEN=3072 +CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 +CONFIG_SOC_SHA_SUPPORT_DMA=y +CONFIG_SOC_SHA_SUPPORT_RESUME=y +CONFIG_SOC_SHA_GDMA=y +CONFIG_SOC_SHA_SUPPORT_SHA1=y +CONFIG_SOC_SHA_SUPPORT_SHA224=y +CONFIG_SOC_SHA_SUPPORT_SHA256=y +CONFIG_SOC_SDM_GROUPS=1 +CONFIG_SOC_SDM_CHANNELS_PER_GROUP=4 +CONFIG_SOC_SDM_CLK_SUPPORT_PLL_F80M=y +CONFIG_SOC_SDM_CLK_SUPPORT_XTAL=y +CONFIG_SOC_SPI_PERIPH_NUM=2 CONFIG_SOC_SPI_MAX_CS_NUM=6 CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 CONFIG_SOC_SPI_SUPPORT_DDRCLK=y @@ -207,160 +241,144 @@ CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y CONFIG_SOC_SPI_SUPPORT_CD_SIG=y CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y -CONFIG_SOC_SPI_SUPPORT_CLK_APB=y CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y -CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y -CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y -CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 -CONFIG_SOC_SPI_SUPPORT_OCT=y +CONFIG_SOC_SPI_SUPPORT_CLK_PLL_F80M=y +CONFIG_SOC_SPI_SUPPORT_CLK_RC_FAST=y CONFIG_SOC_SPI_SCT_SUPPORTED=y CONFIG_SOC_SPI_SCT_REG_NUM=14 CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA -CONFIG_SOC_MEMSPI_SRC_FREQ_120M=y +CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y +CONFIG_SOC_SPI_MEM_SUPPORT_IDLE_INTR=y +CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_CHECK_SUS=y +CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y -CONFIG_SOC_SPIRAM_SUPPORTED=y -CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 CONFIG_SOC_SYSTIMER_ALARM_NUM=3 CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y +CONFIG_SOC_SYSTIMER_SUPPORT_RC_FAST=y CONFIG_SOC_SYSTIMER_INT_LEVEL=y CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y +CONFIG_SOC_SYSTIMER_SUPPORT_ETM=y +CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 +CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 CONFIG_SOC_TIMER_GROUPS=2 -CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 +CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=1 CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y -CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y -CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 -CONFIG_SOC_TOUCH_SENSOR_VERSION=2 -CONFIG_SOC_TOUCH_SENSOR_NUM=15 -CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y -CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y -CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y -CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3 -CONFIG_SOC_TOUCH_PROXIMITY_MEAS_DONE_SUPPORTED=y -CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 -CONFIG_SOC_TWAI_CONTROLLER_NUM=1 -CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y +CONFIG_SOC_TIMER_GROUP_SUPPORT_RC_FAST=y +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=2 +CONFIG_SOC_TIMER_SUPPORT_ETM=y +CONFIG_SOC_TIMER_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_MWDT_SUPPORT_XTAL=y +CONFIG_SOC_TWAI_CONTROLLER_NUM=2 +CONFIG_SOC_TWAI_CLK_SUPPORT_XTAL=y CONFIG_SOC_TWAI_BRP_MIN=2 -CONFIG_SOC_TWAI_BRP_MAX=16384 +CONFIG_SOC_TWAI_BRP_MAX=32768 CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y -CONFIG_SOC_UART_NUM=3 -CONFIG_SOC_UART_HP_NUM=3 -CONFIG_SOC_UART_FIFO_LEN=128 -CONFIG_SOC_UART_BITRATE_MAX=5000000 -CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y -CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y -CONFIG_SOC_UART_SUPPORT_APB_CLK=y -CONFIG_SOC_UART_SUPPORT_RTC_CLK=y -CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y -CONFIG_SOC_USB_OTG_PERIPH_NUM=1 -CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 -CONFIG_SOC_SHA_SUPPORT_DMA=y -CONFIG_SOC_SHA_SUPPORT_RESUME=y -CONFIG_SOC_SHA_GDMA=y -CONFIG_SOC_SHA_SUPPORT_SHA1=y -CONFIG_SOC_SHA_SUPPORT_SHA224=y -CONFIG_SOC_SHA_SUPPORT_SHA256=y -CONFIG_SOC_SHA_SUPPORT_SHA384=y -CONFIG_SOC_SHA_SUPPORT_SHA512=y -CONFIG_SOC_SHA_SUPPORT_SHA512_224=y -CONFIG_SOC_SHA_SUPPORT_SHA512_256=y -CONFIG_SOC_SHA_SUPPORT_SHA512_T=y -CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 -CONFIG_SOC_MPI_OPERATIONS_NUM=3 -CONFIG_SOC_RSA_MAX_BIT_LEN=4096 -CONFIG_SOC_AES_SUPPORT_DMA=y -CONFIG_SOC_AES_GDMA=y -CONFIG_SOC_AES_SUPPORT_AES_128=y -CONFIG_SOC_AES_SUPPORT_AES_256=y -CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_CPU_PD=y -CONFIG_SOC_PM_SUPPORT_TAGMEM_PD=y -CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y -CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y -CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y -CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y -CONFIG_SOC_PM_SUPPORT_MODEM_PD=y -CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y -CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y -CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y -CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y -CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y -CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y -CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y -CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y -CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y -CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_PAD_JTAG=y CONFIG_SOC_EFUSE_DIS_USB_JTAG=y -CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y +CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y CONFIG_SOC_EFUSE_DIS_ICACHE=y CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y CONFIG_SOC_SECURE_BOOT_V2_RSA=y +CONFIG_SOC_SECURE_BOOT_V2_ECC=y CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y -CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 -CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=256 +CONFIG_SOC_CRYPTO_DPA_PROTECTION_SUPPORTED=y +CONFIG_SOC_UART_NUM=3 +CONFIG_SOC_UART_HP_NUM=2 +CONFIG_SOC_UART_LP_NUM=1 +CONFIG_SOC_UART_FIFO_LEN=128 +CONFIG_SOC_LP_UART_FIFO_LEN=16 +CONFIG_SOC_UART_BITRATE_MAX=5000000 +CONFIG_SOC_UART_SUPPORT_PLL_F80M_CLK=y +CONFIG_SOC_UART_SUPPORT_RTC_CLK=y +CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y +CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y +CONFIG_SOC_UART_HAS_LP_UART=y +CONFIG_SOC_UART_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y +CONFIG_SOC_COEX_HW_PTI=y +CONFIG_SOC_EXTERNAL_COEX_ADVANCE=y CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 -CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192 CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y -CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y -CONFIG_SOC_SPI_MEM_SUPPORT_OPI_MODE=y -CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y -CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y -CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y -CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y -CONFIG_SOC_MEMSPI_CORE_CLK_SHARED_WITH_PSRAM=y -CONFIG_SOC_COEX_HW_PTI=y -CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y -CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y -CONFIG_SOC_SDMMC_NUM_SLOTS=2 -CONFIG_SOC_SDMMC_SUPPORT_XTAL_CLOCK=y -CONFIG_SOC_SDMMC_DELAY_PHASE_NUM=4 +CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_BEACON_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN=y +CONFIG_SOC_PM_SUPPORT_CPU_PD=y +CONFIG_SOC_PM_SUPPORT_MODEM_PD=y +CONFIG_SOC_PM_SUPPORT_XTAL32K_PD=y +CONFIG_SOC_PM_SUPPORT_RC32K_PD=y +CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y +CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +CONFIG_SOC_PM_SUPPORT_TOP_PD=y +CONFIG_SOC_PM_SUPPORT_HP_AON_PD=y +CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y +CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y +CONFIG_SOC_PM_SUPPORT_PMU_MODEM_STATE=y +CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y +CONFIG_SOC_PM_CPU_RETENTION_BY_SW=y +CONFIG_SOC_PM_MODEM_RETENTION_BY_REGDMA=y +CONFIG_SOC_PM_RETENTION_HAS_CLOCK_BUG=y +CONFIG_SOC_PM_PAU_LINK_NUM=4 +CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y +CONFIG_SOC_MODEM_CLOCK_IS_INDEPENDENT=y +CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y +CONFIG_SOC_CLK_OSC_SLOW_SUPPORTED=y +CONFIG_SOC_CLK_RC32K_SUPPORTED=y +CONFIG_SOC_RCC_IS_INDEPENDENT=y CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL=y +CONFIG_SOC_TEMPERATURE_SENSOR_INTR_SUPPORT=y +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_ETM=y +CONFIG_SOC_RNG_CLOCK_IS_INDEPENDENT=y CONFIG_SOC_WIFI_HW_TSF=y CONFIG_SOC_WIFI_FTM_SUPPORT=y CONFIG_SOC_WIFI_GCMP_SUPPORT=y CONFIG_SOC_WIFI_WAPI_SUPPORT=y CONFIG_SOC_WIFI_CSI_SUPPORT=y CONFIG_SOC_WIFI_MESH_SUPPORT=y -CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y -CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y +CONFIG_SOC_WIFI_HE_SUPPORT=y CONFIG_SOC_BLE_SUPPORTED=y CONFIG_SOC_BLE_MESH_SUPPORTED=y +CONFIG_SOC_ESP_NIMBLE_CONTROLLER=y CONFIG_SOC_BLE_50_SUPPORTED=y CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y +CONFIG_SOC_BLE_POWER_CONTROL_SUPPORTED=y +CONFIG_SOC_BLE_PERIODIC_ADV_ENH_SUPPORTED=y CONFIG_SOC_BLUFI_SUPPORTED=y -CONFIG_SOC_ULP_HAS_ADC=y +CONFIG_SOC_BLE_MULTI_CONN_OPTIMIZATION=y +CONFIG_SOC_BLE_USE_WIFI_PWR_CLK_WORKAROUND=y CONFIG_SOC_PHY_COMBO_MODULE=y +CONFIG_SOC_CAPS_NO_RESET_BY_ANA_BOD=y +CONFIG_SOC_LP_CORE_SINGLE_INTERRUPT_VECTOR=y +CONFIG_SOC_LP_CORE_SUPPORT_ETM=y CONFIG_IDF_CMAKE=y CONFIG_IDF_TOOLCHAIN="gcc" -CONFIG_IDF_TARGET_ARCH_XTENSA=y -CONFIG_IDF_TARGET_ARCH="xtensa" -CONFIG_IDF_TARGET="esp32s3" +CONFIG_IDF_TARGET_ARCH_RISCV=y +CONFIG_IDF_TARGET_ARCH="riscv" +CONFIG_IDF_TARGET="esp32c6" CONFIG_IDF_INIT_VERSION="5.3.1" -CONFIG_IDF_TARGET_ESP32S3=y -CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009 +CONFIG_IDF_TARGET_ESP32C6=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x000D # # Build type @@ -389,7 +407,6 @@ CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set -# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set # CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set # CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set # CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set @@ -405,7 +422,6 @@ CONFIG_BOOTLOADER_LOG_LEVEL=3 CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y # end of Serial Flash Configurations -CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y # CONFIG_BOOTLOADER_FACTORY_RESET is not set # CONFIG_BOOTLOADER_APP_TEST is not set CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y @@ -424,6 +440,7 @@ CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 # Security features # CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_ECC_SUPPORTED=y CONFIG_SECURE_BOOT_V2_PREFERRED=y # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set # CONFIG_SECURE_BOOT is not set @@ -443,29 +460,28 @@ CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 CONFIG_ESP_ROM_HAS_CRC_LE=y CONFIG_ESP_ROM_HAS_CRC_BE=y -CONFIG_ESP_ROM_HAS_MZ_CRC32=y CONFIG_ESP_ROM_HAS_JPEG_DECODE=y CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=3 CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y -CONFIG_ESP_ROM_USB_OTG_NUM=3 -CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 -CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y -CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y CONFIG_ESP_ROM_GET_CLK_FREQ=y +CONFIG_ESP_ROM_HAS_RVFPLIB=y CONFIG_ESP_ROM_HAS_HAL_WDT=y -CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +CONFIG_ESP_ROM_HAS_HAL_SYSTIMER=y +CONFIG_ESP_ROM_HAS_HEAP_TLSF=y +CONFIG_ESP_ROM_TLSF_CHECK_PATCH=y +CONFIG_ESP_ROM_MULTI_HEAP_WALK_PATCH=y CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y CONFIG_ESP_ROM_HAS_SPI_FLASH=y -CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y +CONFIG_ESP_ROM_HAS_REGI2C_BUG=y CONFIG_ESP_ROM_HAS_NEWLIB=y -CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y -CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y +CONFIG_ESP_ROM_HAS_NEWLIB_NORMAL_FORMAT=y +CONFIG_ESP_ROM_REV0_HAS_NO_ECDSA_INTERFACE=y +CONFIG_ESP_ROM_WDT_INIT_PATCH=y CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y -CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y -CONFIG_ESP_ROM_HAS_CACHE_SUSPEND_WAITI_BUG=y -CONFIG_ESP_ROM_HAS_CACHE_WRITEBACK_BUG=y CONFIG_ESP_ROM_HAS_SW_FLOAT=y +CONFIG_ESP_ROM_USB_OTG_NUM=-1 CONFIG_ESP_ROM_HAS_VERSION=y CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y @@ -482,29 +498,26 @@ CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y # Serial flasher config # # CONFIG_ESPTOOLPY_NO_STUB is not set -# CONFIG_ESPTOOLPY_OCT_FLASH is not set -CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=y -CONFIG_ESPTOOLPY_FLASHMODE_QIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set # CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set -# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y # CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y CONFIG_ESPTOOLPY_FLASHMODE="dio" -# CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set CONFIG_ESPTOOLPY_FLASHFREQ_80M=y # CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set # CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y CONFIG_ESPTOOLPY_FLASHFREQ="80m" # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set -# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y # CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set -CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set -CONFIG_ESPTOOLPY_FLASHSIZE="8MB" +CONFIG_ESPTOOLPY_FLASHSIZE="2MB" # CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set CONFIG_ESPTOOLPY_BEFORE_RESET=y # CONFIG_ESPTOOLPY_BEFORE_NORESET is not set @@ -518,12 +531,12 @@ CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 # # Partition Table # -# CONFIG_PARTITION_TABLE_SINGLE_APP is not set +CONFIG_PARTITION_TABLE_SINGLE_APP=y # CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set # CONFIG_PARTITION_TABLE_TWO_OTA is not set -CONFIG_PARTITION_TABLE_CUSTOM=y +# CONFIG_PARTITION_TABLE_CUSTOM is not set CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" -CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv" CONFIG_PARTITION_TABLE_OFFSET=0x8000 CONFIG_PARTITION_TABLE_MD5=y # end of Partition Table @@ -531,14 +544,15 @@ CONFIG_PARTITION_TABLE_MD5=y # # Compiler options # -# CONFIG_COMPILER_OPTIMIZATION_DEBUG is not set -CONFIG_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_COMPILER_OPTIMIZATION_DEBUG=y +# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set # CONFIG_COMPILER_OPTIMIZATION_PERF is not set # CONFIG_COMPILER_OPTIMIZATION_NONE is not set CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set -CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y +# CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB is not set +CONFIG_COMPILER_FLOAT_LIB_FROM_RVFPLIB=y CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 # CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set CONFIG_COMPILER_HIDE_PATHS_MACROS=y @@ -549,6 +563,7 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y # CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set # CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set # CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS is not set # CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set # CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set # CONFIG_COMPILER_DUMP_RTL_FILES is not set @@ -569,7 +584,6 @@ CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y CONFIG_APPTRACE_DEST_NONE=y # CONFIG_APPTRACE_DEST_UART1 is not set # CONFIG_APPTRACE_DEST_UART2 is not set -# CONFIG_APPTRACE_DEST_USB_CDC is not set CONFIG_APPTRACE_DEST_UART_NONE=y CONFIG_APPTRACE_UART_TASK_PRIO=1 CONFIG_APPTRACE_LOCK_ENABLE=y @@ -578,232 +592,10 @@ CONFIG_APPTRACE_LOCK_ENABLE=y # # Bluetooth # -CONFIG_BT_ENABLED=y -# CONFIG_BT_BLUEDROID_ENABLED is not set -CONFIG_BT_NIMBLE_ENABLED=y -# CONFIG_BT_CONTROLLER_ONLY is not set -CONFIG_BT_CONTROLLER_ENABLED=y -# CONFIG_BT_CONTROLLER_DISABLED is not set - -# -# NimBLE Options -# -CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y -# CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL is not set -# CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set -# CONFIG_BT_NIMBLE_LOG_LEVEL_NONE is not set -# CONFIG_BT_NIMBLE_LOG_LEVEL_ERROR is not set -# CONFIG_BT_NIMBLE_LOG_LEVEL_WARNING is not set -CONFIG_BT_NIMBLE_LOG_LEVEL_INFO=y -# CONFIG_BT_NIMBLE_LOG_LEVEL_DEBUG is not set -CONFIG_BT_NIMBLE_LOG_LEVEL=1 -CONFIG_BT_NIMBLE_MAX_CONNECTIONS=3 -CONFIG_BT_NIMBLE_MAX_BONDS=3 -CONFIG_BT_NIMBLE_MAX_CCCDS=8 -CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM=0 -CONFIG_BT_NIMBLE_PINNED_TO_CORE=0 -CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=4096 -CONFIG_BT_NIMBLE_ROLE_CENTRAL=y -CONFIG_BT_NIMBLE_ROLE_PERIPHERAL=y -CONFIG_BT_NIMBLE_ROLE_BROADCASTER=y -CONFIG_BT_NIMBLE_ROLE_OBSERVER=y -# CONFIG_BT_NIMBLE_NVS_PERSIST is not set -# CONFIG_BT_NIMBLE_SMP_ID_RESET is not set -CONFIG_BT_NIMBLE_SECURITY_ENABLE=y -CONFIG_BT_NIMBLE_SM_LEGACY=y -CONFIG_BT_NIMBLE_SM_SC=y -# CONFIG_BT_NIMBLE_SM_SC_DEBUG_KEYS is not set -CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_ENCRYPTION=y -CONFIG_BT_NIMBLE_SM_LVL=0 -# CONFIG_BT_NIMBLE_DEBUG is not set -# CONFIG_BT_NIMBLE_DYNAMIC_SERVICE is not set -CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME="nimble" -CONFIG_BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31 -CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=256 -CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE=0 - -# -# Memory Settings -# -CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=12 -CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=256 -CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=24 -CONFIG_BT_NIMBLE_MSYS_2_BLOCK_SIZE=320 -CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=24 -CONFIG_BT_NIMBLE_TRANSPORT_ACL_SIZE=255 -CONFIG_BT_NIMBLE_TRANSPORT_EVT_SIZE=70 -CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=30 -CONFIG_BT_NIMBLE_TRANSPORT_EVT_DISCARD_COUNT=8 -CONFIG_BT_NIMBLE_L2CAP_COC_SDU_BUFF_COUNT=1 -# end of Memory Settings - -CONFIG_BT_NIMBLE_GATT_MAX_PROCS=4 -CONFIG_BT_NIMBLE_HS_FLOW_CTRL=y -CONFIG_BT_NIMBLE_HS_FLOW_CTRL_ITVL=1000 -CONFIG_BT_NIMBLE_HS_FLOW_CTRL_THRESH=2 -CONFIG_BT_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y -CONFIG_BT_NIMBLE_RPA_TIMEOUT=900 -# CONFIG_BT_NIMBLE_MESH is not set -CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y -CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000 -# CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT is not set -CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=y -CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY=y -CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY=y -# CONFIG_BT_NIMBLE_EXT_ADV is not set -CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS=0 -# CONFIG_BT_NIMBLE_GATT_CACHING is not set -CONFIG_BT_NIMBLE_WHITELIST_SIZE=12 -# CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set -# CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set -CONFIG_BT_NIMBLE_USE_ESP_TIMER=y -CONFIG_BT_NIMBLE_LEGACY_VHCI_ENABLE=y -# CONFIG_BT_NIMBLE_BLE_GATT_BLOB_TRANSFER is not set - -# -# GAP Service -# - -# -# GAP Appearance write permissions -# -# CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE is not set -# end of GAP Appearance write permissions - -CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM=0 -CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ENC=0 -CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHN=0 -CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHR=0 -CONFIG_BT_NIMBLE_SVC_GAP_CAR_CHAR_NOT_SUPP=y -# CONFIG_BT_NIMBLE_SVC_GAP_CAR_NOT_SUPP is not set -# CONFIG_BT_NIMBLE_SVC_GAP_CAR_SUPP is not set -CONFIG_BT_NIMBLE_SVC_GAP_CENT_ADDR_RESOLUTION=-1 - -# -# GAP device name write permissions -# -# CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE is not set -# end of GAP device name write permissions - -CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM=0 -CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_ENC=0 -CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHEN=0 -CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHOR=0 -CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL=0 -CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL=0 -CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SLAVE_LATENCY=0 -CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SUPERVISION_TMO=0 -# end of GAP Service - -# -# BLE Services -# -# CONFIG_BT_NIMBLE_HID_SERVICE is not set -# end of BLE Services - -# CONFIG_BT_NIMBLE_VS_SUPPORT is not set -# CONFIG_BT_NIMBLE_ENC_ADV_DATA is not set -# CONFIG_BT_NIMBLE_HIGH_DUTY_ADV_ITVL is not set -# CONFIG_BT_NIMBLE_HOST_QUEUE_CONG_CHECK is not set - -# -# Host-controller Transport -# -CONFIG_UART_HW_FLOWCTRL_DISABLE=y -# CONFIG_UART_HW_FLOWCTRL_CTS_RTS is not set -CONFIG_BT_NIMBLE_HCI_UART_FLOW_CTRL=0 -CONFIG_BT_NIMBLE_HCI_UART_RTS_PIN=19 -CONFIG_BT_NIMBLE_HCI_UART_CTS_PIN=23 -# end of Host-controller Transport -# end of NimBLE Options - -# -# Controller Options -# -CONFIG_BT_CTRL_MODE_EFF=1 -CONFIG_BT_CTRL_BLE_MAX_ACT=6 -CONFIG_BT_CTRL_BLE_MAX_ACT_EFF=6 -CONFIG_BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB=0 -CONFIG_BT_CTRL_PINNED_TO_CORE=0 -CONFIG_BT_CTRL_HCI_MODE_VHCI=y -# CONFIG_BT_CTRL_HCI_MODE_UART_H4 is not set -CONFIG_BT_CTRL_HCI_TL=1 -CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=30 -CONFIG_BT_BLE_CCA_MODE_NONE=y -# CONFIG_BT_BLE_CCA_MODE_HW is not set -# CONFIG_BT_BLE_CCA_MODE_SW is not set -CONFIG_BT_BLE_CCA_MODE=0 -CONFIG_BT_CTRL_HW_CCA_VAL=20 -CONFIG_BT_CTRL_HW_CCA_EFF=0 -CONFIG_BT_CTRL_CE_LENGTH_TYPE_ORIG=y -# CONFIG_BT_CTRL_CE_LENGTH_TYPE_CE is not set -# CONFIG_BT_CTRL_CE_LENGTH_TYPE_SD is not set -CONFIG_BT_CTRL_CE_LENGTH_TYPE_EFF=0 -CONFIG_BT_CTRL_TX_ANTENNA_INDEX_0=y -# CONFIG_BT_CTRL_TX_ANTENNA_INDEX_1 is not set -CONFIG_BT_CTRL_TX_ANTENNA_INDEX_EFF=0 -CONFIG_BT_CTRL_RX_ANTENNA_INDEX_0=y -# CONFIG_BT_CTRL_RX_ANTENNA_INDEX_1 is not set -CONFIG_BT_CTRL_RX_ANTENNA_INDEX_EFF=0 -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N24 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N21 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N18 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N15 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N12 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N9 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N6 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N3 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N0 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P3 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P6 is not set -CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P9=y -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P12 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P15 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P18 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P21 is not set -CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_EFF=11 -CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y -CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 -CONFIG_BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 -CONFIG_BT_CTRL_BLE_SCAN_DUPL=y -CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DEVICE=y -# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA is not set -# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA_DEVICE is not set -CONFIG_BT_CTRL_SCAN_DUPL_TYPE=0 -CONFIG_BT_CTRL_SCAN_DUPL_CACHE_SIZE=100 -CONFIG_BT_CTRL_DUPL_SCAN_CACHE_REFRESH_PERIOD=0 -# CONFIG_BT_CTRL_BLE_MESH_SCAN_DUPL_EN is not set -# CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EN is not set -CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_DIS=y -CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EFF=0 - -# -# MODEM SLEEP Options -# -# CONFIG_BT_CTRL_MODEM_SLEEP is not set -# end of MODEM SLEEP Options - -CONFIG_BT_CTRL_SLEEP_MODE_EFF=0 -CONFIG_BT_CTRL_SLEEP_CLOCK_EFF=0 -CONFIG_BT_CTRL_HCI_TL_EFF=1 -# CONFIG_BT_CTRL_AGC_RECORRECT_EN is not set -# CONFIG_BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set -# CONFIG_BT_BLE_ADV_DATA_LENGTH_ZERO_AUX is not set -CONFIG_BT_CTRL_CHAN_ASS_EN=y -CONFIG_BT_CTRL_LE_PING_EN=y -# end of Controller Options - -# -# Common Options -# +# CONFIG_BT_ENABLED is not set CONFIG_BT_ALARM_MAX_NUM=50 -# end of Common Options - -# CONFIG_BT_HCI_LOG_DEBUG_EN is not set # end of Bluetooth -# CONFIG_BLE_MESH is not set - # # Console Library # @@ -818,7 +610,6 @@ CONFIG_BT_ALARM_MAX_NUM=50 # TWAI Configuration # # CONFIG_TWAI_ISR_IN_IRAM is not set -CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y # end of TWAI Configuration # @@ -902,7 +693,6 @@ CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y # # CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set # CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set -# CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set # CONFIG_ADC_ENABLE_DEBUG_LOG is not set # end of ADC and ADC Calibration @@ -911,6 +701,7 @@ CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y # CONFIG_ESP_COEX_ENABLED=y CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y +# CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE is not set # CONFIG_ESP_COEX_POWER_MANAGEMENT is not set # end of Wireless Coexistence @@ -963,6 +754,13 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:MCPWM Configurations +# +# ESP-Driver:Parallel IO Configurations +# +# CONFIG_PARLIO_ENABLE_DEBUG_LOG is not set +# CONFIG_PARLIO_ISR_IRAM_SAFE is not set +# end of ESP-Driver:Parallel IO Configurations + # # ESP-Driver:PCNT Configurations # @@ -989,23 +787,17 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # # ESP-Driver:SPI Configurations # +# CONFIG_SPI_MASTER_IN_IRAM is not set CONFIG_SPI_MASTER_ISR_IN_IRAM=y # CONFIG_SPI_SLAVE_IN_IRAM is not set CONFIG_SPI_SLAVE_ISR_IN_IRAM=y # end of ESP-Driver:SPI Configurations -# -# ESP-Driver:Touch Sensor Configurations -# -# CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set -# CONFIG_TOUCH_ISR_IRAM_SAFE is not set -# CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:Touch Sensor Configurations - # # ESP-Driver:Temperature Sensor Configurations # # CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set +# CONFIG_TEMP_SENSOR_ISR_IRAM_SAFE is not set # end of ESP-Driver:Temperature Sensor Configurations # @@ -1090,16 +882,15 @@ CONFIG_HTTPD_PURGE_BUF_LEN=32 # # Chip revision # -CONFIG_ESP32S3_REV_MIN_0=y -# CONFIG_ESP32S3_REV_MIN_1 is not set -# CONFIG_ESP32S3_REV_MIN_2 is not set -CONFIG_ESP32S3_REV_MIN_FULL=0 +CONFIG_ESP32C6_REV_MIN_0=y +# CONFIG_ESP32C6_REV_MIN_1 is not set +CONFIG_ESP32C6_REV_MIN_FULL=0 CONFIG_ESP_REV_MIN_FULL=0 # -# Maximum Supported ESP32-S3 Revision (Rev v0.99) +# Maximum Supported ESP32-C6 Revision (Rev v0.99) # -CONFIG_ESP32S3_REV_MAX_FULL=99 +CONFIG_ESP32C6_REV_MAX_FULL=99 CONFIG_ESP_REV_MAX_FULL=99 # end of Chip revision @@ -1110,21 +901,21 @@ CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_IEEE802154=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 -# CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set -CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y -CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES=4 # CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set # end of MAC Config # # Sleep Config # +# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y -CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND=y # CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set -CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0 # CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set @@ -1138,7 +929,7 @@ CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y CONFIG_RTC_CLK_SRC_INT_RC=y # CONFIG_RTC_CLK_SRC_EXT_CRYS is not set # CONFIG_RTC_CLK_SRC_EXT_OSC is not set -# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set +# CONFIG_RTC_CLK_SRC_INT_RC32K is not set CONFIG_RTC_CLK_CAL_CYCLES=1024 # end of RTC Clock Config @@ -1148,6 +939,12 @@ CONFIG_RTC_CLK_CAL_CYCLES=1024 CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y # end of Peripheral Control +# +# ETM Configuration +# +# CONFIG_ETM_ENABLE_DEBUG_LOG is not set +# end of ETM Configuration + # # GDMA Configurations # @@ -1163,6 +960,16 @@ CONFIG_XTAL_FREQ_40=y CONFIG_XTAL_FREQ=40 # end of Main XTAL Config +# +# Crypto DPA Protection +# +CONFIG_ESP_CRYPTO_DPA_PROTECTION_AT_STARTUP=y +CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_LOW=y +# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_MEDIUM is not set +# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_HIGH is not set +CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL=1 +# end of Crypto DPA Protection + CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y # end of Hardware Settings @@ -1177,10 +984,7 @@ CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y # # LCD Peripheral Configuration # -CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 # CONFIG_LCD_ENABLE_DEBUG_LOG is not set -# CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set -# CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set # end of LCD Peripheral Configuration # end of LCD and Touch Panel @@ -1210,8 +1014,6 @@ CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 CONFIG_ESP_PHY_MAX_TX_POWER=20 # CONFIG_ESP_PHY_REDUCE_TX_POWER is not set -CONFIG_ESP_PHY_ENABLE_USB=y -# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set CONFIG_ESP_PHY_RF_CAL_PARTIAL=y # CONFIG_ESP_PHY_RF_CAL_NONE is not set # CONFIG_ESP_PHY_RF_CAL_FULL is not set @@ -1225,44 +1027,12 @@ CONFIG_ESP_PHY_CALIBRATION_MODE=0 # CONFIG_PM_ENABLE is not set CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y -CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y +# CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP is not set # end of Power Management # # ESP PSRAM # -CONFIG_SPIRAM=y - -# -# SPI RAM config -# -# CONFIG_SPIRAM_MODE_QUAD is not set -CONFIG_SPIRAM_MODE_OCT=y -CONFIG_SPIRAM_TYPE_AUTO=y -# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set -CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y -CONFIG_SPIRAM_CLK_IO=30 -CONFIG_SPIRAM_CS_IO=26 -# CONFIG_SPIRAM_XIP_FROM_PSRAM is not set -CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y -CONFIG_SPIRAM_RODATA=y -# CONFIG_SPIRAM_SPEED_120M is not set -CONFIG_SPIRAM_SPEED_80M=y -# CONFIG_SPIRAM_SPEED_40M is not set -CONFIG_SPIRAM_SPEED=80 -# CONFIG_SPIRAM_ECC_ENABLE is not set -CONFIG_SPIRAM_BOOT_INIT=y -# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set -# CONFIG_SPIRAM_USE_MEMMAP is not set -# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set -CONFIG_SPIRAM_USE_MALLOC=y -CONFIG_SPIRAM_MEMTEST=y -CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384 -# CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set -CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 -# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set -# end of SPI RAM config -# end of ESP PSRAM # # ESP Ringbuf @@ -1274,49 +1044,9 @@ CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 # ESP System Settings # # CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 - -# -# Cache config -# -CONFIG_ESP32S3_INSTRUCTION_CACHE_16KB=y -# CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB is not set -CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE=0x4000 -# CONFIG_ESP32S3_INSTRUCTION_CACHE_4WAYS is not set -CONFIG_ESP32S3_INSTRUCTION_CACHE_8WAYS=y -CONFIG_ESP32S3_ICACHE_ASSOCIATED_WAYS=8 -# CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_16B is not set -CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_32B=y -CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_SIZE=32 -# CONFIG_ESP32S3_DATA_CACHE_16KB is not set -CONFIG_ESP32S3_DATA_CACHE_32KB=y -# CONFIG_ESP32S3_DATA_CACHE_64KB is not set -CONFIG_ESP32S3_DATA_CACHE_SIZE=0x8000 -# CONFIG_ESP32S3_DATA_CACHE_4WAYS is not set -CONFIG_ESP32S3_DATA_CACHE_8WAYS=y -CONFIG_ESP32S3_DCACHE_ASSOCIATED_WAYS=8 -# CONFIG_ESP32S3_DATA_CACHE_LINE_16B is not set -# CONFIG_ESP32S3_DATA_CACHE_LINE_32B is not set -CONFIG_ESP32S3_DATA_CACHE_LINE_64B=y -CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=64 -# end of Cache config - -# -# Memory -# -# CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM is not set -# CONFIG_ESP32S3_USE_FIXED_STATIC_RAM_SIZE is not set -# end of Memory - -# -# Trace memory -# -# CONFIG_ESP32S3_TRAX is not set -CONFIG_ESP32S3_TRACEMEM_RESERVE_DRAM=0x0 -# end of Trace memory - +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_120 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 # CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y # CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set @@ -1325,12 +1055,12 @@ CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y +# CONFIG_ESP_SYSTEM_USE_EH_FRAME is not set # # Memory protection # -CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y -CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y +CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT=y # end of Memory protection CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 @@ -1341,7 +1071,6 @@ CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 CONFIG_ESP_CONSOLE_UART_DEFAULT=y -# CONFIG_ESP_CONSOLE_USB_CDC is not set # CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set # CONFIG_ESP_CONSOLE_UART_CUSTOM is not set # CONFIG_ESP_CONSOLE_NONE is not set @@ -1352,8 +1081,13 @@ CONFIG_ESP_CONSOLE_UART=y CONFIG_ESP_CONSOLE_UART_NUM=0 CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 -# CONFIG_ESP_INT_WDT is not set -# CONFIG_ESP_TASK_WDT_EN is not set +CONFIG_ESP_INT_WDT=y +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +CONFIG_ESP_TASK_WDT_EN=y +CONFIG_ESP_TASK_WDT_INIT=y +# CONFIG_ESP_TASK_WDT_PANIC is not set +CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y # CONFIG_ESP_PANIC_HANDLER_IRAM is not set # CONFIG_ESP_DEBUG_STUBS_ENABLE is not set CONFIG_ESP_DEBUG_OCDAWARE=y @@ -1369,12 +1103,13 @@ CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set CONFIG_ESP_BROWNOUT_DET_LVL=7 # end of Brownout Detector CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_ESP_SYSTEM_HW_STACK_GUARD=y CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y +CONFIG_ESP_SYSTEM_HW_PC_RECORD=y # end of ESP System Settings # @@ -1405,10 +1140,10 @@ CONFIG_ESP_TIMER_IMPL_SYSTIMER=y CONFIG_ESP_WIFI_ENABLED=y CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y -CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0 -CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=16 -CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=32 +# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y # CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 @@ -1418,7 +1153,6 @@ CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y CONFIG_ESP_WIFI_TX_BA_WIN=6 CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP_WIFI_RX_BA_WIN=6 -# CONFIG_ESP_WIFI_AMSDU_TX_ENABLED is not set CONFIG_ESP_WIFI_NVS_ENABLED=y CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 @@ -1442,15 +1176,16 @@ CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y -# CONFIG_ESP_WIFI_EAP_TLS1_3 is not set # CONFIG_ESP_WIFI_WAPI_PSK is not set # CONFIG_ESP_WIFI_SUITE_B_192 is not set # CONFIG_ESP_WIFI_11KV_SUPPORT is not set # CONFIG_ESP_WIFI_MBO_SUPPORT is not set -# CONFIG_ESP_WIFI_ENABLE_ROAMING_APP is not set # CONFIG_ESP_WIFI_DPP_SUPPORT is not set # CONFIG_ESP_WIFI_11R_SUPPORT is not set # CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set +# CONFIG_ESP_WIFI_ENABLE_WIFI_TX_STATS is not set +# CONFIG_ESP_WIFI_ENABLE_WIFI_RX_STATS is not set +CONFIG_ESP_WIFI_TX_HETB_QUEUE_NUM=3 # # WPS Configuration Options @@ -1477,8 +1212,8 @@ CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y # FAT Filesystem support # CONFIG_FATFS_VOLUME_COUNT=2 -# CONFIG_FATFS_LFN_NONE is not set -CONFIG_FATFS_LFN_HEAP=y +CONFIG_FATFS_LFN_NONE=y +# CONFIG_FATFS_LFN_HEAP is not set # CONFIG_FATFS_LFN_STACK is not set # CONFIG_FATFS_SECTOR_512 is not set CONFIG_FATFS_SECTOR_4096=y @@ -1505,13 +1240,9 @@ CONFIG_FATFS_CODEPAGE_437=y # CONFIG_FATFS_CODEPAGE_949 is not set # CONFIG_FATFS_CODEPAGE_950 is not set CONFIG_FATFS_CODEPAGE=437 -CONFIG_FATFS_MAX_LFN=255 -CONFIG_FATFS_API_ENCODING_ANSI_OEM=y -# CONFIG_FATFS_API_ENCODING_UTF_8 is not set CONFIG_FATFS_FS_LOCK=0 CONFIG_FATFS_TIMEOUT_MS=10000 CONFIG_FATFS_PER_FILE_CACHE=y -CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y # CONFIG_FATFS_USE_FASTSEEK is not set CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 # CONFIG_FATFS_IMMEDIATE_FSYNC is not set @@ -1528,7 +1259,7 @@ CONFIG_FATFS_LINK_LOCK=y # # CONFIG_FREERTOS_SMP is not set CONFIG_FREERTOS_UNICORE=y -CONFIG_FREERTOS_HZ=1000 +CONFIG_FREERTOS_HZ=100 CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set @@ -1557,6 +1288,7 @@ CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 # # Port # +CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y # CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y # CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set @@ -1568,7 +1300,7 @@ CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y # CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y -CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y +# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set # end of Port @@ -1589,6 +1321,7 @@ CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y # CONFIG_HAL_ASSERTION_SILENT is not set # CONFIG_HAL_ASSERTION_ENABLE is not set CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +CONFIG_HAL_SYSTIMER_USE_ROM_IMPL=y CONFIG_HAL_WDT_USE_ROM_IMPL=y CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y @@ -1606,9 +1339,26 @@ CONFIG_HEAP_TRACING_OFF=y # CONFIG_HEAP_USE_HOOKS is not set # CONFIG_HEAP_TASK_TRACKING is not set # CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set -# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set +CONFIG_HEAP_TLSF_USE_ROM_IMPL=y # end of Heap memory debugging +# +# IEEE 802.15.4 +# +CONFIG_IEEE802154_ENABLED=y +CONFIG_IEEE802154_RX_BUFFER_SIZE=20 +# CONFIG_IEEE802154_CCA_CARRIER is not set +CONFIG_IEEE802154_CCA_ED=y +# CONFIG_IEEE802154_CCA_CARRIER_OR_ED is not set +# CONFIG_IEEE802154_CCA_CARRIER_AND_ED is not set +CONFIG_IEEE802154_CCA_MODE=1 +CONFIG_IEEE802154_CCA_THRESHOLD=-60 +CONFIG_IEEE802154_PENDING_TABLE_SIZE=20 +# CONFIG_IEEE802154_MULTI_PAN_ENABLE is not set +# CONFIG_IEEE802154_TIMING_OPTIMIZATION is not set +# CONFIG_IEEE802154_DEBUG is not set +# end of IEEE 802.15.4 + # # Log output # @@ -1806,7 +1556,6 @@ CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y # mbedTLS # CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y -# CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC is not set # CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set # CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y @@ -1849,6 +1598,8 @@ CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_HARDWARE_SHA=y +CONFIG_MBEDTLS_HARDWARE_ECC=y +CONFIG_MBEDTLS_ECC_OTHER_CURVES_SOFT_FALLBACK=y CONFIG_MBEDTLS_ROM_MD5=y # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set # CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set @@ -1967,8 +1718,6 @@ CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y # CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set # end of Newlib -CONFIG_STDATOMIC_S32C1I_SPIRAM_WORKAROUND=y - # # NVS # @@ -2025,9 +1774,9 @@ CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" # # MMU Config # -CONFIG_MMU_PAGE_SIZE_64KB=y -CONFIG_MMU_PAGE_MODE="64KB" -CONFIG_MMU_PAGE_SIZE=0x10000 +CONFIG_MMU_PAGE_SIZE_32KB=y +CONFIG_MMU_PAGE_MODE="32KB" +CONFIG_MMU_PAGE_SIZE=0x8000 # end of MMU Config # @@ -2048,14 +1797,6 @@ CONFIG_SPI_FLASH_BROWNOUT_RESET=y # # Features here require specific hardware (READ DOCS FIRST!) # -# CONFIG_SPI_FLASH_HPM_ENA is not set -CONFIG_SPI_FLASH_HPM_AUTO=y -# CONFIG_SPI_FLASH_HPM_DIS is not set -CONFIG_SPI_FLASH_HPM_ON=y -CONFIG_SPI_FLASH_HPM_DC_AUTO=y -# CONFIG_SPI_FLASH_HPM_DC_DISABLE is not set -CONFIG_SPI_FLASH_SUSPEND_QVL_SUPPORTED=y -# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 # end of Optional and Experimental Features (READ DOCS FIRST) # end of Main Flash configuration @@ -2083,19 +1824,12 @@ CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 # Auto-detect flash chips # CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_TH_SUPPORTED=y # CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_GD_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set -CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP=y # end of Auto-detect flash chips CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y @@ -2173,28 +1907,6 @@ CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y # CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set # end of Unity unit testing library -# -# USB-OTG -# -CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256 -CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y -# CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set -# CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set - -# -# Root Hub configuration -# -CONFIG_USB_HOST_DEBOUNCE_DELAY_MS=250 -CONFIG_USB_HOST_RESET_HOLD_MS=30 -CONFIG_USB_HOST_RESET_RECOVERY_MS=30 -CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10 -# end of Root Hub configuration - -# CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set -# CONFIG_USB_HOST_EXT_HUB_SUPPORT is not set -CONFIG_USB_OTG_SUPPORTED=y -# end of USB-OTG - # # Virtual file system # @@ -2226,10 +1938,7 @@ CONFIG_WL_SECTOR_SIZE=4096 # CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 -# CONFIG_WIFI_PROV_BLE_BONDING is not set -CONFIG_WIFI_PROV_BLE_SEC_CONN=y # CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set -# CONFIG_WIFI_PROV_KEEP_BLE_ON_AFTER_PROV is not set CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y # CONFIG_WIFI_PROV_STA_FAST_SCAN is not set # end of Wi-Fi Provisioning Manager @@ -2248,7 +1957,7 @@ CONFIG_LV_COLOR_DEPTH_16=y # CONFIG_LV_COLOR_DEPTH_8 is not set # CONFIG_LV_COLOR_DEPTH_1 is not set CONFIG_LV_COLOR_DEPTH=16 -CONFIG_LV_COLOR_16_SWAP=y +# CONFIG_LV_COLOR_16_SWAP is not set # CONFIG_LV_COLOR_SCREEN_TRANSP is not set CONFIG_LV_COLOR_MIX_ROUND_OFS=128 CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 @@ -2257,8 +1966,9 @@ CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 # # Memory settings # -CONFIG_LV_MEM_CUSTOM=y -CONFIG_LV_MEM_CUSTOM_INCLUDE="stdlib.h" +# CONFIG_LV_MEM_CUSTOM is not set +CONFIG_LV_MEM_SIZE_KILOBYTES=32 +CONFIG_LV_MEM_ADDR=0x0 CONFIG_LV_MEM_BUF_MAX_NUM=16 # CONFIG_LV_MEMCPY_MEMSET_STD is not set # end of Memory settings @@ -2266,10 +1976,10 @@ CONFIG_LV_MEM_BUF_MAX_NUM=16 # # HAL Settings # -CONFIG_LV_DISP_DEF_REFR_PERIOD=5 +CONFIG_LV_DISP_DEF_REFR_PERIOD=30 CONFIG_LV_INDEV_DEF_READ_PERIOD=30 # CONFIG_LV_TICK_CUSTOM is not set -CONFIG_LV_DPI_DEF=217 +CONFIG_LV_DPI_DEF=130 # end of HAL Settings # @@ -2323,6 +2033,7 @@ CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" # Others # # CONFIG_LV_USE_PERF_MONITOR is not set +# CONFIG_LV_USE_MEM_MONITOR is not set # CONFIG_LV_USE_REFR_DEBUG is not set # CONFIG_LV_SPRINTF_CUSTOM is not set # CONFIG_LV_SPRINTF_USE_FLOAT is not set @@ -2335,7 +2046,7 @@ CONFIG_LV_USE_USER_DATA=y # # CONFIG_LV_BIG_ENDIAN_SYSTEM is not set CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 -CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y +# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set # CONFIG_LV_USE_LARGE_COORD is not set # end of Compiler settings # end of Feature configuration @@ -2347,15 +2058,15 @@ CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y # # Enable built-in fonts # -CONFIG_LV_FONT_MONTSERRAT_8=y -CONFIG_LV_FONT_MONTSERRAT_10=y -CONFIG_LV_FONT_MONTSERRAT_12=y +# CONFIG_LV_FONT_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_MONTSERRAT_10 is not set +# CONFIG_LV_FONT_MONTSERRAT_12 is not set CONFIG_LV_FONT_MONTSERRAT_14=y -CONFIG_LV_FONT_MONTSERRAT_16=y -CONFIG_LV_FONT_MONTSERRAT_18=y +# CONFIG_LV_FONT_MONTSERRAT_16 is not set +# CONFIG_LV_FONT_MONTSERRAT_18 is not set # CONFIG_LV_FONT_MONTSERRAT_20 is not set # CONFIG_LV_FONT_MONTSERRAT_22 is not set -CONFIG_LV_FONT_MONTSERRAT_24=y +# CONFIG_LV_FONT_MONTSERRAT_24 is not set # CONFIG_LV_FONT_MONTSERRAT_26 is not set # CONFIG_LV_FONT_MONTSERRAT_28 is not set # CONFIG_LV_FONT_MONTSERRAT_30 is not set @@ -2500,7 +2211,7 @@ CONFIG_LV_USE_GRID=y # CONFIG_LV_USE_PNG is not set # CONFIG_LV_USE_BMP is not set # CONFIG_LV_USE_SJPG is not set -CONFIG_LV_USE_GIF=y +# CONFIG_LV_USE_GIF is not set # CONFIG_LV_USE_QRCODE is not set # CONFIG_LV_USE_FREETYPE is not set # CONFIG_LV_USE_TINY_TTF is not set @@ -2523,7 +2234,7 @@ CONFIG_LV_USE_SNAPSHOT=y # # Examples # -# CONFIG_LV_BUILD_EXAMPLES is not set +CONFIG_LV_BUILD_EXAMPLES=y # end of Examples # @@ -2561,8 +2272,8 @@ CONFIG_LV_PREDEFINED_DISPLAY_NONE=y # CONFIG_LV_PREDEFINED_DISPLAY_WT32_SC01 is not set CONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9341=y CONFIG_LV_TFT_DISPLAY_PROTOCOL_SPI=y -CONFIG_LV_HOR_RES_MAX=240 -CONFIG_LV_VER_RES_MAX=320 +CONFIG_LV_HOR_RES_MAX=128 +CONFIG_LV_VER_RES_MAX=64 CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT=y # CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT_INVERTED is not set # CONFIG_LV_DISPLAY_ORIENTATION_LANDSCAPE is not set @@ -2599,104 +2310,48 @@ CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_SIO=y # CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_QIO is not set CONFIG_LV_TFT_DISPLAY_SPI_HALF_DUPLEX=y # CONFIG_LV_TFT_DISPLAY_SPI_FULL_DUPLEX is not set -CONFIG_LV_TFT_USE_CUSTOM_SPI_CLK_DIVIDER=y -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_1 is not set -CONFIG_LV_TFT_SPI_CLK_DIVIDER_2=y -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_3 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_4 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_5 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_6 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_7 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_8 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_9 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_10 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_12 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_16 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_20 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_24 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_32 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_40 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_48 is not set -# CONFIG_LV_TFT_SPI_CLK_DIVIDER_80 is not set +# CONFIG_LV_TFT_USE_CUSTOM_SPI_CLK_DIVIDER is not set CONFIG_LV_TFT_CUSTOM_SPI_CLK_DIVIDER=2 # CONFIG_LV_INVERT_COLORS is not set # # Display Pin Assignments # -CONFIG_LV_DISP_SPI_MOSI=23 -CONFIG_LV_DISPLAY_USE_SPI_MISO=y -CONFIG_LV_DISP_SPI_MISO=19 -CONFIG_LV_DISP_SPI_INPUT_DELAY_NS=0 -CONFIG_LV_DISP_SPI_CLK=18 +CONFIG_LV_DISP_SPI_MOSI=13 +# CONFIG_LV_DISPLAY_USE_SPI_MISO is not set +CONFIG_LV_DISP_SPI_CLK=14 CONFIG_LV_DISPLAY_USE_SPI_CS=y -CONFIG_LV_DISP_SPI_CS=17 +CONFIG_LV_DISP_SPI_CS=15 CONFIG_LV_DISPLAY_USE_DC=y -CONFIG_LV_DISP_PIN_DC=16 +CONFIG_LV_DISP_PIN_DC=2 CONFIG_LV_DISP_USE_RST=y -CONFIG_LV_DISP_PIN_RST=5 +CONFIG_LV_DISP_PIN_RST=4 # end of Display Pin Assignments # CONFIG_LV_DISP_BACKLIGHT_OFF is not set CONFIG_LV_DISP_BACKLIGHT_SWITCH=y # CONFIG_LV_DISP_BACKLIGHT_PWM is not set -CONFIG_LV_BACKLIGHT_ACTIVE_LVL=y -CONFIG_LV_DISP_PIN_BCKL=32 -CONFIG_LV_I2C=y +# CONFIG_LV_BACKLIGHT_ACTIVE_LVL is not set +CONFIG_LV_DISP_PIN_BCKL=-1 CONFIG_LV_I2C_DISPLAY_PORT=0 # end of LVGL TFT Display controller # # LVGL Touch controller # -CONFIG_LV_TOUCH_CONTROLLER=7 -# CONFIG_LV_TOUCH_CONTROLLER_NONE is not set +CONFIG_LV_TOUCH_CONTROLLER=0 +CONFIG_LV_TOUCH_CONTROLLER_NONE=y # CONFIG_LV_TOUCH_CONTROLLER_XPT2046 is not set # CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set # CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set # CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set # CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set # CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set -CONFIG_LV_TOUCH_CONTROLLER_GT911=y -CONFIG_LV_I2C_TOUCH=y - -# -# Touchpanel Configuration (GT911) -# -CONFIG_LV_GT911_SWAPXY=y -# CONFIG_LV_GT911_INVERT_X is not set -CONFIG_LV_GT911_INVERT_Y=y -# end of Touchpanel Configuration (GT911) - -CONFIG_LV_I2C_TOUCH_PORT_0=y -# CONFIG_LV_I2C_TOUCH_PORT_1 is not set +# CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set CONFIG_LV_I2C_TOUCH_PORT=0 # end of LVGL Touch controller # end of LVGL ESP Drivers -# -# I2C Port Settings -# - -# -# I2C Port 0 -# -CONFIG_I2C_MANAGER_0_ENABLED=y -CONFIG_I2C_MANAGER_0_SDA=19 -CONFIG_I2C_MANAGER_0_SCL=20 -CONFIG_I2C_MANAGER_0_FREQ_HZ=400000 -CONFIG_I2C_MANAGER_0_TIMEOUT=100 -CONFIG_I2C_MANAGER_0_LOCK_TIMEOUT=50 -# CONFIG_I2C_MANAGER_0_PULLUPS is not set -# end of I2C Port 0 - -# -# I2C Port 1 -# -# CONFIG_I2C_MANAGER_1_ENABLED is not set -# end of I2C Port 1 -# end of I2C Port Settings - # # mDNS # @@ -2727,4 +2382,4 @@ CONFIG_MDNS_PREDEF_NETIF_ETH=y # end of mDNS # end of Component config -CONFIG_IDF_EXPERIMENTAL_FEATURES=y +# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set From ca598aa86cf6b1849d80224c27a05c39292bc366 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 23:13:36 -0600 Subject: [PATCH 35/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index d493690d..3703e6e9 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -182,4 +182,17 @@ jobs: -H "Authorization: token $GITHUB_TOKEN" \ -H "Content-Type: application/zip" \ --data-binary @"$zip_file" \ - "https://uploads.github.com/repos/${{ github.repository }}/releases/$release_id/assets?name=$(basename $zip_file)" \ No newline at end of file + "https://uploads.github.com/repos/${{ github.repository }}/releases/$release_id/assets?name=$(basename $zip_file)" + + - name: Notify Discord of Successful Release + if: success() + env: + DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} + run: | + payload='{ + "content": "🎉 A new release has been successfully compiled and is now available! Check the latest release for details." + }' + curl -X POST \ + -H "Content-Type: application/json" \ + -d "$payload" \ + "$DISCORD_WEBHOOK_URL" \ No newline at end of file From db1b51cc5c6a7192f114830bdb81845ce7dd564c Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 23:14:35 -0600 Subject: [PATCH 36/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 3703e6e9..53efa946 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -184,7 +184,7 @@ jobs: --data-binary @"$zip_file" \ "https://uploads.github.com/repos/${{ github.repository }}/releases/$release_id/assets?name=$(basename $zip_file)" - - name: Notify Discord of Successful Release + - name: Notify Discord of Successful Release if: success() env: DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} From 9648a8c7d83f05b551f47ed1ac6f088ff3004ac9 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 23:46:18 -0600 Subject: [PATCH 37/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 53efa946..f274647a 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -122,6 +122,9 @@ jobs: . ~/esp-idf/export.sh idf.py fullclean + - name: Set Target Environment Variable + run: echo "IDF_TARGET=${{ matrix.target.idf_target }}" >> $GITHUB_ENV + - name: Build Project run: | . ~/esp-idf/export.sh From 9f90db5c57f39d454bf6d4f013d066ccbe570c6c Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Wed, 30 Oct 2024 23:55:07 -0600 Subject: [PATCH 38/58] Config Fixes --- .github/workflows/compile_generics.yml | 2 +- configs/sdkconfig.marauderv6 | 37 +- dependencies.lock | 2 +- sdkconfig | 1019 +++++++++++------------- 4 files changed, 504 insertions(+), 556 deletions(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index f274647a..634a8a3d 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -21,7 +21,7 @@ jobs: - { name: "esp32c6-generic", idf_target: "esp32c6", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c6", zip_name: "esp32c6-generic.zip" } # Dev Kit configurations (LED on, no screen support) - - { name: "esp32c3-devkit", idf_target: "esp32c3", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c6", zip_name: "esp32c3-devkit.zip", led_pin: 8, num_leds: 1 } + - { name: "esp32c3-devkit", idf_target: "esp32c3", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c3", zip_name: "esp32c3-devkit.zip", led_pin: 8, num_leds: 1 } - { name: "esp32c6-devkit", idf_target: "esp32c6", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c6", zip_name: "esp32c6-devkit.zip", led_pin: 8, num_leds: 1 } # Ghost board (LED on, special pin and LED count) diff --git a/configs/sdkconfig.marauderv6 b/configs/sdkconfig.marauderv6 index 4d27b353..1871b05a 100644 --- a/configs/sdkconfig.marauderv6 +++ b/configs/sdkconfig.marauderv6 @@ -238,7 +238,7 @@ CONFIG_IDF_CMAKE=y CONFIG_IDF_TOOLCHAIN="gcc" CONFIG_IDF_TARGET_ARCH_XTENSA=y CONFIG_IDF_TARGET_ARCH="xtensa" -CONFIG_IDF_TARGET="esp32s3" +CONFIG_IDF_TARGET="esp32" CONFIG_IDF_INIT_VERSION="5.3.1" CONFIG_IDF_TARGET_ESP32=y CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 @@ -450,7 +450,7 @@ CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y CONFIG_BT_NIMBLE_LOG_LEVEL_INFO=y # CONFIG_BT_NIMBLE_LOG_LEVEL_DEBUG is not set CONFIG_BT_NIMBLE_LOG_LEVEL=1 -CONFIG_BT_NIMBLE_MAX_CONNECTIONS=3 +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 CONFIG_BT_NIMBLE_MAX_BONDS=3 CONFIG_BT_NIMBLE_MAX_CCCDS=8 CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM=0 @@ -478,8 +478,8 @@ CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE=0 # # Memory Settings # -CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=12 -CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=256 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=24 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=128 CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=24 CONFIG_BT_NIMBLE_MSYS_2_BLOCK_SIZE=320 CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=24 @@ -491,16 +491,14 @@ CONFIG_BT_NIMBLE_L2CAP_COC_SDU_BUFF_COUNT=1 # end of Memory Settings CONFIG_BT_NIMBLE_GATT_MAX_PROCS=4 -CONFIG_BT_NIMBLE_HS_FLOW_CTRL=y -CONFIG_BT_NIMBLE_HS_FLOW_CTRL_ITVL=1000 -CONFIG_BT_NIMBLE_HS_FLOW_CTRL_THRESH=2 -CONFIG_BT_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y +# CONFIG_BT_NIMBLE_HS_FLOW_CTRL is not set CONFIG_BT_NIMBLE_RPA_TIMEOUT=900 # CONFIG_BT_NIMBLE_MESH is not set CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000 # CONFIG_BT_NIMBLE_HOST_BASED_PRIVACY is not set -# CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT is not set +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=y +CONFIG_BT_NIMBLE_MAX_CONN_REATTEMPT=3 CONFIG_BT_NIMBLE_WHITELIST_SIZE=12 # CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set # CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set @@ -2008,7 +2006,7 @@ CONFIG_LV_MEM_BUF_MAX_NUM=16 # # HAL Settings # -CONFIG_LV_DISP_DEF_REFR_PERIOD=5 +CONFIG_LV_DISP_DEF_REFR_PERIOD=30 CONFIG_LV_INDEV_DEF_READ_PERIOD=30 # CONFIG_LV_TICK_CUSTOM is not set CONFIG_LV_DPI_DEF=130 @@ -2090,7 +2088,7 @@ CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 # # Enable built-in fonts # -CONFIG_LV_FONT_MONTSERRAT_8=y +# CONFIG_LV_FONT_MONTSERRAT_8 is not set CONFIG_LV_FONT_MONTSERRAT_10=y CONFIG_LV_FONT_MONTSERRAT_12=y CONFIG_LV_FONT_MONTSERRAT_14=y @@ -2243,7 +2241,7 @@ CONFIG_LV_USE_GRID=y # CONFIG_LV_USE_PNG is not set # CONFIG_LV_USE_BMP is not set # CONFIG_LV_USE_SJPG is not set -CONFIG_LV_USE_GIF=y +# CONFIG_LV_USE_GIF is not set # CONFIG_LV_USE_QRCODE is not set # CONFIG_LV_USE_FREETYPE is not set # CONFIG_LV_USE_TINY_TTF is not set @@ -2402,8 +2400,8 @@ CONFIG_LV_TOUCH_CONTROLLER_XPT2046=y # CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set # CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI=y -CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST=y -# CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST is not set +# CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST is not set +CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST=y # # Touchpanel (XPT2046) Pin Assignments @@ -2508,7 +2506,7 @@ CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y CONFIG_NIMBLE_ENABLED=y CONFIG_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y # CONFIG_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set -CONFIG_NIMBLE_MAX_CONNECTIONS=3 +CONFIG_NIMBLE_MAX_CONNECTIONS=1 CONFIG_NIMBLE_MAX_BONDS=3 CONFIG_NIMBLE_MAX_CCCDS=8 CONFIG_NIMBLE_L2CAP_COC_MAX_NUM=0 @@ -2529,16 +2527,13 @@ CONFIG_NIMBLE_SVC_GAP_DEVICE_NAME="nimble" CONFIG_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31 CONFIG_NIMBLE_ATT_PREFERRED_MTU=256 CONFIG_NIMBLE_SVC_GAP_APPEARANCE=0 -CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT=12 +CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT=24 CONFIG_BT_NIMBLE_ACL_BUF_COUNT=24 CONFIG_BT_NIMBLE_ACL_BUF_SIZE=255 CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE=70 CONFIG_BT_NIMBLE_HCI_EVT_HI_BUF_COUNT=30 CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT=8 -CONFIG_NIMBLE_HS_FLOW_CTRL=y -CONFIG_NIMBLE_HS_FLOW_CTRL_ITVL=1000 -CONFIG_NIMBLE_HS_FLOW_CTRL_THRESH=2 -CONFIG_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y +# CONFIG_NIMBLE_HS_FLOW_CTRL is not set CONFIG_NIMBLE_RPA_TIMEOUT=900 # CONFIG_NIMBLE_MESH is not set CONFIG_NIMBLE_CRYPTO_STACK_MBEDTLS=y @@ -2733,4 +2728,4 @@ CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y CONFIG_SUPPORT_TERMIOS=y CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 -# End of deprecated options \ No newline at end of file +# End of deprecated options diff --git a/dependencies.lock b/dependencies.lock index 6682d0cc..f68b2593 100644 --- a/dependencies.lock +++ b/dependencies.lock @@ -6,5 +6,5 @@ dependencies: direct_dependencies: - idf manifest_hash: 18f8cad765fd13632cf3e427b305587d3280c096d6e66f6e16c1a1633cee1fc3 -target: esp32c6 +target: esp32 version: 2.0.0 diff --git a/sdkconfig b/sdkconfig index f8d6e1cd..1871b05a 100644 --- a/sdkconfig +++ b/sdkconfig @@ -2,30 +2,28 @@ # Automatically generated file. DO NOT EDIT. # Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Configuration # +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED="Not determined" +CONFIG_SOC_TWAI_BRP_DIV_SUPPORTED="Not determined" +CONFIG_SOC_DPORT_WORKAROUND="Not determined" +CONFIG_SOC_CAPS_ECO_VER_MAX=301 CONFIG_SOC_ADC_SUPPORTED=y -CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y +CONFIG_SOC_DAC_SUPPORTED=y CONFIG_SOC_UART_SUPPORTED=y -CONFIG_SOC_GDMA_SUPPORTED=y -CONFIG_SOC_AHB_GDMA_SUPPORTED=y -CONFIG_SOC_GPTIMER_SUPPORTED=y -CONFIG_SOC_PCNT_SUPPORTED=y CONFIG_SOC_MCPWM_SUPPORTED=y -CONFIG_SOC_TWAI_SUPPORTED=y -CONFIG_SOC_ETM_SUPPORTED=y -CONFIG_SOC_PARLIO_SUPPORTED=y +CONFIG_SOC_GPTIMER_SUPPORTED=y +CONFIG_SOC_SDMMC_HOST_SUPPORTED=y CONFIG_SOC_BT_SUPPORTED=y -CONFIG_SOC_IEEE802154_SUPPORTED=y -CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y -CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y -CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y +CONFIG_SOC_PCNT_SUPPORTED=y CONFIG_SOC_PHY_SUPPORTED=y CONFIG_SOC_WIFI_SUPPORTED=y -CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y -CONFIG_SOC_ULP_SUPPORTED=y -CONFIG_SOC_LP_CORE_SUPPORTED=y -CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y +CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y +CONFIG_SOC_TWAI_SUPPORTED=y CONFIG_SOC_EFUSE_SUPPORTED=y +CONFIG_SOC_EMAC_SUPPORTED=y +CONFIG_SOC_ULP_SUPPORTED=y +CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y +CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y CONFIG_SOC_RTC_MEM_SUPPORTED=y CONFIG_SOC_I2S_SUPPORTED=y CONFIG_SOC_RMT_SUPPORTED=y @@ -33,174 +31,98 @@ CONFIG_SOC_SDM_SUPPORTED=y CONFIG_SOC_GPSPI_SUPPORTED=y CONFIG_SOC_LEDC_SUPPORTED=y CONFIG_SOC_I2C_SUPPORTED=y -CONFIG_SOC_SYSTIMER_SUPPORTED=y CONFIG_SOC_SUPPORT_COEXISTENCE=y CONFIG_SOC_AES_SUPPORTED=y CONFIG_SOC_MPI_SUPPORTED=y CONFIG_SOC_SHA_SUPPORTED=y -CONFIG_SOC_HMAC_SUPPORTED=y -CONFIG_SOC_DIG_SIGN_SUPPORTED=y -CONFIG_SOC_ECC_SUPPORTED=y CONFIG_SOC_FLASH_ENC_SUPPORTED=y CONFIG_SOC_SECURE_BOOT_SUPPORTED=y -CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y +CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y CONFIG_SOC_BOD_SUPPORTED=y -CONFIG_SOC_APM_SUPPORTED=y -CONFIG_SOC_APM_CTRL_FILTER_SUPPORTED=y -CONFIG_SOC_PMU_SUPPORTED=y -CONFIG_SOC_PAU_SUPPORTED=y -CONFIG_SOC_LP_TIMER_SUPPORTED=y -CONFIG_SOC_LP_AON_SUPPORTED=y -CONFIG_SOC_LP_PERIPHERALS_SUPPORTED=y -CONFIG_SOC_LP_I2C_SUPPORTED=y -CONFIG_SOC_ULP_LP_UART_SUPPORTED=y +CONFIG_SOC_ULP_FSM_SUPPORTED=y CONFIG_SOC_CLK_TREE_SUPPORTED=y -CONFIG_SOC_ASSIST_DEBUG_SUPPORTED=y +CONFIG_SOC_MPU_SUPPORTED=y CONFIG_SOC_WDT_SUPPORTED=y CONFIG_SOC_SPI_FLASH_SUPPORTED=y CONFIG_SOC_RNG_SUPPORTED=y CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y -CONFIG_SOC_MODEM_CLOCK_SUPPORTED=y +CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y CONFIG_SOC_PM_SUPPORTED=y +CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5 +CONFIG_SOC_XTAL_SUPPORT_26M=y CONFIG_SOC_XTAL_SUPPORT_40M=y -CONFIG_SOC_AES_SUPPORT_DMA=y -CONFIG_SOC_AES_GDMA=y -CONFIG_SOC_AES_SUPPORT_AES_128=y -CONFIG_SOC_AES_SUPPORT_AES_256=y +CONFIG_SOC_XTAL_SUPPORT_AUTO_DETECT=y +CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y -CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y -CONFIG_SOC_ADC_MONITOR_SUPPORTED=y CONFIG_SOC_ADC_DMA_SUPPORTED=y -CONFIG_SOC_ADC_PERIPH_NUM=1 -CONFIG_SOC_ADC_MAX_CHANNEL_NUM=7 +CONFIG_SOC_ADC_PERIPH_NUM=2 +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 CONFIG_SOC_ADC_ATTEN_NUM=4 -CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=1 -CONFIG_SOC_ADC_PATT_LEN_MAX=8 +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 +CONFIG_SOC_ADC_PATT_LEN_MAX=16 +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=9 CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 -CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 -CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 -CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 -CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2 CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 -CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=0 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=2 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=20 +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9 CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 -CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y -CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y -CONFIG_SOC_ADC_CALIB_CHAN_COMPENS_SUPPORTED=y -CONFIG_SOC_ADC_TEMPERATURE_SHARE_INTR=y CONFIG_SOC_ADC_SHARED_POWER=y -CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y -CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y -CONFIG_SOC_CPU_CORES_NUM=1 +CONFIG_SOC_IDCACHE_PER_CORE=y +CONFIG_SOC_CPU_CORES_NUM=2 CONFIG_SOC_CPU_INTR_NUM=32 -CONFIG_SOC_CPU_HAS_FLEXIBLE_INTC=y -CONFIG_SOC_INT_PLIC_SUPPORTED=y -CONFIG_SOC_CPU_HAS_CSR_PC=y -CONFIG_SOC_CPU_BREAKPOINTS_NUM=4 -CONFIG_SOC_CPU_WATCHPOINTS_NUM=4 -CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x80000000 -CONFIG_SOC_CPU_HAS_PMA=y -CONFIG_SOC_CPU_IDRAM_SPLIT_USING_PMP=y -CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=3072 -CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 -CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 -CONFIG_SOC_AHB_GDMA_VERSION=1 -CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 -CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=3 -CONFIG_SOC_GDMA_SUPPORT_ETM=y -CONFIG_SOC_GDMA_SUPPORT_SLEEP_RETENTION=y -CONFIG_SOC_ETM_GROUPS=1 -CONFIG_SOC_ETM_CHANNELS_PER_GROUP=50 +CONFIG_SOC_CPU_HAS_FPU=y +CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y +CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 +CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64 +CONFIG_SOC_DAC_CHAN_NUM=2 +CONFIG_SOC_DAC_RESOLUTION=8 +CONFIG_SOC_DAC_DMA_16BIT_ALIGN=y CONFIG_SOC_GPIO_PORT=1 -CONFIG_SOC_GPIO_PIN_COUNT=31 -CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y -CONFIG_SOC_GPIO_FLEX_GLITCH_FILTER_NUM=8 -CONFIG_SOC_GPIO_SUPPORT_ETM=y -CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y -CONFIG_SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP=y -CONFIG_SOC_LP_IO_CLOCK_IS_INDEPENDENT=y -CONFIG_SOC_GPIO_IN_RANGE_MAX=30 -CONFIG_SOC_GPIO_OUT_RANGE_MAX=30 -CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK=0 -CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_SUPPORTED_PIN_CNT=8 -CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x000000007FFFFF00 -CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y -CONFIG_SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP=y -CONFIG_SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX=y -CONFIG_SOC_CLOCKOUT_HAS_SOURCE_GATE=y +CONFIG_SOC_GPIO_PIN_COUNT=40 +CONFIG_SOC_GPIO_VALID_GPIO_MASK=0xFFFFFFFFFF +CONFIG_SOC_GPIO_IN_RANGE_MAX=39 +CONFIG_SOC_GPIO_OUT_RANGE_MAX=33 +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA +CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 -CONFIG_SOC_RTCIO_PIN_COUNT=8 -CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y -CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y -CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y -CONFIG_SOC_RTCIO_VALID_RTCIO_MASK=0xFF -CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 -CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 -CONFIG_SOC_DEDIC_PERIPH_ALWAYS_ENABLE=y CONFIG_SOC_I2C_NUM=2 -CONFIG_SOC_HP_I2C_NUM=1 +CONFIG_SOC_HP_I2C_NUM=2 CONFIG_SOC_I2C_FIFO_LEN=32 -CONFIG_SOC_I2C_CMD_REG_NUM=8 +CONFIG_SOC_I2C_CMD_REG_NUM=16 CONFIG_SOC_I2C_SUPPORT_SLAVE=y -CONFIG_SOC_I2C_SUPPORT_HW_FSM_RST=y -CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y -CONFIG_SOC_I2C_SUPPORT_XTAL=y -CONFIG_SOC_I2C_SUPPORT_RTC=y -CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y -CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y -CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE=y -CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y -CONFIG_SOC_I2C_SLAVE_SUPPORT_SLAVE_UNMATCH=y -CONFIG_SOC_I2C_SUPPORT_SLEEP_RETENTION=y -CONFIG_SOC_LP_I2C_NUM=1 -CONFIG_SOC_LP_I2C_FIFO_LEN=16 -CONFIG_SOC_I2S_NUM=1 -CONFIG_SOC_I2S_HW_VERSION_2=y -CONFIG_SOC_I2S_SUPPORTS_XTAL=y +CONFIG_SOC_I2C_SUPPORT_APB=y +CONFIG_SOC_I2C_STOP_INDEPENDENT=y +CONFIG_SOC_I2S_NUM=2 +CONFIG_SOC_I2S_HW_VERSION_1=y +CONFIG_SOC_I2S_SUPPORTS_APLL=y CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y -CONFIG_SOC_I2S_SUPPORTS_PCM=y CONFIG_SOC_I2S_SUPPORTS_PDM=y CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y -CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 -CONFIG_SOC_I2S_SUPPORTS_TDM=y -CONFIG_SOC_LEDC_SUPPORT_PLL_DIV_CLOCK=y -CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y -CONFIG_SOC_LEDC_CHANNEL_NUM=6 +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=1 +CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1 +CONFIG_SOC_I2S_SUPPORTS_ADC_DAC=y +CONFIG_SOC_I2S_SUPPORTS_ADC=y +CONFIG_SOC_I2S_SUPPORTS_DAC=y +CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y +CONFIG_SOC_I2S_TRANS_SIZE_ALIGN_WORD=y +CONFIG_SOC_I2S_LCD_I80_VARIANT=y +CONFIG_SOC_LCD_I80_SUPPORTED=y +CONFIG_SOC_LCD_I80_BUSES=2 +CONFIG_SOC_LCD_I80_BUS_WIDTH=24 +CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y +CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y +CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y +CONFIG_SOC_LEDC_SUPPORT_HS_MODE=y +CONFIG_SOC_LEDC_CHANNEL_NUM=8 CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 -CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y -CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED=y -CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX=16 -CONFIG_SOC_LEDC_FADE_PARAMS_BIT_WIDTH=10 -CONFIG_SOC_MMU_PAGE_SIZE_CONFIGURABLE=y -CONFIG_SOC_MMU_PERIPH_NUM=1 -CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 -CONFIG_SOC_MMU_DI_VADDR_SHARED=y -CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 -CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 -CONFIG_SOC_PCNT_GROUPS=1 -CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 -CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 -CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 -CONFIG_SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE=y -CONFIG_SOC_RMT_GROUPS=1 -CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=2 -CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=2 -CONFIG_SOC_RMT_CHANNELS_PER_GROUP=4 -CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 -CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y -CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y -CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y -CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y -CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y -CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y -CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y -CONFIG_SOC_RMT_SUPPORT_XTAL=y -CONFIG_SOC_RMT_SUPPORT_RC_FAST=y -CONFIG_SOC_MCPWM_GROUPS=1 +CONFIG_SOC_MCPWM_GROUPS=2 CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 @@ -210,175 +132,116 @@ CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 -CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y -CONFIG_SOC_MCPWM_SUPPORT_ETM=y -CONFIG_SOC_MCPWM_CAPTURE_CLK_FROM_GROUP=y -CONFIG_SOC_PARLIO_GROUPS=1 -CONFIG_SOC_PARLIO_TX_UNITS_PER_GROUP=1 -CONFIG_SOC_PARLIO_RX_UNITS_PER_GROUP=1 -CONFIG_SOC_PARLIO_TX_UNIT_MAX_DATA_WIDTH=16 -CONFIG_SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH=16 -CONFIG_SOC_PARLIO_TX_RX_SHARE_INTERRUPT=y -CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 -CONFIG_SOC_MPI_OPERATIONS_NUM=3 -CONFIG_SOC_RSA_MAX_BIT_LEN=3072 -CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 -CONFIG_SOC_SHA_SUPPORT_DMA=y -CONFIG_SOC_SHA_SUPPORT_RESUME=y -CONFIG_SOC_SHA_GDMA=y -CONFIG_SOC_SHA_SUPPORT_SHA1=y -CONFIG_SOC_SHA_SUPPORT_SHA224=y -CONFIG_SOC_SHA_SUPPORT_SHA256=y +CONFIG_SOC_MMU_PERIPH_NUM=2 +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=3 +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +CONFIG_SOC_PCNT_GROUPS=1 +CONFIG_SOC_PCNT_UNITS_PER_GROUP=8 +CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 +CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 +CONFIG_SOC_RMT_GROUPS=1 +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=8 +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=8 +CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64 +CONFIG_SOC_RMT_SUPPORT_REF_TICK=y +CONFIG_SOC_RMT_SUPPORT_APB=y +CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y +CONFIG_SOC_RTCIO_PIN_COUNT=18 +CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y +CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y +CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y CONFIG_SOC_SDM_GROUPS=1 -CONFIG_SOC_SDM_CHANNELS_PER_GROUP=4 -CONFIG_SOC_SDM_CLK_SUPPORT_PLL_F80M=y -CONFIG_SOC_SDM_CLK_SUPPORT_XTAL=y -CONFIG_SOC_SPI_PERIPH_NUM=2 -CONFIG_SOC_SPI_MAX_CS_NUM=6 +CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 +CONFIG_SOC_SDM_CLK_SUPPORT_APB=y +CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y +CONFIG_SOC_SPI_AS_CS_SUPPORTED=y +CONFIG_SOC_SPI_PERIPH_NUM=3 +CONFIG_SOC_SPI_DMA_CHAN_NUM=2 +CONFIG_SOC_SPI_MAX_CS_NUM=3 +CONFIG_SOC_SPI_SUPPORT_CLK_APB=y CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 -CONFIG_SOC_SPI_SUPPORT_DDRCLK=y -CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y -CONFIG_SOC_SPI_SUPPORT_CD_SIG=y -CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y -CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y -CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y -CONFIG_SOC_SPI_SUPPORT_CLK_PLL_F80M=y -CONFIG_SOC_SPI_SUPPORT_CLK_RC_FAST=y -CONFIG_SOC_SPI_SCT_SUPPORTED=y -CONFIG_SOC_SPI_SCT_REG_NUM=14 -CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y -CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA -CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y -CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y -CONFIG_SOC_SPI_MEM_SUPPORT_IDLE_INTR=y -CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y -CONFIG_SOC_SPI_MEM_SUPPORT_CHECK_SUS=y -CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192 CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y -CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 -CONFIG_SOC_SYSTIMER_ALARM_NUM=3 -CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 -CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 -CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y -CONFIG_SOC_SYSTIMER_SUPPORT_RC_FAST=y -CONFIG_SOC_SYSTIMER_INT_LEVEL=y -CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y -CONFIG_SOC_SYSTIMER_SUPPORT_ETM=y -CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 -CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 CONFIG_SOC_TIMER_GROUPS=2 -CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=1 -CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 -CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y -CONFIG_SOC_TIMER_GROUP_SUPPORT_RC_FAST=y -CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=2 -CONFIG_SOC_TIMER_SUPPORT_ETM=y -CONFIG_SOC_TIMER_SUPPORT_SLEEP_RETENTION=y -CONFIG_SOC_MWDT_SUPPORT_XTAL=y -CONFIG_SOC_TWAI_CONTROLLER_NUM=2 -CONFIG_SOC_TWAI_CLK_SUPPORT_XTAL=y +CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 +CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64 +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y +CONFIG_SOC_TOUCH_SENSOR_VERSION=1 +CONFIG_SOC_TOUCH_SENSOR_NUM=10 +CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 +CONFIG_SOC_TWAI_CONTROLLER_NUM=1 CONFIG_SOC_TWAI_BRP_MIN=2 -CONFIG_SOC_TWAI_BRP_MAX=32768 -CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y -CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y -CONFIG_SOC_EFUSE_DIS_PAD_JTAG=y -CONFIG_SOC_EFUSE_DIS_USB_JTAG=y -CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y -CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y -CONFIG_SOC_EFUSE_DIS_ICACHE=y -CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y -CONFIG_SOC_SECURE_BOOT_V2_RSA=y -CONFIG_SOC_SECURE_BOOT_V2_ECC=y -CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 -CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y -CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y -CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y -CONFIG_SOC_CRYPTO_DPA_PROTECTION_SUPPORTED=y +CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y +CONFIG_SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT=y CONFIG_SOC_UART_NUM=3 -CONFIG_SOC_UART_HP_NUM=2 -CONFIG_SOC_UART_LP_NUM=1 +CONFIG_SOC_UART_HP_NUM=3 +CONFIG_SOC_UART_SUPPORT_APB_CLK=y +CONFIG_SOC_UART_SUPPORT_REF_TICK=y CONFIG_SOC_UART_FIFO_LEN=128 -CONFIG_SOC_LP_UART_FIFO_LEN=16 CONFIG_SOC_UART_BITRATE_MAX=5000000 -CONFIG_SOC_UART_SUPPORT_PLL_F80M_CLK=y -CONFIG_SOC_UART_SUPPORT_RTC_CLK=y -CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y -CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y -CONFIG_SOC_UART_HAS_LP_UART=y -CONFIG_SOC_UART_SUPPORT_SLEEP_RETENTION=y -CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y -CONFIG_SOC_COEX_HW_PTI=y -CONFIG_SOC_EXTERNAL_COEX_ADVANCE=y +CONFIG_SOC_SPIRAM_SUPPORTED=y +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +CONFIG_SOC_SHA_SUPPORT_PARALLEL_ENG=y +CONFIG_SOC_SHA_ENDIANNESS_BE=y +CONFIG_SOC_SHA_SUPPORT_SHA1=y +CONFIG_SOC_SHA_SUPPORT_SHA256=y +CONFIG_SOC_SHA_SUPPORT_SHA384=y +CONFIG_SOC_SHA_SUPPORT_SHA512=y +CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 +CONFIG_SOC_MPI_OPERATIONS_NUM=y +CONFIG_SOC_RSA_MAX_BIT_LEN=4096 +CONFIG_SOC_AES_SUPPORT_AES_128=y +CONFIG_SOC_AES_SUPPORT_AES_192=y +CONFIG_SOC_AES_SUPPORT_AES_256=y +CONFIG_SOC_SECURE_BOOT_V1=y +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 -CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 -CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_BEACON_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN=y -CONFIG_SOC_PM_SUPPORT_CPU_PD=y -CONFIG_SOC_PM_SUPPORT_MODEM_PD=y -CONFIG_SOC_PM_SUPPORT_XTAL32K_PD=y -CONFIG_SOC_PM_SUPPORT_RC32K_PD=y +CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y +CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y +CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y -CONFIG_SOC_PM_SUPPORT_TOP_PD=y -CONFIG_SOC_PM_SUPPORT_HP_AON_PD=y -CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y -CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y -CONFIG_SOC_PM_SUPPORT_PMU_MODEM_STATE=y -CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y -CONFIG_SOC_PM_CPU_RETENTION_BY_SW=y -CONFIG_SOC_PM_MODEM_RETENTION_BY_REGDMA=y -CONFIG_SOC_PM_RETENTION_HAS_CLOCK_BUG=y -CONFIG_SOC_PM_PAU_LINK_NUM=4 +CONFIG_SOC_PM_SUPPORT_MODEM_PD=y +CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y +CONFIG_SOC_CLK_APLL_SUPPORTED=y +CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y +CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y -CONFIG_SOC_MODEM_CLOCK_IS_INDEPENDENT=y CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y -CONFIG_SOC_CLK_OSC_SLOW_SUPPORTED=y -CONFIG_SOC_CLK_RC32K_SUPPORTED=y -CONFIG_SOC_RCC_IS_INDEPENDENT=y -CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y -CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL=y -CONFIG_SOC_TEMPERATURE_SENSOR_INTR_SUPPORT=y -CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_ETM=y -CONFIG_SOC_RNG_CLOCK_IS_INDEPENDENT=y -CONFIG_SOC_WIFI_HW_TSF=y -CONFIG_SOC_WIFI_FTM_SUPPORT=y -CONFIG_SOC_WIFI_GCMP_SUPPORT=y +CONFIG_SOC_SDMMC_USE_IOMUX=y +CONFIG_SOC_SDMMC_NUM_SLOTS=2 CONFIG_SOC_WIFI_WAPI_SUPPORT=y CONFIG_SOC_WIFI_CSI_SUPPORT=y CONFIG_SOC_WIFI_MESH_SUPPORT=y -CONFIG_SOC_WIFI_HE_SUPPORT=y +CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y +CONFIG_SOC_WIFI_NAN_SUPPORT=y CONFIG_SOC_BLE_SUPPORTED=y CONFIG_SOC_BLE_MESH_SUPPORTED=y -CONFIG_SOC_ESP_NIMBLE_CONTROLLER=y -CONFIG_SOC_BLE_50_SUPPORTED=y -CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y -CONFIG_SOC_BLE_POWER_CONTROL_SUPPORTED=y -CONFIG_SOC_BLE_PERIODIC_ADV_ENH_SUPPORTED=y +CONFIG_SOC_BT_CLASSIC_SUPPORTED=y CONFIG_SOC_BLUFI_SUPPORTED=y -CONFIG_SOC_BLE_MULTI_CONN_OPTIMIZATION=y -CONFIG_SOC_BLE_USE_WIFI_PWR_CLK_WORKAROUND=y +CONFIG_SOC_BT_H2C_ENC_KEY_CTRL_ENH_VSC_SUPPORTED=y +CONFIG_SOC_ULP_HAS_ADC=y CONFIG_SOC_PHY_COMBO_MODULE=y -CONFIG_SOC_CAPS_NO_RESET_BY_ANA_BOD=y -CONFIG_SOC_LP_CORE_SINGLE_INTERRUPT_VECTOR=y -CONFIG_SOC_LP_CORE_SUPPORT_ETM=y +CONFIG_SOC_EMAC_RMII_CLK_OUT_INTERNAL_LOOPBACK=y CONFIG_IDF_CMAKE=y CONFIG_IDF_TOOLCHAIN="gcc" -CONFIG_IDF_TARGET_ARCH_RISCV=y -CONFIG_IDF_TARGET_ARCH="riscv" -CONFIG_IDF_TARGET="esp32c6" +CONFIG_IDF_TARGET_ARCH_XTENSA=y +CONFIG_IDF_TARGET_ARCH="xtensa" +CONFIG_IDF_TARGET="esp32" CONFIG_IDF_INIT_VERSION="5.3.1" -CONFIG_IDF_TARGET_ESP32C6=y -CONFIG_IDF_FIRMWARE_CHIP_ID=0x000D +CONFIG_IDF_TARGET_ESP32=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 # # Build type @@ -390,6 +253,8 @@ CONFIG_APP_BUILD_BOOTLOADER=y CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y # CONFIG_APP_REPRODUCIBLE_BUILD is not set # CONFIG_APP_NO_BLOBS is not set +# CONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set +# CONFIG_APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set # end of Build type # @@ -403,10 +268,11 @@ CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y CONFIG_BOOTLOADER_PROJECT_VER=1 # end of Bootloader manager -CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000 CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set # CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set # CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set # CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set @@ -422,6 +288,7 @@ CONFIG_BOOTLOADER_LOG_LEVEL=3 CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y # end of Serial Flash Configurations +CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y # CONFIG_BOOTLOADER_FACTORY_RESET is not set # CONFIG_BOOTLOADER_APP_TEST is not set CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y @@ -439,13 +306,10 @@ CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 # # Security features # -CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y -CONFIG_SECURE_BOOT_V2_ECC_SUPPORTED=y -CONFIG_SECURE_BOOT_V2_PREFERRED=y +CONFIG_SECURE_BOOT_V1_SUPPORTED=y # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set # CONFIG_SECURE_BOOT is not set # CONFIG_SECURE_FLASH_ENC_ENABLED is not set -CONFIG_SECURE_ROM_DL_MODE_ENABLED=y # end of Security features # @@ -460,40 +324,18 @@ CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 CONFIG_ESP_ROM_HAS_CRC_LE=y CONFIG_ESP_ROM_HAS_CRC_BE=y +CONFIG_ESP_ROM_HAS_MZ_CRC32=y CONFIG_ESP_ROM_HAS_JPEG_DECODE=y -CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y -CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=3 -CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y -CONFIG_ESP_ROM_GET_CLK_FREQ=y -CONFIG_ESP_ROM_HAS_RVFPLIB=y -CONFIG_ESP_ROM_HAS_HAL_WDT=y -CONFIG_ESP_ROM_HAS_HAL_SYSTIMER=y -CONFIG_ESP_ROM_HAS_HEAP_TLSF=y -CONFIG_ESP_ROM_TLSF_CHECK_PATCH=y -CONFIG_ESP_ROM_MULTI_HEAP_WALK_PATCH=y -CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y -CONFIG_ESP_ROM_HAS_SPI_FLASH=y -CONFIG_ESP_ROM_HAS_REGI2C_BUG=y +CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y +CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y CONFIG_ESP_ROM_HAS_NEWLIB=y -CONFIG_ESP_ROM_HAS_NEWLIB_NORMAL_FORMAT=y -CONFIG_ESP_ROM_REV0_HAS_NO_ECDSA_INTERFACE=y -CONFIG_ESP_ROM_WDT_INIT_PATCH=y -CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y -CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y +CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y CONFIG_ESP_ROM_HAS_SW_FLOAT=y CONFIG_ESP_ROM_USB_OTG_NUM=-1 -CONFIG_ESP_ROM_HAS_VERSION=y +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=-1 CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y -# -# Boot ROM Behavior -# -CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y -# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set -# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set -# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set -# end of Boot ROM Behavior - # # Serial flasher config # @@ -506,8 +348,8 @@ CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y CONFIG_ESPTOOLPY_FLASHMODE="dio" CONFIG_ESPTOOLPY_FLASHFREQ_80M=y # CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set # CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set -CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y CONFIG_ESPTOOLPY_FLASHFREQ="80m" # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set @@ -551,8 +393,7 @@ CONFIG_COMPILER_OPTIMIZATION_SIZE=y CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set -# CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB is not set -CONFIG_COMPILER_FLOAT_LIB_FROM_RVFPLIB=y +CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 # CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set CONFIG_COMPILER_HIDE_PATHS_MACROS=y @@ -563,7 +404,6 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y # CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set # CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set # CONFIG_COMPILER_WARN_WRITE_STRINGS is not set -# CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS is not set # CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set # CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set # CONFIG_COMPILER_DUMP_RTL_FILES is not set @@ -610,7 +450,7 @@ CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y CONFIG_BT_NIMBLE_LOG_LEVEL_INFO=y # CONFIG_BT_NIMBLE_LOG_LEVEL_DEBUG is not set CONFIG_BT_NIMBLE_LOG_LEVEL=1 -CONFIG_BT_NIMBLE_MAX_CONNECTIONS=3 +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 CONFIG_BT_NIMBLE_MAX_BONDS=3 CONFIG_BT_NIMBLE_MAX_CCCDS=8 CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM=0 @@ -642,7 +482,6 @@ CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=24 CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=128 CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=24 CONFIG_BT_NIMBLE_MSYS_2_BLOCK_SIZE=320 -CONFIG_BT_NIMBLE_MSYS_BUF_FROM_HEAP=y CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=24 CONFIG_BT_NIMBLE_TRANSPORT_ACL_SIZE=255 CONFIG_BT_NIMBLE_TRANSPORT_EVT_SIZE=70 @@ -657,20 +496,14 @@ CONFIG_BT_NIMBLE_RPA_TIMEOUT=900 # CONFIG_BT_NIMBLE_MESH is not set CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000 +# CONFIG_BT_NIMBLE_HOST_BASED_PRIVACY is not set CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=y CONFIG_BT_NIMBLE_MAX_CONN_REATTEMPT=3 -CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=y -CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY=y -CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY=y -# CONFIG_BT_NIMBLE_EXT_ADV is not set -CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS=0 -CONFIG_BT_NIMBLE_MAX_PERIODIC_ADVERTISER_LIST=5 -# CONFIG_BT_NIMBLE_BLE_POWER_CONTROL is not set -# CONFIG_BT_NIMBLE_GATT_CACHING is not set CONFIG_BT_NIMBLE_WHITELIST_SIZE=12 # CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set # CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set CONFIG_BT_NIMBLE_USE_ESP_TIMER=y +CONFIG_BT_NIMBLE_LEGACY_VHCI_ENABLE=y # CONFIG_BT_NIMBLE_BLE_GATT_BLOB_TRANSFER is not set # @@ -715,7 +548,6 @@ CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SUPERVISION_TMO=0 # end of BLE Services # CONFIG_BT_NIMBLE_VS_SUPPORT is not set -# CONFIG_BT_NIMBLE_OPTIMIZE_MULTI_CONN is not set # CONFIG_BT_NIMBLE_ENC_ADV_DATA is not set # CONFIG_BT_NIMBLE_HIGH_DUTY_ADV_ITVL is not set # CONFIG_BT_NIMBLE_HOST_QUEUE_CONG_CHECK is not set @@ -734,51 +566,46 @@ CONFIG_BT_NIMBLE_HCI_UART_CTS_PIN=23 # # Controller Options # - -# -# HCI Config -# -CONFIG_BT_LE_HCI_INTERFACE_USE_RAM=y -# CONFIG_BT_LE_HCI_INTERFACE_USE_UART is not set -# end of HCI Config - -CONFIG_BT_LE_CONTROLLER_NPL_OS_PORTING_SUPPORT=y -CONFIG_BT_LE_CONTROLLER_TASK_STACK_SIZE=4096 -# CONFIG_BT_LE_CONTROLLER_LOG_ENABLED is not set -CONFIG_BT_LE_LL_RESOLV_LIST_SIZE=4 -CONFIG_BT_LE_LL_DUP_SCAN_LIST_COUNT=20 -CONFIG_BT_LE_LL_SCA=60 -# CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EN is not set -CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS=y -CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF=0 -# CONFIG_BT_LE_SLEEP_ENABLE is not set -CONFIG_BT_LE_LP_CLK_SRC_MAIN_XTAL=y -# CONFIG_BT_LE_LP_CLK_SRC_DEFAULT is not set -CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y -CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 -CONFIG_BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 -CONFIG_BT_LE_SCAN_DUPL=y -CONFIG_BT_LE_SCAN_DUPL_TYPE_DEVICE=y -# CONFIG_BT_LE_SCAN_DUPL_TYPE_DATA is not set -# CONFIG_BT_LE_SCAN_DUPL_TYPE_DATA_DEVICE is not set -CONFIG_BT_LE_SCAN_DUPL_TYPE=0 -CONFIG_BT_LE_SCAN_DUPL_CACHE_REFRESH_PERIOD=0 -CONFIG_BT_LE_MSYS_INIT_IN_CONTROLLER=y -# CONFIG_BT_LE_TX_CCA_ENABLED is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N15 is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N12 is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N9 is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N6 is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N3 is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N0 is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P3 is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P6 is not set -CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P9=y -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P12 is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P15 is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P18 is not set -# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P20 is not set -CONFIG_BT_LE_DFT_TX_POWER_LEVEL_DBM_EFF=9 +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +# CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY is not set +# CONFIG_BTDM_CTRL_MODE_BTDM is not set +CONFIG_BTDM_CTRL_BLE_MAX_CONN=3 +CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=0 +CONFIG_BTDM_CTRL_PCM_ROLE_EFF=0 +CONFIG_BTDM_CTRL_PCM_POLAR_EFF=0 +CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=3 +CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=0 +CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0 +CONFIG_BTDM_CTRL_PINNED_TO_CORE=0 +CONFIG_BTDM_CTRL_HCI_MODE_VHCI=y +# CONFIG_BTDM_CTRL_HCI_MODE_UART_H4 is not set + +# +# MODEM SLEEP Options +# +CONFIG_BTDM_CTRL_MODEM_SLEEP=y +CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_ORIG=y +# CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_EVED is not set +CONFIG_BTDM_CTRL_LPCLK_SEL_MAIN_XTAL=y +# end of MODEM SLEEP Options + +CONFIG_BTDM_BLE_DEFAULT_SCA_250PPM=y +CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1 +CONFIG_BTDM_BLE_SCAN_DUPL=y +CONFIG_BTDM_SCAN_DUPL_TYPE_DEVICE=y +# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA is not set +# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA_DEVICE is not set +CONFIG_BTDM_SCAN_DUPL_TYPE=0 +CONFIG_BTDM_SCAN_DUPL_CACHE_SIZE=100 +CONFIG_BTDM_SCAN_DUPL_CACHE_REFRESH_PERIOD=0 +# CONFIG_BTDM_BLE_MESH_SCAN_DUPL_EN is not set +CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED=y +# CONFIG_BTDM_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set +CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y +CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 +CONFIG_BTDM_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 +CONFIG_BTDM_RESERVE_DRAM=0xdb5c +CONFIG_BTDM_CTRL_HLI=y # end of Controller Options # @@ -806,20 +633,35 @@ CONFIG_BT_ALARM_MAX_NUM=50 # TWAI Configuration # # CONFIG_TWAI_ISR_IN_IRAM is not set +CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC=y +CONFIG_TWAI_ERRATA_FIX_TX_INTR_LOST=y +CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID=y +CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT=y +CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y # end of TWAI Configuration # # Legacy ADC Driver Configuration # +CONFIG_ADC_DISABLE_DAC=y # CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set # # Legacy ADC Calibration Configuration # +CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y +CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y +CONFIG_ADC_CAL_LUT_ENABLE=y # CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set # end of Legacy ADC Calibration Configuration # end of Legacy ADC Driver Configuration +# +# Legacy DAC Driver Configurations +# +# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy DAC Driver Configurations + # # Legacy MCPWM Driver Configurations # @@ -855,12 +697,6 @@ CONFIG_BT_ALARM_MAX_NUM=50 # # CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set # end of Legacy SDM Driver Configurations - -# -# Legacy Temperature Sensor Driver Configurations -# -# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy Temperature Sensor Driver Configurations # end of Driver Configurations # @@ -868,14 +704,17 @@ CONFIG_BT_ALARM_MAX_NUM=50 # # CONFIG_EFUSE_CUSTOM_TABLE is not set # CONFIG_EFUSE_VIRTUAL is not set -CONFIG_EFUSE_MAX_BLK_LEN=256 +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set +CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set +CONFIG_EFUSE_MAX_BLK_LEN=192 # end of eFuse Bit Manager # # ESP-TLS # CONFIG_ESP_TLS_USING_MBEDTLS=y -CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y +# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set # CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set # CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set @@ -889,6 +728,16 @@ CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y # # CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set # CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set + +# +# ADC Calibration Configurations +# +CONFIG_ADC_CALI_EFUSE_TP_ENABLE=y +CONFIG_ADC_CALI_EFUSE_VREF_ENABLE=y +CONFIG_ADC_CALI_LUT_ENABLE=y +# end of ADC Calibration Configurations + +CONFIG_ADC_DISABLE_DAC_OUTPUT=y # CONFIG_ADC_ENABLE_DEBUG_LOG is not set # end of ADC and ADC Calibration @@ -906,9 +755,19 @@ CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y CONFIG_ESP_ERR_TO_NAME_LOOKUP=y # end of Common ESP-related +# +# ESP-Driver:DAC Configurations +# +# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set +# CONFIG_DAC_ISR_IRAM_SAFE is not set +# CONFIG_DAC_ENABLE_DEBUG_LOG is not set +CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y +# end of ESP-Driver:DAC Configurations + # # ESP-Driver:GPIO Configurations # +# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set # CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set # end of ESP-Driver:GPIO Configurations @@ -949,13 +808,6 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:MCPWM Configurations -# -# ESP-Driver:Parallel IO Configurations -# -# CONFIG_PARLIO_ENABLE_DEBUG_LOG is not set -# CONFIG_PARLIO_ISR_IRAM_SAFE is not set -# end of ESP-Driver:Parallel IO Configurations - # # ESP-Driver:PCNT Configurations # @@ -982,18 +834,18 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # # ESP-Driver:SPI Configurations # -# CONFIG_SPI_MASTER_IN_IRAM is not set CONFIG_SPI_MASTER_ISR_IN_IRAM=y # CONFIG_SPI_SLAVE_IN_IRAM is not set CONFIG_SPI_SLAVE_ISR_IN_IRAM=y # end of ESP-Driver:SPI Configurations # -# ESP-Driver:Temperature Sensor Configurations +# ESP-Driver:Touch Sensor Configurations # -# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set -# CONFIG_TEMP_SENSOR_ISR_IRAM_SAFE is not set -# end of ESP-Driver:Temperature Sensor Configurations +# CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set +# CONFIG_TOUCH_ISR_IRAM_SAFE is not set +# CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Touch Sensor Configurations # # ESP-Driver:UART Configurations @@ -1001,16 +853,19 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y # CONFIG_UART_ISR_IN_IRAM is not set # end of ESP-Driver:UART Configurations -# -# ESP-Driver:USB Serial/JTAG Configuration -# -CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y -# end of ESP-Driver:USB Serial/JTAG Configuration - # # Ethernet # CONFIG_ETH_ENABLED=y +CONFIG_ETH_USE_ESP32_EMAC=y +CONFIG_ETH_PHY_INTERFACE_RMII=y +CONFIG_ETH_RMII_CLK_INPUT=y +# CONFIG_ETH_RMII_CLK_OUTPUT is not set +CONFIG_ETH_RMII_CLK_IN_GPIO=0 +CONFIG_ETH_DMA_BUFFER_SIZE=512 +CONFIG_ETH_DMA_RX_BUFFER_NUM=10 +CONFIG_ETH_DMA_TX_BUFFER_NUM=10 +# CONFIG_ETH_IRAM_OPTIMIZATION is not set CONFIG_ETH_USE_SPI_ETHERNET=y # CONFIG_ETH_SPI_ETHERNET_DM9051 is not set # CONFIG_ETH_SPI_ETHERNET_W5500 is not set @@ -1077,16 +932,21 @@ CONFIG_HTTPD_PURGE_BUF_LEN=32 # # Chip revision # -CONFIG_ESP32C6_REV_MIN_0=y -# CONFIG_ESP32C6_REV_MIN_1 is not set -CONFIG_ESP32C6_REV_MIN_FULL=0 +CONFIG_ESP32_REV_MIN_0=y +# CONFIG_ESP32_REV_MIN_1 is not set +# CONFIG_ESP32_REV_MIN_1_1 is not set +# CONFIG_ESP32_REV_MIN_2 is not set +# CONFIG_ESP32_REV_MIN_3 is not set +# CONFIG_ESP32_REV_MIN_3_1 is not set +CONFIG_ESP32_REV_MIN=0 +CONFIG_ESP32_REV_MIN_FULL=0 CONFIG_ESP_REV_MIN_FULL=0 # -# Maximum Supported ESP32-C6 Revision (Rev v0.99) +# Maximum Supported ESP32 Revision (Rev v3.99) # -CONFIG_ESP32C6_REV_MAX_FULL=99 -CONFIG_ESP_REV_MAX_FULL=99 +CONFIG_ESP32_REV_MAX_FULL=399 +CONFIG_ESP_REV_MAX_FULL=399 # end of Chip revision # @@ -1096,12 +956,12 @@ CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y -CONFIG_ESP_MAC_ADDR_UNIVERSE_IEEE802154=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 -# CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_TWO is not set -CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_FOUR=y -CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR is not set # CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set # end of MAC Config @@ -1111,6 +971,7 @@ CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES=4 # CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y # CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set +CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0 # CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set @@ -1124,7 +985,7 @@ CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y CONFIG_RTC_CLK_SRC_INT_RC=y # CONFIG_RTC_CLK_SRC_EXT_CRYS is not set # CONFIG_RTC_CLK_SRC_EXT_OSC is not set -# CONFIG_RTC_CLK_SRC_INT_RC32K is not set +# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set CONFIG_RTC_CLK_CAL_CYCLES=1024 # end of RTC Clock Config @@ -1134,37 +995,15 @@ CONFIG_RTC_CLK_CAL_CYCLES=1024 CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y # end of Peripheral Control -# -# ETM Configuration -# -# CONFIG_ETM_ENABLE_DEBUG_LOG is not set -# end of ETM Configuration - -# -# GDMA Configurations -# -CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y -# CONFIG_GDMA_ISR_IRAM_SAFE is not set -# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set -# end of GDMA Configurations - # # Main XTAL Config # +# CONFIG_XTAL_FREQ_26 is not set CONFIG_XTAL_FREQ_40=y +# CONFIG_XTAL_FREQ_AUTO is not set CONFIG_XTAL_FREQ=40 # end of Main XTAL Config -# -# Crypto DPA Protection -# -CONFIG_ESP_CRYPTO_DPA_PROTECTION_AT_STARTUP=y -CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_LOW=y -# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_MEDIUM is not set -# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_HIGH is not set -CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL=1 -# end of Crypto DPA Protection - CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y # end of Hardware Settings @@ -1179,6 +1018,7 @@ CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y # # LCD Peripheral Configuration # +CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 # CONFIG_LCD_ENABLE_DEBUG_LOG is not set # end of LCD Peripheral Configuration # end of LCD and Touch Panel @@ -1221,13 +1061,13 @@ CONFIG_ESP_PHY_CALIBRATION_MODE=0 # # CONFIG_PM_ENABLE is not set CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y -CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y -# CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP is not set # end of Power Management # # ESP PSRAM # +# CONFIG_SPIRAM is not set +# end of ESP PSRAM # # ESP Ringbuf @@ -1239,9 +1079,31 @@ CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y # ESP System Settings # # CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_120 is not set CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 + +# +# Memory +# +# CONFIG_ESP32_RTCDATA_IN_FAST_MEM is not set +# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set +# CONFIG_ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY is not set + +# +# Non-backward compatible options +# +# CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM is not set +# end of Non-backward compatible options +# end of Memory + +# +# Trace memory +# +# CONFIG_ESP32_TRAX is not set +CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 +# end of Trace memory + # CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y # CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set @@ -1250,12 +1112,10 @@ CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y -# CONFIG_ESP_SYSTEM_USE_EH_FRAME is not set # # Memory protection # -CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT=y # end of Memory protection CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 @@ -1266,12 +1126,8 @@ CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 CONFIG_ESP_CONSOLE_UART_DEFAULT=y -# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set # CONFIG_ESP_CONSOLE_UART_CUSTOM is not set # CONFIG_ESP_CONSOLE_NONE is not set -# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set -CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y -CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y CONFIG_ESP_CONSOLE_UART=y CONFIG_ESP_CONSOLE_UART_NUM=0 CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 @@ -1286,25 +1142,25 @@ CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y # CONFIG_ESP_PANIC_HANDLER_IRAM is not set # CONFIG_ESP_DEBUG_STUBS_ENABLE is not set CONFIG_ESP_DEBUG_OCDAWARE=y -CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5=y # # Brownout Detector # CONFIG_ESP_BROWNOUT_DET=y -CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y CONFIG_ESP_BROWNOUT_DET_LVL=7 # end of Brownout Detector +# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y -CONFIG_ESP_SYSTEM_HW_STACK_GUARD=y -CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y -CONFIG_ESP_SYSTEM_HW_PC_RECORD=y # end of ESP System Settings # @@ -1326,7 +1182,7 @@ CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y # CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set -CONFIG_ESP_TIMER_IMPL_SYSTIMER=y +CONFIG_ESP_TIMER_IMPL_TG0_LAC=y # end of ESP Timer (High Resolution Timer) # @@ -1362,25 +1218,20 @@ CONFIG_ESP_WIFI_SLP_IRAM_OPT=y CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 -# CONFIG_ESP_WIFI_FTM_ENABLE is not set CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y -# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set CONFIG_ESP_WIFI_GMAC_SUPPORT=y CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y # CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 +# CONFIG_ESP_WIFI_NAN_ENABLE is not set CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y # CONFIG_ESP_WIFI_WAPI_PSK is not set -# CONFIG_ESP_WIFI_SUITE_B_192 is not set # CONFIG_ESP_WIFI_11KV_SUPPORT is not set # CONFIG_ESP_WIFI_MBO_SUPPORT is not set # CONFIG_ESP_WIFI_DPP_SUPPORT is not set # CONFIG_ESP_WIFI_11R_SUPPORT is not set # CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set -# CONFIG_ESP_WIFI_ENABLE_WIFI_TX_STATS is not set -# CONFIG_ESP_WIFI_ENABLE_WIFI_RX_STATS is not set -CONFIG_ESP_WIFI_TX_HETB_QUEUE_NUM=3 # # WPS Configuration Options @@ -1493,11 +1344,12 @@ CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y CONFIG_FREERTOS_ISR_STACKSIZE=1536 CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y -CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y -CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y -# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set -CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y -# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set +# CONFIG_FREERTOS_FPU_IN_ISR is not set +CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y +CONFIG_FREERTOS_CORETIMER_0=y +# CONFIG_FREERTOS_CORETIMER_1 is not set +CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y +CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set # end of Port @@ -1518,8 +1370,6 @@ CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y # CONFIG_HAL_ASSERTION_SILENT is not set # CONFIG_HAL_ASSERTION_ENABLE is not set CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 -CONFIG_HAL_SYSTIMER_USE_ROM_IMPL=y -CONFIG_HAL_WDT_USE_ROM_IMPL=y CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y # end of Hardware Abstraction Layer (HAL) and Low Level (LL) @@ -1536,26 +1386,9 @@ CONFIG_HEAP_TRACING_OFF=y # CONFIG_HEAP_USE_HOOKS is not set # CONFIG_HEAP_TASK_TRACKING is not set # CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set -CONFIG_HEAP_TLSF_USE_ROM_IMPL=y +# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set # end of Heap memory debugging -# -# IEEE 802.15.4 -# -CONFIG_IEEE802154_ENABLED=y -CONFIG_IEEE802154_RX_BUFFER_SIZE=20 -# CONFIG_IEEE802154_CCA_CARRIER is not set -CONFIG_IEEE802154_CCA_ED=y -# CONFIG_IEEE802154_CCA_CARRIER_OR_ED is not set -# CONFIG_IEEE802154_CCA_CARRIER_AND_ED is not set -CONFIG_IEEE802154_CCA_MODE=1 -CONFIG_IEEE802154_CCA_THRESHOLD=-60 -CONFIG_IEEE802154_PENDING_TABLE_SIZE=20 -# CONFIG_IEEE802154_MULTI_PAN_ENABLE is not set -# CONFIG_IEEE802154_TIMING_OPTIMIZATION is not set -# CONFIG_IEEE802154_DEBUG is not set -# end of IEEE 802.15.4 - # # Log output # @@ -1787,16 +1620,10 @@ CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 # CONFIG_MBEDTLS_ECP_RESTARTABLE is not set CONFIG_MBEDTLS_CMAC_C=y CONFIG_MBEDTLS_HARDWARE_AES=y -CONFIG_MBEDTLS_AES_USE_INTERRUPT=y -CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y CONFIG_MBEDTLS_HARDWARE_MPI=y CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y -CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y -CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_HARDWARE_SHA=y -CONFIG_MBEDTLS_HARDWARE_ECC=y -CONFIG_MBEDTLS_ECC_OTHER_CURVES_SOFT_FALLBACK=y CONFIG_MBEDTLS_ROM_MD5=y # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set # CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set @@ -1918,7 +1745,6 @@ CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y # # NVS # -# CONFIG_NVS_ENCRYPTION is not set # CONFIG_NVS_ASSERT_ERROR_CHECK is not set # CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set # end of NVS @@ -2004,10 +1830,10 @@ CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 # CONFIG_SPI_FLASH_VERIFY_WRITE is not set # CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y -# CONFIG_SPI_FLASH_ROM_IMPL is not set CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y # CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set # CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set # CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 @@ -2021,6 +1847,10 @@ CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 # Auto-detect flash chips # CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y # CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_GD_CHIP is not set @@ -2157,7 +1987,7 @@ CONFIG_LV_COLOR_DEPTH_16=y # CONFIG_LV_COLOR_DEPTH_8 is not set # CONFIG_LV_COLOR_DEPTH_1 is not set CONFIG_LV_COLOR_DEPTH=16 -# CONFIG_LV_COLOR_16_SWAP is not set +CONFIG_LV_COLOR_16_SWAP=y # CONFIG_LV_COLOR_SCREEN_TRANSP is not set CONFIG_LV_COLOR_MIX_ROUND_OFS=128 CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 @@ -2258,7 +2088,7 @@ CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 # # Enable built-in fonts # -CONFIG_LV_FONT_MONTSERRAT_8=y +# CONFIG_LV_FONT_MONTSERRAT_8 is not set CONFIG_LV_FONT_MONTSERRAT_10=y CONFIG_LV_FONT_MONTSERRAT_12=y CONFIG_LV_FONT_MONTSERRAT_14=y @@ -2434,7 +2264,7 @@ CONFIG_LV_USE_SNAPSHOT=y # # Examples # -CONFIG_LV_BUILD_EXAMPLES=y +# CONFIG_LV_BUILD_EXAMPLES is not set # end of Examples # @@ -2472,8 +2302,8 @@ CONFIG_LV_PREDEFINED_DISPLAY_NONE=y # CONFIG_LV_PREDEFINED_DISPLAY_WT32_SC01 is not set CONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9341=y CONFIG_LV_TFT_DISPLAY_PROTOCOL_SPI=y -CONFIG_LV_HOR_RES_MAX=128 -CONFIG_LV_VER_RES_MAX=64 +CONFIG_LV_HOR_RES_MAX=240 +CONFIG_LV_VER_RES_MAX=320 CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT=y # CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT_INVERTED is not set # CONFIG_LV_DISPLAY_ORIENTATION_LANDSCAPE is not set @@ -2510,44 +2340,94 @@ CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_SIO=y # CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_QIO is not set CONFIG_LV_TFT_DISPLAY_SPI_HALF_DUPLEX=y # CONFIG_LV_TFT_DISPLAY_SPI_FULL_DUPLEX is not set -# CONFIG_LV_TFT_USE_CUSTOM_SPI_CLK_DIVIDER is not set +CONFIG_LV_TFT_USE_CUSTOM_SPI_CLK_DIVIDER=y +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_1 is not set +CONFIG_LV_TFT_SPI_CLK_DIVIDER_2=y +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_3 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_4 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_5 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_6 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_7 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_8 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_9 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_10 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_12 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_16 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_20 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_24 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_32 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_40 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_48 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_80 is not set CONFIG_LV_TFT_CUSTOM_SPI_CLK_DIVIDER=2 # CONFIG_LV_INVERT_COLORS is not set # # Display Pin Assignments # -CONFIG_LV_DISP_SPI_MOSI=13 -# CONFIG_LV_DISPLAY_USE_SPI_MISO is not set -CONFIG_LV_DISP_SPI_CLK=14 +CONFIG_LV_DISP_SPI_MOSI=23 +CONFIG_LV_DISPLAY_USE_SPI_MISO=y +CONFIG_LV_DISP_SPI_MISO=19 +CONFIG_LV_DISP_SPI_INPUT_DELAY_NS=0 +CONFIG_LV_DISP_SPI_CLK=18 CONFIG_LV_DISPLAY_USE_SPI_CS=y -CONFIG_LV_DISP_SPI_CS=15 +CONFIG_LV_DISP_SPI_CS=17 CONFIG_LV_DISPLAY_USE_DC=y -CONFIG_LV_DISP_PIN_DC=2 +CONFIG_LV_DISP_PIN_DC=16 CONFIG_LV_DISP_USE_RST=y -CONFIG_LV_DISP_PIN_RST=4 +CONFIG_LV_DISP_PIN_RST=5 +CONFIG_LV_DISP_PIN_BUSY=35 # end of Display Pin Assignments # CONFIG_LV_DISP_BACKLIGHT_OFF is not set CONFIG_LV_DISP_BACKLIGHT_SWITCH=y # CONFIG_LV_DISP_BACKLIGHT_PWM is not set -# CONFIG_LV_BACKLIGHT_ACTIVE_LVL is not set -CONFIG_LV_DISP_PIN_BCKL=-1 +CONFIG_LV_BACKLIGHT_ACTIVE_LVL=y +CONFIG_LV_DISP_PIN_BCKL=32 CONFIG_LV_I2C_DISPLAY_PORT=0 # end of LVGL TFT Display controller # # LVGL Touch controller # -CONFIG_LV_TOUCH_CONTROLLER=0 -CONFIG_LV_TOUCH_CONTROLLER_NONE=y -# CONFIG_LV_TOUCH_CONTROLLER_XPT2046 is not set +CONFIG_LV_TOUCH_CONTROLLER=1 +# CONFIG_LV_TOUCH_CONTROLLER_NONE is not set +CONFIG_LV_TOUCH_CONTROLLER_XPT2046=y # CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set # CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set # CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set # CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set # CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set # CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set +CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI=y +# CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST is not set +CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST=y + +# +# Touchpanel (XPT2046) Pin Assignments +# +CONFIG_LV_TOUCH_SPI_MISO=19 +CONFIG_LV_TOUCH_SPI_MOSI=23 +CONFIG_LV_TOUCH_SPI_CLK=18 +CONFIG_LV_TOUCH_SPI_CS=5 +CONFIG_LV_TOUCH_PIN_IRQ=25 +# end of Touchpanel (XPT2046) Pin Assignments + +# +# Touchpanel Configuration (XPT2046) +# +CONFIG_LV_TOUCH_X_MIN=200 +CONFIG_LV_TOUCH_Y_MIN=120 +CONFIG_LV_TOUCH_X_MAX=1900 +CONFIG_LV_TOUCH_Y_MAX=1900 +CONFIG_LV_TOUCH_XY_SWAP=y +CONFIG_LV_TOUCH_INVERT_X=y +# CONFIG_LV_TOUCH_INVERT_Y is not set +# CONFIG_LV_TOUCH_DETECT_IRQ is not set +CONFIG_LV_TOUCH_DETECT_IRQ_PRESSURE=y +# CONFIG_LV_TOUCH_DETECT_PRESSURE is not set +# end of Touchpanel Configuration (XPT2046) + CONFIG_LV_I2C_TOUCH_PORT=0 # end of LVGL Touch controller # end of LVGL ESP Drivers @@ -2587,6 +2467,9 @@ CONFIG_MDNS_PREDEF_NETIF_ETH=y # Deprecated options for backward compatibility # CONFIG_APP_BUILD_TYPE_ELF_RAM is not set # CONFIG_NO_BLOBS is not set +# CONFIG_ESP32_NO_BLOBS is not set +# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set +# CONFIG_ESP32_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set # CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set # CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set # CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set @@ -2623,7 +2506,7 @@ CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y CONFIG_NIMBLE_ENABLED=y CONFIG_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y # CONFIG_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set -CONFIG_NIMBLE_MAX_CONNECTIONS=3 +CONFIG_NIMBLE_MAX_CONNECTIONS=1 CONFIG_NIMBLE_MAX_BONDS=3 CONFIG_NIMBLE_MAX_CCCDS=8 CONFIG_NIMBLE_L2CAP_COC_MAX_NUM=0 @@ -2654,8 +2537,29 @@ CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT=8 CONFIG_NIMBLE_RPA_TIMEOUT=900 # CONFIG_NIMBLE_MESH is not set CONFIG_NIMBLE_CRYPTO_STACK_MBEDTLS=y -# CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_EN is not set -CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_DIS=y +CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY=y +# CONFIG_BTDM_CONTROLLER_MODE_BR_EDR_ONLY is not set +# CONFIG_BTDM_CONTROLLER_MODE_BTDM is not set +CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN=3 +CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=3 +CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0 +CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0 +CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0 +CONFIG_BTDM_CONTROLLER_HCI_MODE_VHCI=y +# CONFIG_BTDM_CONTROLLER_HCI_MODE_UART_H4 is not set +CONFIG_BTDM_CONTROLLER_MODEM_SLEEP=y +CONFIG_BLE_SCAN_DUPLICATE=y +CONFIG_SCAN_DUPLICATE_BY_DEVICE_ADDR=y +# CONFIG_SCAN_DUPLICATE_BY_ADV_DATA is not set +# CONFIG_SCAN_DUPLICATE_BY_ADV_DATA_AND_DEVICE_ADDR is not set +CONFIG_SCAN_DUPLICATE_TYPE=0 +CONFIG_DUPLICATE_SCAN_CACHE_SIZE=100 +# CONFIG_BLE_MESH_SCAN_DUPLICATE_EN is not set +CONFIG_BTDM_CONTROLLER_FULL_SCAN_SUPPORTED=y +CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_SUPPORTED=y +CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_NUM=100 +CONFIG_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 +CONFIG_ADC2_DISABLE_DAC=y CONFIG_SW_COEXIST_ENABLE=y CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y @@ -2666,14 +2570,43 @@ CONFIG_POST_EVENTS_FROM_IRAM_ISR=y CONFIG_GDBSTUB_SUPPORT_TASKS=y CONFIG_GDBSTUB_MAX_TASKS=32 # CONFIG_OTA_ALLOW_HTTP is not set +# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set +CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y +CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 # CONFIG_ESP_SYSTEM_PD_FLASH is not set +CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=0 +CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=0 +CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y +CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y +# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set +# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set +# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set +CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 +# CONFIG_ESP32_XTAL_FREQ_26 is not set +CONFIG_ESP32_XTAL_FREQ_40=y +# CONFIG_ESP32_XTAL_FREQ_AUTO is not set +CONFIG_ESP32_XTAL_FREQ=40 CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y # CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 CONFIG_ESP32_PHY_MAX_TX_POWER=20 # CONFIG_REDUCE_PHY_TX_POWER is not set # CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set -CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y +# CONFIG_SPIRAM_SUPPORT is not set +# CONFIG_ESP32_SPIRAM_SUPPORT is not set +# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set +CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y +# CONFIG_ESP32_DEFAULT_CPU_FREQ_240 is not set +CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=160 +CONFIG_TRACEMEM_RESERVE_DRAM=0x0 +# CONFIG_ESP32_PANIC_PRINT_HALT is not set +CONFIG_ESP32_PANIC_PRINT_REBOOT=y +# CONFIG_ESP32_PANIC_SILENT_REBOOT is not set +# CONFIG_ESP32_PANIC_GDBSTUB is not set +CONFIG_ESP32_ALLOW_RTC_FAST_MEM_AS_HEAP=y CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 CONFIG_MAIN_TASK_STACK_SIZE=3584 @@ -2692,14 +2625,28 @@ CONFIG_ESP_TASK_WDT=y CONFIG_TASK_WDT_TIMEOUT_S=5 CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y # CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP32_DEBUG_OCDAWARE=y CONFIG_BROWNOUT_DET=y -CONFIG_BROWNOUT_DET_LVL_SEL_7=y -# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +CONFIG_ESP32_BROWNOUT_DET=y +# CONFIG_BROWNOUT_DET_LVL_SEL_0 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set # CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set +CONFIG_BROWNOUT_DET_LVL_SEL_7=y +CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7=y CONFIG_BROWNOUT_DET_LVL=7 +CONFIG_ESP32_BROWNOUT_DET_LVL=7 +# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set CONFIG_IPC_TASK_STACK_SIZE=1024 CONFIG_TIMER_TASK_STACK_SIZE=3584 CONFIG_ESP32_WIFI_ENABLED=y @@ -2726,7 +2673,6 @@ CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y CONFIG_WPA_MBEDTLS_CRYPTO=y CONFIG_WPA_MBEDTLS_TLS_CLIENT=y # CONFIG_WPA_WAPI_PSK is not set -# CONFIG_WPA_SUITE_B_192 is not set # CONFIG_WPA_11KV_SUPPORT is not set # CONFIG_WPA_MBO_SUPPORT is not set # CONFIG_WPA_DPP_SUPPORT is not set @@ -2764,6 +2710,12 @@ CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y # CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF # CONFIG_PPP_SUPPORT is not set +CONFIG_ESP32_TIME_SYSCALL_USE_RTC_HRT=y +CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y +# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_HRT is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 CONFIG_ESP32_PTHREAD_STACK_MIN=768 @@ -2772,6 +2724,7 @@ CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y # CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set # CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +# CONFIG_ESP32_ULP_COPROC_ENABLED is not set CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y CONFIG_SUPPORT_TERMIOS=y CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 From ab362274a700482c6f1a1e0cbc95e99bf5c0258b Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Thu, 31 Oct 2024 00:02:33 -0600 Subject: [PATCH 39/58] Config Stuff --- configs/sdkconfig.marauderv6 | 2 +- sdkconfig | 2 +- sdkconfig.old | 1054 ++++++++++++++++++---------------- 3 files changed, 569 insertions(+), 489 deletions(-) diff --git a/configs/sdkconfig.marauderv6 b/configs/sdkconfig.marauderv6 index 1871b05a..54729582 100644 --- a/configs/sdkconfig.marauderv6 +++ b/configs/sdkconfig.marauderv6 @@ -2088,7 +2088,7 @@ CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 # # Enable built-in fonts # -# CONFIG_LV_FONT_MONTSERRAT_8 is not set +CONFIG_LV_FONT_MONTSERRAT_8=y CONFIG_LV_FONT_MONTSERRAT_10=y CONFIG_LV_FONT_MONTSERRAT_12=y CONFIG_LV_FONT_MONTSERRAT_14=y diff --git a/sdkconfig b/sdkconfig index 1871b05a..54729582 100644 --- a/sdkconfig +++ b/sdkconfig @@ -2088,7 +2088,7 @@ CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 # # Enable built-in fonts # -# CONFIG_LV_FONT_MONTSERRAT_8 is not set +CONFIG_LV_FONT_MONTSERRAT_8=y CONFIG_LV_FONT_MONTSERRAT_10=y CONFIG_LV_FONT_MONTSERRAT_12=y CONFIG_LV_FONT_MONTSERRAT_14=y diff --git a/sdkconfig.old b/sdkconfig.old index 1d18cc98..c2946606 100644 --- a/sdkconfig.old +++ b/sdkconfig.old @@ -2,30 +2,28 @@ # Automatically generated file. DO NOT EDIT. # Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Configuration # +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED="Not determined" +CONFIG_SOC_TWAI_BRP_DIV_SUPPORTED="Not determined" +CONFIG_SOC_DPORT_WORKAROUND="Not determined" +CONFIG_SOC_CAPS_ECO_VER_MAX=301 CONFIG_SOC_ADC_SUPPORTED=y -CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y +CONFIG_SOC_DAC_SUPPORTED=y CONFIG_SOC_UART_SUPPORTED=y -CONFIG_SOC_GDMA_SUPPORTED=y -CONFIG_SOC_AHB_GDMA_SUPPORTED=y -CONFIG_SOC_GPTIMER_SUPPORTED=y -CONFIG_SOC_PCNT_SUPPORTED=y CONFIG_SOC_MCPWM_SUPPORTED=y -CONFIG_SOC_TWAI_SUPPORTED=y -CONFIG_SOC_ETM_SUPPORTED=y -CONFIG_SOC_PARLIO_SUPPORTED=y +CONFIG_SOC_GPTIMER_SUPPORTED=y +CONFIG_SOC_SDMMC_HOST_SUPPORTED=y CONFIG_SOC_BT_SUPPORTED=y -CONFIG_SOC_IEEE802154_SUPPORTED=y -CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y -CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y -CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y +CONFIG_SOC_PCNT_SUPPORTED=y CONFIG_SOC_PHY_SUPPORTED=y CONFIG_SOC_WIFI_SUPPORTED=y -CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y -CONFIG_SOC_ULP_SUPPORTED=y -CONFIG_SOC_LP_CORE_SUPPORTED=y -CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y +CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y +CONFIG_SOC_TWAI_SUPPORTED=y CONFIG_SOC_EFUSE_SUPPORTED=y +CONFIG_SOC_EMAC_SUPPORTED=y +CONFIG_SOC_ULP_SUPPORTED=y +CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y +CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y CONFIG_SOC_RTC_MEM_SUPPORTED=y CONFIG_SOC_I2S_SUPPORTED=y CONFIG_SOC_RMT_SUPPORTED=y @@ -33,174 +31,98 @@ CONFIG_SOC_SDM_SUPPORTED=y CONFIG_SOC_GPSPI_SUPPORTED=y CONFIG_SOC_LEDC_SUPPORTED=y CONFIG_SOC_I2C_SUPPORTED=y -CONFIG_SOC_SYSTIMER_SUPPORTED=y CONFIG_SOC_SUPPORT_COEXISTENCE=y CONFIG_SOC_AES_SUPPORTED=y CONFIG_SOC_MPI_SUPPORTED=y CONFIG_SOC_SHA_SUPPORTED=y -CONFIG_SOC_HMAC_SUPPORTED=y -CONFIG_SOC_DIG_SIGN_SUPPORTED=y -CONFIG_SOC_ECC_SUPPORTED=y CONFIG_SOC_FLASH_ENC_SUPPORTED=y CONFIG_SOC_SECURE_BOOT_SUPPORTED=y -CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y +CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y CONFIG_SOC_BOD_SUPPORTED=y -CONFIG_SOC_APM_SUPPORTED=y -CONFIG_SOC_APM_CTRL_FILTER_SUPPORTED=y -CONFIG_SOC_PMU_SUPPORTED=y -CONFIG_SOC_PAU_SUPPORTED=y -CONFIG_SOC_LP_TIMER_SUPPORTED=y -CONFIG_SOC_LP_AON_SUPPORTED=y -CONFIG_SOC_LP_PERIPHERALS_SUPPORTED=y -CONFIG_SOC_LP_I2C_SUPPORTED=y -CONFIG_SOC_ULP_LP_UART_SUPPORTED=y +CONFIG_SOC_ULP_FSM_SUPPORTED=y CONFIG_SOC_CLK_TREE_SUPPORTED=y -CONFIG_SOC_ASSIST_DEBUG_SUPPORTED=y +CONFIG_SOC_MPU_SUPPORTED=y CONFIG_SOC_WDT_SUPPORTED=y CONFIG_SOC_SPI_FLASH_SUPPORTED=y CONFIG_SOC_RNG_SUPPORTED=y CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y -CONFIG_SOC_MODEM_CLOCK_SUPPORTED=y +CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y CONFIG_SOC_PM_SUPPORTED=y +CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5 +CONFIG_SOC_XTAL_SUPPORT_26M=y CONFIG_SOC_XTAL_SUPPORT_40M=y -CONFIG_SOC_AES_SUPPORT_DMA=y -CONFIG_SOC_AES_GDMA=y -CONFIG_SOC_AES_SUPPORT_AES_128=y -CONFIG_SOC_AES_SUPPORT_AES_256=y +CONFIG_SOC_XTAL_SUPPORT_AUTO_DETECT=y +CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y -CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y -CONFIG_SOC_ADC_MONITOR_SUPPORTED=y CONFIG_SOC_ADC_DMA_SUPPORTED=y -CONFIG_SOC_ADC_PERIPH_NUM=1 -CONFIG_SOC_ADC_MAX_CHANNEL_NUM=7 +CONFIG_SOC_ADC_PERIPH_NUM=2 +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 CONFIG_SOC_ADC_ATTEN_NUM=4 -CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=1 -CONFIG_SOC_ADC_PATT_LEN_MAX=8 +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 +CONFIG_SOC_ADC_PATT_LEN_MAX=16 +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=9 CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 -CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 -CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 -CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 -CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2 CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 -CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=0 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=2 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=20 +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9 CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 -CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y -CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y -CONFIG_SOC_ADC_CALIB_CHAN_COMPENS_SUPPORTED=y -CONFIG_SOC_ADC_TEMPERATURE_SHARE_INTR=y CONFIG_SOC_ADC_SHARED_POWER=y -CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y -CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y -CONFIG_SOC_CPU_CORES_NUM=1 +CONFIG_SOC_IDCACHE_PER_CORE=y +CONFIG_SOC_CPU_CORES_NUM=2 CONFIG_SOC_CPU_INTR_NUM=32 -CONFIG_SOC_CPU_HAS_FLEXIBLE_INTC=y -CONFIG_SOC_INT_PLIC_SUPPORTED=y -CONFIG_SOC_CPU_HAS_CSR_PC=y -CONFIG_SOC_CPU_BREAKPOINTS_NUM=4 -CONFIG_SOC_CPU_WATCHPOINTS_NUM=4 -CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x80000000 -CONFIG_SOC_CPU_HAS_PMA=y -CONFIG_SOC_CPU_IDRAM_SPLIT_USING_PMP=y -CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=3072 -CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 -CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 -CONFIG_SOC_AHB_GDMA_VERSION=1 -CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 -CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=3 -CONFIG_SOC_GDMA_SUPPORT_ETM=y -CONFIG_SOC_GDMA_SUPPORT_SLEEP_RETENTION=y -CONFIG_SOC_ETM_GROUPS=1 -CONFIG_SOC_ETM_CHANNELS_PER_GROUP=50 +CONFIG_SOC_CPU_HAS_FPU=y +CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y +CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 +CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64 +CONFIG_SOC_DAC_CHAN_NUM=2 +CONFIG_SOC_DAC_RESOLUTION=8 +CONFIG_SOC_DAC_DMA_16BIT_ALIGN=y CONFIG_SOC_GPIO_PORT=1 -CONFIG_SOC_GPIO_PIN_COUNT=31 -CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y -CONFIG_SOC_GPIO_FLEX_GLITCH_FILTER_NUM=8 -CONFIG_SOC_GPIO_SUPPORT_ETM=y -CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y -CONFIG_SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP=y -CONFIG_SOC_LP_IO_CLOCK_IS_INDEPENDENT=y -CONFIG_SOC_GPIO_IN_RANGE_MAX=30 -CONFIG_SOC_GPIO_OUT_RANGE_MAX=30 -CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK=0 -CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_SUPPORTED_PIN_CNT=8 -CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x000000007FFFFF00 -CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y -CONFIG_SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP=y -CONFIG_SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX=y -CONFIG_SOC_CLOCKOUT_HAS_SOURCE_GATE=y +CONFIG_SOC_GPIO_PIN_COUNT=40 +CONFIG_SOC_GPIO_VALID_GPIO_MASK=0xFFFFFFFFFF +CONFIG_SOC_GPIO_IN_RANGE_MAX=39 +CONFIG_SOC_GPIO_OUT_RANGE_MAX=33 +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA +CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 -CONFIG_SOC_RTCIO_PIN_COUNT=8 -CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y -CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y -CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y -CONFIG_SOC_RTCIO_VALID_RTCIO_MASK=0xFF -CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 -CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 -CONFIG_SOC_DEDIC_PERIPH_ALWAYS_ENABLE=y CONFIG_SOC_I2C_NUM=2 -CONFIG_SOC_HP_I2C_NUM=1 +CONFIG_SOC_HP_I2C_NUM=2 CONFIG_SOC_I2C_FIFO_LEN=32 -CONFIG_SOC_I2C_CMD_REG_NUM=8 +CONFIG_SOC_I2C_CMD_REG_NUM=16 CONFIG_SOC_I2C_SUPPORT_SLAVE=y -CONFIG_SOC_I2C_SUPPORT_HW_FSM_RST=y -CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y -CONFIG_SOC_I2C_SUPPORT_XTAL=y -CONFIG_SOC_I2C_SUPPORT_RTC=y -CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y -CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y -CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE=y -CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y -CONFIG_SOC_I2C_SLAVE_SUPPORT_SLAVE_UNMATCH=y -CONFIG_SOC_I2C_SUPPORT_SLEEP_RETENTION=y -CONFIG_SOC_LP_I2C_NUM=1 -CONFIG_SOC_LP_I2C_FIFO_LEN=16 -CONFIG_SOC_I2S_NUM=1 -CONFIG_SOC_I2S_HW_VERSION_2=y -CONFIG_SOC_I2S_SUPPORTS_XTAL=y +CONFIG_SOC_I2C_SUPPORT_APB=y +CONFIG_SOC_I2C_STOP_INDEPENDENT=y +CONFIG_SOC_I2S_NUM=2 +CONFIG_SOC_I2S_HW_VERSION_1=y +CONFIG_SOC_I2S_SUPPORTS_APLL=y CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y -CONFIG_SOC_I2S_SUPPORTS_PCM=y CONFIG_SOC_I2S_SUPPORTS_PDM=y CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y -CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 -CONFIG_SOC_I2S_SUPPORTS_TDM=y -CONFIG_SOC_LEDC_SUPPORT_PLL_DIV_CLOCK=y -CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y -CONFIG_SOC_LEDC_CHANNEL_NUM=6 +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=1 +CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1 +CONFIG_SOC_I2S_SUPPORTS_ADC_DAC=y +CONFIG_SOC_I2S_SUPPORTS_ADC=y +CONFIG_SOC_I2S_SUPPORTS_DAC=y +CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y +CONFIG_SOC_I2S_TRANS_SIZE_ALIGN_WORD=y +CONFIG_SOC_I2S_LCD_I80_VARIANT=y +CONFIG_SOC_LCD_I80_SUPPORTED=y +CONFIG_SOC_LCD_I80_BUSES=2 +CONFIG_SOC_LCD_I80_BUS_WIDTH=24 +CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y +CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y +CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y +CONFIG_SOC_LEDC_SUPPORT_HS_MODE=y +CONFIG_SOC_LEDC_CHANNEL_NUM=8 CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 -CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y -CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED=y -CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX=16 -CONFIG_SOC_LEDC_FADE_PARAMS_BIT_WIDTH=10 -CONFIG_SOC_MMU_PAGE_SIZE_CONFIGURABLE=y -CONFIG_SOC_MMU_PERIPH_NUM=1 -CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 -CONFIG_SOC_MMU_DI_VADDR_SHARED=y -CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 -CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 -CONFIG_SOC_PCNT_GROUPS=1 -CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 -CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 -CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 -CONFIG_SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE=y -CONFIG_SOC_RMT_GROUPS=1 -CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=2 -CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=2 -CONFIG_SOC_RMT_CHANNELS_PER_GROUP=4 -CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 -CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y -CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y -CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y -CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y -CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y -CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y -CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y -CONFIG_SOC_RMT_SUPPORT_XTAL=y -CONFIG_SOC_RMT_SUPPORT_RC_FAST=y -CONFIG_SOC_MCPWM_GROUPS=1 +CONFIG_SOC_MCPWM_GROUPS=2 CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 @@ -210,175 +132,116 @@ CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 -CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y -CONFIG_SOC_MCPWM_SUPPORT_ETM=y -CONFIG_SOC_MCPWM_CAPTURE_CLK_FROM_GROUP=y -CONFIG_SOC_PARLIO_GROUPS=1 -CONFIG_SOC_PARLIO_TX_UNITS_PER_GROUP=1 -CONFIG_SOC_PARLIO_RX_UNITS_PER_GROUP=1 -CONFIG_SOC_PARLIO_TX_UNIT_MAX_DATA_WIDTH=16 -CONFIG_SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH=16 -CONFIG_SOC_PARLIO_TX_RX_SHARE_INTERRUPT=y -CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 -CONFIG_SOC_MPI_OPERATIONS_NUM=3 -CONFIG_SOC_RSA_MAX_BIT_LEN=3072 -CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 -CONFIG_SOC_SHA_SUPPORT_DMA=y -CONFIG_SOC_SHA_SUPPORT_RESUME=y -CONFIG_SOC_SHA_GDMA=y -CONFIG_SOC_SHA_SUPPORT_SHA1=y -CONFIG_SOC_SHA_SUPPORT_SHA224=y -CONFIG_SOC_SHA_SUPPORT_SHA256=y +CONFIG_SOC_MMU_PERIPH_NUM=2 +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=3 +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +CONFIG_SOC_PCNT_GROUPS=1 +CONFIG_SOC_PCNT_UNITS_PER_GROUP=8 +CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 +CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 +CONFIG_SOC_RMT_GROUPS=1 +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=8 +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=8 +CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64 +CONFIG_SOC_RMT_SUPPORT_REF_TICK=y +CONFIG_SOC_RMT_SUPPORT_APB=y +CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y +CONFIG_SOC_RTCIO_PIN_COUNT=18 +CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y +CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y +CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y CONFIG_SOC_SDM_GROUPS=1 -CONFIG_SOC_SDM_CHANNELS_PER_GROUP=4 -CONFIG_SOC_SDM_CLK_SUPPORT_PLL_F80M=y -CONFIG_SOC_SDM_CLK_SUPPORT_XTAL=y -CONFIG_SOC_SPI_PERIPH_NUM=2 -CONFIG_SOC_SPI_MAX_CS_NUM=6 +CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 +CONFIG_SOC_SDM_CLK_SUPPORT_APB=y +CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y +CONFIG_SOC_SPI_AS_CS_SUPPORTED=y +CONFIG_SOC_SPI_PERIPH_NUM=3 +CONFIG_SOC_SPI_DMA_CHAN_NUM=2 +CONFIG_SOC_SPI_MAX_CS_NUM=3 +CONFIG_SOC_SPI_SUPPORT_CLK_APB=y CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 -CONFIG_SOC_SPI_SUPPORT_DDRCLK=y -CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y -CONFIG_SOC_SPI_SUPPORT_CD_SIG=y -CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y -CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y -CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y -CONFIG_SOC_SPI_SUPPORT_CLK_PLL_F80M=y -CONFIG_SOC_SPI_SUPPORT_CLK_RC_FAST=y -CONFIG_SOC_SPI_SCT_SUPPORTED=y -CONFIG_SOC_SPI_SCT_REG_NUM=14 -CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y -CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA -CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y -CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y -CONFIG_SOC_SPI_MEM_SUPPORT_IDLE_INTR=y -CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y -CONFIG_SOC_SPI_MEM_SUPPORT_CHECK_SUS=y -CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192 CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y -CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 -CONFIG_SOC_SYSTIMER_ALARM_NUM=3 -CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 -CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 -CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y -CONFIG_SOC_SYSTIMER_SUPPORT_RC_FAST=y -CONFIG_SOC_SYSTIMER_INT_LEVEL=y -CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y -CONFIG_SOC_SYSTIMER_SUPPORT_ETM=y -CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 -CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 CONFIG_SOC_TIMER_GROUPS=2 -CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=1 -CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 -CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y -CONFIG_SOC_TIMER_GROUP_SUPPORT_RC_FAST=y -CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=2 -CONFIG_SOC_TIMER_SUPPORT_ETM=y -CONFIG_SOC_TIMER_SUPPORT_SLEEP_RETENTION=y -CONFIG_SOC_MWDT_SUPPORT_XTAL=y -CONFIG_SOC_TWAI_CONTROLLER_NUM=2 -CONFIG_SOC_TWAI_CLK_SUPPORT_XTAL=y +CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 +CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64 +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y +CONFIG_SOC_TOUCH_SENSOR_VERSION=1 +CONFIG_SOC_TOUCH_SENSOR_NUM=10 +CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 +CONFIG_SOC_TWAI_CONTROLLER_NUM=1 CONFIG_SOC_TWAI_BRP_MIN=2 -CONFIG_SOC_TWAI_BRP_MAX=32768 -CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y -CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y -CONFIG_SOC_EFUSE_DIS_PAD_JTAG=y -CONFIG_SOC_EFUSE_DIS_USB_JTAG=y -CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y -CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y -CONFIG_SOC_EFUSE_DIS_ICACHE=y -CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y -CONFIG_SOC_SECURE_BOOT_V2_RSA=y -CONFIG_SOC_SECURE_BOOT_V2_ECC=y -CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 -CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y -CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y -CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y -CONFIG_SOC_CRYPTO_DPA_PROTECTION_SUPPORTED=y +CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y +CONFIG_SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT=y CONFIG_SOC_UART_NUM=3 -CONFIG_SOC_UART_HP_NUM=2 -CONFIG_SOC_UART_LP_NUM=1 +CONFIG_SOC_UART_HP_NUM=3 +CONFIG_SOC_UART_SUPPORT_APB_CLK=y +CONFIG_SOC_UART_SUPPORT_REF_TICK=y CONFIG_SOC_UART_FIFO_LEN=128 -CONFIG_SOC_LP_UART_FIFO_LEN=16 CONFIG_SOC_UART_BITRATE_MAX=5000000 -CONFIG_SOC_UART_SUPPORT_PLL_F80M_CLK=y -CONFIG_SOC_UART_SUPPORT_RTC_CLK=y -CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y -CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y -CONFIG_SOC_UART_HAS_LP_UART=y -CONFIG_SOC_UART_SUPPORT_SLEEP_RETENTION=y -CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y -CONFIG_SOC_COEX_HW_PTI=y -CONFIG_SOC_EXTERNAL_COEX_ADVANCE=y +CONFIG_SOC_SPIRAM_SUPPORTED=y +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +CONFIG_SOC_SHA_SUPPORT_PARALLEL_ENG=y +CONFIG_SOC_SHA_ENDIANNESS_BE=y +CONFIG_SOC_SHA_SUPPORT_SHA1=y +CONFIG_SOC_SHA_SUPPORT_SHA256=y +CONFIG_SOC_SHA_SUPPORT_SHA384=y +CONFIG_SOC_SHA_SUPPORT_SHA512=y +CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 +CONFIG_SOC_MPI_OPERATIONS_NUM=y +CONFIG_SOC_RSA_MAX_BIT_LEN=4096 +CONFIG_SOC_AES_SUPPORT_AES_128=y +CONFIG_SOC_AES_SUPPORT_AES_192=y +CONFIG_SOC_AES_SUPPORT_AES_256=y +CONFIG_SOC_SECURE_BOOT_V1=y +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 -CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 -CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_BEACON_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN=y -CONFIG_SOC_PM_SUPPORT_CPU_PD=y -CONFIG_SOC_PM_SUPPORT_MODEM_PD=y -CONFIG_SOC_PM_SUPPORT_XTAL32K_PD=y -CONFIG_SOC_PM_SUPPORT_RC32K_PD=y +CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y +CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y +CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y -CONFIG_SOC_PM_SUPPORT_TOP_PD=y -CONFIG_SOC_PM_SUPPORT_HP_AON_PD=y -CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y -CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y -CONFIG_SOC_PM_SUPPORT_PMU_MODEM_STATE=y -CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y -CONFIG_SOC_PM_CPU_RETENTION_BY_SW=y -CONFIG_SOC_PM_MODEM_RETENTION_BY_REGDMA=y -CONFIG_SOC_PM_RETENTION_HAS_CLOCK_BUG=y -CONFIG_SOC_PM_PAU_LINK_NUM=4 +CONFIG_SOC_PM_SUPPORT_MODEM_PD=y +CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y +CONFIG_SOC_CLK_APLL_SUPPORTED=y +CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y +CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y -CONFIG_SOC_MODEM_CLOCK_IS_INDEPENDENT=y CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y -CONFIG_SOC_CLK_OSC_SLOW_SUPPORTED=y -CONFIG_SOC_CLK_RC32K_SUPPORTED=y -CONFIG_SOC_RCC_IS_INDEPENDENT=y -CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y -CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL=y -CONFIG_SOC_TEMPERATURE_SENSOR_INTR_SUPPORT=y -CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_ETM=y -CONFIG_SOC_RNG_CLOCK_IS_INDEPENDENT=y -CONFIG_SOC_WIFI_HW_TSF=y -CONFIG_SOC_WIFI_FTM_SUPPORT=y -CONFIG_SOC_WIFI_GCMP_SUPPORT=y +CONFIG_SOC_SDMMC_USE_IOMUX=y +CONFIG_SOC_SDMMC_NUM_SLOTS=2 CONFIG_SOC_WIFI_WAPI_SUPPORT=y CONFIG_SOC_WIFI_CSI_SUPPORT=y CONFIG_SOC_WIFI_MESH_SUPPORT=y -CONFIG_SOC_WIFI_HE_SUPPORT=y +CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y +CONFIG_SOC_WIFI_NAN_SUPPORT=y CONFIG_SOC_BLE_SUPPORTED=y CONFIG_SOC_BLE_MESH_SUPPORTED=y -CONFIG_SOC_ESP_NIMBLE_CONTROLLER=y -CONFIG_SOC_BLE_50_SUPPORTED=y -CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y -CONFIG_SOC_BLE_POWER_CONTROL_SUPPORTED=y -CONFIG_SOC_BLE_PERIODIC_ADV_ENH_SUPPORTED=y +CONFIG_SOC_BT_CLASSIC_SUPPORTED=y CONFIG_SOC_BLUFI_SUPPORTED=y -CONFIG_SOC_BLE_MULTI_CONN_OPTIMIZATION=y -CONFIG_SOC_BLE_USE_WIFI_PWR_CLK_WORKAROUND=y +CONFIG_SOC_BT_H2C_ENC_KEY_CTRL_ENH_VSC_SUPPORTED=y +CONFIG_SOC_ULP_HAS_ADC=y CONFIG_SOC_PHY_COMBO_MODULE=y -CONFIG_SOC_CAPS_NO_RESET_BY_ANA_BOD=y -CONFIG_SOC_LP_CORE_SINGLE_INTERRUPT_VECTOR=y -CONFIG_SOC_LP_CORE_SUPPORT_ETM=y +CONFIG_SOC_EMAC_RMII_CLK_OUT_INTERNAL_LOOPBACK=y CONFIG_IDF_CMAKE=y CONFIG_IDF_TOOLCHAIN="gcc" -CONFIG_IDF_TARGET_ARCH_RISCV=y -CONFIG_IDF_TARGET_ARCH="riscv" -CONFIG_IDF_TARGET="esp32c6" +CONFIG_IDF_TARGET_ARCH_XTENSA=y +CONFIG_IDF_TARGET_ARCH="xtensa" +CONFIG_IDF_TARGET="esp32" CONFIG_IDF_INIT_VERSION="5.3.1" -CONFIG_IDF_TARGET_ESP32C6=y -CONFIG_IDF_FIRMWARE_CHIP_ID=0x000D +CONFIG_IDF_TARGET_ESP32=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 # # Build type @@ -390,6 +253,8 @@ CONFIG_APP_BUILD_BOOTLOADER=y CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y # CONFIG_APP_REPRODUCIBLE_BUILD is not set # CONFIG_APP_NO_BLOBS is not set +# CONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set +# CONFIG_APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set # end of Build type # @@ -403,10 +268,11 @@ CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y CONFIG_BOOTLOADER_PROJECT_VER=1 # end of Bootloader manager -CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000 CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set # CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set # CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set # CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set @@ -422,6 +288,7 @@ CONFIG_BOOTLOADER_LOG_LEVEL=3 CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y # end of Serial Flash Configurations +CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y # CONFIG_BOOTLOADER_FACTORY_RESET is not set # CONFIG_BOOTLOADER_APP_TEST is not set CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y @@ -439,13 +306,10 @@ CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 # # Security features # -CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y -CONFIG_SECURE_BOOT_V2_ECC_SUPPORTED=y -CONFIG_SECURE_BOOT_V2_PREFERRED=y +CONFIG_SECURE_BOOT_V1_SUPPORTED=y # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set # CONFIG_SECURE_BOOT is not set # CONFIG_SECURE_FLASH_ENC_ENABLED is not set -CONFIG_SECURE_ROM_DL_MODE_ENABLED=y # end of Security features # @@ -460,40 +324,18 @@ CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 CONFIG_ESP_ROM_HAS_CRC_LE=y CONFIG_ESP_ROM_HAS_CRC_BE=y +CONFIG_ESP_ROM_HAS_MZ_CRC32=y CONFIG_ESP_ROM_HAS_JPEG_DECODE=y -CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y -CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=3 -CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y -CONFIG_ESP_ROM_GET_CLK_FREQ=y -CONFIG_ESP_ROM_HAS_RVFPLIB=y -CONFIG_ESP_ROM_HAS_HAL_WDT=y -CONFIG_ESP_ROM_HAS_HAL_SYSTIMER=y -CONFIG_ESP_ROM_HAS_HEAP_TLSF=y -CONFIG_ESP_ROM_TLSF_CHECK_PATCH=y -CONFIG_ESP_ROM_MULTI_HEAP_WALK_PATCH=y -CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y -CONFIG_ESP_ROM_HAS_SPI_FLASH=y -CONFIG_ESP_ROM_HAS_REGI2C_BUG=y +CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y +CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y CONFIG_ESP_ROM_HAS_NEWLIB=y -CONFIG_ESP_ROM_HAS_NEWLIB_NORMAL_FORMAT=y -CONFIG_ESP_ROM_REV0_HAS_NO_ECDSA_INTERFACE=y -CONFIG_ESP_ROM_WDT_INIT_PATCH=y -CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y -CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y +CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y CONFIG_ESP_ROM_HAS_SW_FLOAT=y CONFIG_ESP_ROM_USB_OTG_NUM=-1 -CONFIG_ESP_ROM_HAS_VERSION=y +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=-1 CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y -# -# Boot ROM Behavior -# -CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y -# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set -# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set -# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set -# end of Boot ROM Behavior - # # Serial flasher config # @@ -506,18 +348,18 @@ CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y CONFIG_ESPTOOLPY_FLASHMODE="dio" CONFIG_ESPTOOLPY_FLASHFREQ_80M=y # CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set # CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set -CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y CONFIG_ESPTOOLPY_FLASHFREQ="80m" # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set -CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y -# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y # CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set -CONFIG_ESPTOOLPY_FLASHSIZE="2MB" +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" # CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set CONFIG_ESPTOOLPY_BEFORE_RESET=y # CONFIG_ESPTOOLPY_BEFORE_NORESET is not set @@ -531,12 +373,12 @@ CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 # # Partition Table # -CONFIG_PARTITION_TABLE_SINGLE_APP=y +# CONFIG_PARTITION_TABLE_SINGLE_APP is not set # CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set # CONFIG_PARTITION_TABLE_TWO_OTA is not set -# CONFIG_PARTITION_TABLE_CUSTOM is not set +CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" -CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv" +CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" CONFIG_PARTITION_TABLE_OFFSET=0x8000 CONFIG_PARTITION_TABLE_MD5=y # end of Partition Table @@ -544,15 +386,14 @@ CONFIG_PARTITION_TABLE_MD5=y # # Compiler options # -CONFIG_COMPILER_OPTIMIZATION_DEBUG=y -# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set +# CONFIG_COMPILER_OPTIMIZATION_DEBUG is not set +CONFIG_COMPILER_OPTIMIZATION_SIZE=y # CONFIG_COMPILER_OPTIMIZATION_PERF is not set # CONFIG_COMPILER_OPTIMIZATION_NONE is not set CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set -# CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB is not set -CONFIG_COMPILER_FLOAT_LIB_FROM_RVFPLIB=y +CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 # CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set CONFIG_COMPILER_HIDE_PATHS_MACROS=y @@ -563,7 +404,6 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y # CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set # CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set # CONFIG_COMPILER_WARN_WRITE_STRINGS is not set -# CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS is not set # CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set # CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set # CONFIG_COMPILER_DUMP_RTL_FILES is not set @@ -592,10 +432,193 @@ CONFIG_APPTRACE_LOCK_ENABLE=y # # Bluetooth # -# CONFIG_BT_ENABLED is not set +CONFIG_BT_ENABLED=y +# CONFIG_BT_BLUEDROID_ENABLED is not set +CONFIG_BT_NIMBLE_ENABLED=y +# CONFIG_BT_CONTROLLER_ONLY is not set +CONFIG_BT_CONTROLLER_ENABLED=y +# CONFIG_BT_CONTROLLER_DISABLED is not set + +# +# NimBLE Options +# +CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y +# CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set +# CONFIG_BT_NIMBLE_LOG_LEVEL_NONE is not set +# CONFIG_BT_NIMBLE_LOG_LEVEL_ERROR is not set +# CONFIG_BT_NIMBLE_LOG_LEVEL_WARNING is not set +CONFIG_BT_NIMBLE_LOG_LEVEL_INFO=y +# CONFIG_BT_NIMBLE_LOG_LEVEL_DEBUG is not set +CONFIG_BT_NIMBLE_LOG_LEVEL=1 +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_BONDS=3 +CONFIG_BT_NIMBLE_MAX_CCCDS=8 +CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM=0 +CONFIG_BT_NIMBLE_PINNED_TO_CORE=0 +CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=4096 +CONFIG_BT_NIMBLE_ROLE_CENTRAL=y +CONFIG_BT_NIMBLE_ROLE_PERIPHERAL=y +CONFIG_BT_NIMBLE_ROLE_BROADCASTER=y +CONFIG_BT_NIMBLE_ROLE_OBSERVER=y +# CONFIG_BT_NIMBLE_NVS_PERSIST is not set +# CONFIG_BT_NIMBLE_SMP_ID_RESET is not set +CONFIG_BT_NIMBLE_SECURITY_ENABLE=y +CONFIG_BT_NIMBLE_SM_LEGACY=y +CONFIG_BT_NIMBLE_SM_SC=y +# CONFIG_BT_NIMBLE_SM_SC_DEBUG_KEYS is not set +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_ENCRYPTION=y +CONFIG_BT_NIMBLE_SM_LVL=0 +# CONFIG_BT_NIMBLE_DEBUG is not set +# CONFIG_BT_NIMBLE_DYNAMIC_SERVICE is not set +CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME="nimble" +CONFIG_BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31 +CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=256 +CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE=0 + +# +# Memory Settings +# +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=24 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=128 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=24 +CONFIG_BT_NIMBLE_MSYS_2_BLOCK_SIZE=320 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=24 +CONFIG_BT_NIMBLE_TRANSPORT_ACL_SIZE=255 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_SIZE=70 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=30 +CONFIG_BT_NIMBLE_TRANSPORT_EVT_DISCARD_COUNT=8 +CONFIG_BT_NIMBLE_L2CAP_COC_SDU_BUFF_COUNT=1 +# end of Memory Settings + +CONFIG_BT_NIMBLE_GATT_MAX_PROCS=4 +# CONFIG_BT_NIMBLE_HS_FLOW_CTRL is not set +CONFIG_BT_NIMBLE_RPA_TIMEOUT=900 +# CONFIG_BT_NIMBLE_MESH is not set +CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y +CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000 +# CONFIG_BT_NIMBLE_HOST_BASED_PRIVACY is not set +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=y +CONFIG_BT_NIMBLE_MAX_CONN_REATTEMPT=3 +CONFIG_BT_NIMBLE_WHITELIST_SIZE=12 +# CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set +# CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set +CONFIG_BT_NIMBLE_USE_ESP_TIMER=y +CONFIG_BT_NIMBLE_LEGACY_VHCI_ENABLE=y +# CONFIG_BT_NIMBLE_BLE_GATT_BLOB_TRANSFER is not set + +# +# GAP Service +# + +# +# GAP Appearance write permissions +# +# CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE is not set +# end of GAP Appearance write permissions + +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM=0 +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ENC=0 +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHN=0 +CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHR=0 +CONFIG_BT_NIMBLE_SVC_GAP_CAR_CHAR_NOT_SUPP=y +# CONFIG_BT_NIMBLE_SVC_GAP_CAR_NOT_SUPP is not set +# CONFIG_BT_NIMBLE_SVC_GAP_CAR_SUPP is not set +CONFIG_BT_NIMBLE_SVC_GAP_CENT_ADDR_RESOLUTION=-1 + +# +# GAP device name write permissions +# +# CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE is not set +# end of GAP device name write permissions + +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM=0 +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_ENC=0 +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHEN=0 +CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHOR=0 +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL=0 +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL=0 +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SLAVE_LATENCY=0 +CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SUPERVISION_TMO=0 +# end of GAP Service + +# +# BLE Services +# +# CONFIG_BT_NIMBLE_HID_SERVICE is not set +# end of BLE Services + +# CONFIG_BT_NIMBLE_VS_SUPPORT is not set +# CONFIG_BT_NIMBLE_ENC_ADV_DATA is not set +# CONFIG_BT_NIMBLE_HIGH_DUTY_ADV_ITVL is not set +# CONFIG_BT_NIMBLE_HOST_QUEUE_CONG_CHECK is not set + +# +# Host-controller Transport +# +CONFIG_UART_HW_FLOWCTRL_DISABLE=y +# CONFIG_UART_HW_FLOWCTRL_CTS_RTS is not set +CONFIG_BT_NIMBLE_HCI_UART_FLOW_CTRL=0 +CONFIG_BT_NIMBLE_HCI_UART_RTS_PIN=19 +CONFIG_BT_NIMBLE_HCI_UART_CTS_PIN=23 +# end of Host-controller Transport +# end of NimBLE Options + +# +# Controller Options +# +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +# CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY is not set +# CONFIG_BTDM_CTRL_MODE_BTDM is not set +CONFIG_BTDM_CTRL_BLE_MAX_CONN=3 +CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=0 +CONFIG_BTDM_CTRL_PCM_ROLE_EFF=0 +CONFIG_BTDM_CTRL_PCM_POLAR_EFF=0 +CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=3 +CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=0 +CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0 +CONFIG_BTDM_CTRL_PINNED_TO_CORE=0 +CONFIG_BTDM_CTRL_HCI_MODE_VHCI=y +# CONFIG_BTDM_CTRL_HCI_MODE_UART_H4 is not set + +# +# MODEM SLEEP Options +# +CONFIG_BTDM_CTRL_MODEM_SLEEP=y +CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_ORIG=y +# CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_EVED is not set +CONFIG_BTDM_CTRL_LPCLK_SEL_MAIN_XTAL=y +# end of MODEM SLEEP Options + +CONFIG_BTDM_BLE_DEFAULT_SCA_250PPM=y +CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1 +CONFIG_BTDM_BLE_SCAN_DUPL=y +CONFIG_BTDM_SCAN_DUPL_TYPE_DEVICE=y +# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA is not set +# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA_DEVICE is not set +CONFIG_BTDM_SCAN_DUPL_TYPE=0 +CONFIG_BTDM_SCAN_DUPL_CACHE_SIZE=100 +CONFIG_BTDM_SCAN_DUPL_CACHE_REFRESH_PERIOD=0 +# CONFIG_BTDM_BLE_MESH_SCAN_DUPL_EN is not set +CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED=y +# CONFIG_BTDM_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set +CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y +CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 +CONFIG_BTDM_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 +CONFIG_BTDM_RESERVE_DRAM=0xdb5c +CONFIG_BTDM_CTRL_HLI=y +# end of Controller Options + +# +# Common Options +# CONFIG_BT_ALARM_MAX_NUM=50 +# end of Common Options + +# CONFIG_BT_HCI_LOG_DEBUG_EN is not set # end of Bluetooth +# CONFIG_BLE_MESH is not set + # # Console Library # @@ -610,20 +633,35 @@ CONFIG_BT_ALARM_MAX_NUM=50 # TWAI Configuration # # CONFIG_TWAI_ISR_IN_IRAM is not set +CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC=y +CONFIG_TWAI_ERRATA_FIX_TX_INTR_LOST=y +CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID=y +CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT=y +CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y # end of TWAI Configuration # # Legacy ADC Driver Configuration # +CONFIG_ADC_DISABLE_DAC=y # CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set # # Legacy ADC Calibration Configuration # +CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y +CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y +CONFIG_ADC_CAL_LUT_ENABLE=y # CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set # end of Legacy ADC Calibration Configuration # end of Legacy ADC Driver Configuration +# +# Legacy DAC Driver Configurations +# +# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy DAC Driver Configurations + # # Legacy MCPWM Driver Configurations # @@ -659,12 +697,6 @@ CONFIG_BT_ALARM_MAX_NUM=50 # # CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set # end of Legacy SDM Driver Configurations - -# -# Legacy Temperature Sensor Driver Configurations -# -# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy Temperature Sensor Driver Configurations # end of Driver Configurations # @@ -672,14 +704,17 @@ CONFIG_BT_ALARM_MAX_NUM=50 # # CONFIG_EFUSE_CUSTOM_TABLE is not set # CONFIG_EFUSE_VIRTUAL is not set -CONFIG_EFUSE_MAX_BLK_LEN=256 +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set +CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set +CONFIG_EFUSE_MAX_BLK_LEN=192 # end of eFuse Bit Manager # # ESP-TLS # CONFIG_ESP_TLS_USING_MBEDTLS=y -CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y +# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set # CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set # CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set @@ -693,6 +728,16 @@ CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y # # CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set # CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set + +# +# ADC Calibration Configurations +# +CONFIG_ADC_CALI_EFUSE_TP_ENABLE=y +CONFIG_ADC_CALI_EFUSE_VREF_ENABLE=y +CONFIG_ADC_CALI_LUT_ENABLE=y +# end of ADC Calibration Configurations + +CONFIG_ADC_DISABLE_DAC_OUTPUT=y # CONFIG_ADC_ENABLE_DEBUG_LOG is not set # end of ADC and ADC Calibration @@ -701,7 +746,6 @@ CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y # CONFIG_ESP_COEX_ENABLED=y CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y -# CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE is not set # CONFIG_ESP_COEX_POWER_MANAGEMENT is not set # end of Wireless Coexistence @@ -711,9 +755,19 @@ CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y CONFIG_ESP_ERR_TO_NAME_LOOKUP=y # end of Common ESP-related +# +# ESP-Driver:DAC Configurations +# +# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set +# CONFIG_DAC_ISR_IRAM_SAFE is not set +# CONFIG_DAC_ENABLE_DEBUG_LOG is not set +CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y +# end of ESP-Driver:DAC Configurations + # # ESP-Driver:GPIO Configurations # +# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set # CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set # end of ESP-Driver:GPIO Configurations @@ -754,13 +808,6 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:MCPWM Configurations -# -# ESP-Driver:Parallel IO Configurations -# -# CONFIG_PARLIO_ENABLE_DEBUG_LOG is not set -# CONFIG_PARLIO_ISR_IRAM_SAFE is not set -# end of ESP-Driver:Parallel IO Configurations - # # ESP-Driver:PCNT Configurations # @@ -787,18 +834,18 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # # ESP-Driver:SPI Configurations # -# CONFIG_SPI_MASTER_IN_IRAM is not set CONFIG_SPI_MASTER_ISR_IN_IRAM=y # CONFIG_SPI_SLAVE_IN_IRAM is not set CONFIG_SPI_SLAVE_ISR_IN_IRAM=y # end of ESP-Driver:SPI Configurations # -# ESP-Driver:Temperature Sensor Configurations +# ESP-Driver:Touch Sensor Configurations # -# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set -# CONFIG_TEMP_SENSOR_ISR_IRAM_SAFE is not set -# end of ESP-Driver:Temperature Sensor Configurations +# CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set +# CONFIG_TOUCH_ISR_IRAM_SAFE is not set +# CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Touch Sensor Configurations # # ESP-Driver:UART Configurations @@ -806,16 +853,19 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y # CONFIG_UART_ISR_IN_IRAM is not set # end of ESP-Driver:UART Configurations -# -# ESP-Driver:USB Serial/JTAG Configuration -# -CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y -# end of ESP-Driver:USB Serial/JTAG Configuration - # # Ethernet # CONFIG_ETH_ENABLED=y +CONFIG_ETH_USE_ESP32_EMAC=y +CONFIG_ETH_PHY_INTERFACE_RMII=y +CONFIG_ETH_RMII_CLK_INPUT=y +# CONFIG_ETH_RMII_CLK_OUTPUT is not set +CONFIG_ETH_RMII_CLK_IN_GPIO=0 +CONFIG_ETH_DMA_BUFFER_SIZE=512 +CONFIG_ETH_DMA_RX_BUFFER_NUM=10 +CONFIG_ETH_DMA_TX_BUFFER_NUM=10 +# CONFIG_ETH_IRAM_OPTIMIZATION is not set CONFIG_ETH_USE_SPI_ETHERNET=y # CONFIG_ETH_SPI_ETHERNET_DM9051 is not set # CONFIG_ETH_SPI_ETHERNET_W5500 is not set @@ -882,16 +932,21 @@ CONFIG_HTTPD_PURGE_BUF_LEN=32 # # Chip revision # -CONFIG_ESP32C6_REV_MIN_0=y -# CONFIG_ESP32C6_REV_MIN_1 is not set -CONFIG_ESP32C6_REV_MIN_FULL=0 +CONFIG_ESP32_REV_MIN_0=y +# CONFIG_ESP32_REV_MIN_1 is not set +# CONFIG_ESP32_REV_MIN_1_1 is not set +# CONFIG_ESP32_REV_MIN_2 is not set +# CONFIG_ESP32_REV_MIN_3 is not set +# CONFIG_ESP32_REV_MIN_3_1 is not set +CONFIG_ESP32_REV_MIN=0 +CONFIG_ESP32_REV_MIN_FULL=0 CONFIG_ESP_REV_MIN_FULL=0 # -# Maximum Supported ESP32-C6 Revision (Rev v0.99) +# Maximum Supported ESP32 Revision (Rev v3.99) # -CONFIG_ESP32C6_REV_MAX_FULL=99 -CONFIG_ESP_REV_MAX_FULL=99 +CONFIG_ESP32_REV_MAX_FULL=399 +CONFIG_ESP_REV_MAX_FULL=399 # end of Chip revision # @@ -901,12 +956,12 @@ CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y -CONFIG_ESP_MAC_ADDR_UNIVERSE_IEEE802154=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 -# CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_TWO is not set -CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_FOUR=y -CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR is not set # CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set # end of MAC Config @@ -916,6 +971,7 @@ CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES=4 # CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y # CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set +CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0 # CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set @@ -929,7 +985,7 @@ CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y CONFIG_RTC_CLK_SRC_INT_RC=y # CONFIG_RTC_CLK_SRC_EXT_CRYS is not set # CONFIG_RTC_CLK_SRC_EXT_OSC is not set -# CONFIG_RTC_CLK_SRC_INT_RC32K is not set +# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set CONFIG_RTC_CLK_CAL_CYCLES=1024 # end of RTC Clock Config @@ -939,37 +995,15 @@ CONFIG_RTC_CLK_CAL_CYCLES=1024 CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y # end of Peripheral Control -# -# ETM Configuration -# -# CONFIG_ETM_ENABLE_DEBUG_LOG is not set -# end of ETM Configuration - -# -# GDMA Configurations -# -CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y -# CONFIG_GDMA_ISR_IRAM_SAFE is not set -# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set -# end of GDMA Configurations - # # Main XTAL Config # +# CONFIG_XTAL_FREQ_26 is not set CONFIG_XTAL_FREQ_40=y +# CONFIG_XTAL_FREQ_AUTO is not set CONFIG_XTAL_FREQ=40 # end of Main XTAL Config -# -# Crypto DPA Protection -# -CONFIG_ESP_CRYPTO_DPA_PROTECTION_AT_STARTUP=y -CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_LOW=y -# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_MEDIUM is not set -# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_HIGH is not set -CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL=1 -# end of Crypto DPA Protection - CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y # end of Hardware Settings @@ -984,6 +1018,7 @@ CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y # # LCD Peripheral Configuration # +CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 # CONFIG_LCD_ENABLE_DEBUG_LOG is not set # end of LCD Peripheral Configuration # end of LCD and Touch Panel @@ -1026,13 +1061,13 @@ CONFIG_ESP_PHY_CALIBRATION_MODE=0 # # CONFIG_PM_ENABLE is not set CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y -CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y -# CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP is not set # end of Power Management # # ESP PSRAM # +# CONFIG_SPIRAM is not set +# end of ESP PSRAM # # ESP Ringbuf @@ -1044,9 +1079,31 @@ CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y # ESP System Settings # # CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_120 is not set CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 + +# +# Memory +# +# CONFIG_ESP32_RTCDATA_IN_FAST_MEM is not set +# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set +# CONFIG_ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY is not set + +# +# Non-backward compatible options +# +# CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM is not set +# end of Non-backward compatible options +# end of Memory + +# +# Trace memory +# +# CONFIG_ESP32_TRAX is not set +CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 +# end of Trace memory + # CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y # CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set @@ -1055,12 +1112,10 @@ CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y -# CONFIG_ESP_SYSTEM_USE_EH_FRAME is not set # # Memory protection # -CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT=y # end of Memory protection CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 @@ -1071,12 +1126,8 @@ CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 CONFIG_ESP_CONSOLE_UART_DEFAULT=y -# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set # CONFIG_ESP_CONSOLE_UART_CUSTOM is not set # CONFIG_ESP_CONSOLE_NONE is not set -# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set -CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y -CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y CONFIG_ESP_CONSOLE_UART=y CONFIG_ESP_CONSOLE_UART_NUM=0 CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 @@ -1091,25 +1142,25 @@ CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y # CONFIG_ESP_PANIC_HANDLER_IRAM is not set # CONFIG_ESP_DEBUG_STUBS_ENABLE is not set CONFIG_ESP_DEBUG_OCDAWARE=y -CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5=y # # Brownout Detector # CONFIG_ESP_BROWNOUT_DET=y -CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y CONFIG_ESP_BROWNOUT_DET_LVL=7 # end of Brownout Detector +# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y -CONFIG_ESP_SYSTEM_HW_STACK_GUARD=y -CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y -CONFIG_ESP_SYSTEM_HW_PC_RECORD=y # end of ESP System Settings # @@ -1131,7 +1182,7 @@ CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y # CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set -CONFIG_ESP_TIMER_IMPL_SYSTIMER=y +CONFIG_ESP_TIMER_IMPL_TG0_LAC=y # end of ESP Timer (High Resolution Timer) # @@ -1167,25 +1218,20 @@ CONFIG_ESP_WIFI_SLP_IRAM_OPT=y CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 -# CONFIG_ESP_WIFI_FTM_ENABLE is not set CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y -# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set CONFIG_ESP_WIFI_GMAC_SUPPORT=y CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y # CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 +# CONFIG_ESP_WIFI_NAN_ENABLE is not set CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y # CONFIG_ESP_WIFI_WAPI_PSK is not set -# CONFIG_ESP_WIFI_SUITE_B_192 is not set # CONFIG_ESP_WIFI_11KV_SUPPORT is not set # CONFIG_ESP_WIFI_MBO_SUPPORT is not set # CONFIG_ESP_WIFI_DPP_SUPPORT is not set # CONFIG_ESP_WIFI_11R_SUPPORT is not set # CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set -# CONFIG_ESP_WIFI_ENABLE_WIFI_TX_STATS is not set -# CONFIG_ESP_WIFI_ENABLE_WIFI_RX_STATS is not set -CONFIG_ESP_WIFI_TX_HETB_QUEUE_NUM=3 # # WPS Configuration Options @@ -1212,8 +1258,8 @@ CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y # FAT Filesystem support # CONFIG_FATFS_VOLUME_COUNT=2 -CONFIG_FATFS_LFN_NONE=y -# CONFIG_FATFS_LFN_HEAP is not set +# CONFIG_FATFS_LFN_NONE is not set +CONFIG_FATFS_LFN_HEAP=y # CONFIG_FATFS_LFN_STACK is not set # CONFIG_FATFS_SECTOR_512 is not set CONFIG_FATFS_SECTOR_4096=y @@ -1240,6 +1286,9 @@ CONFIG_FATFS_CODEPAGE_437=y # CONFIG_FATFS_CODEPAGE_949 is not set # CONFIG_FATFS_CODEPAGE_950 is not set CONFIG_FATFS_CODEPAGE=437 +CONFIG_FATFS_MAX_LFN=255 +CONFIG_FATFS_API_ENCODING_ANSI_OEM=y +# CONFIG_FATFS_API_ENCODING_UTF_8 is not set CONFIG_FATFS_FS_LOCK=0 CONFIG_FATFS_TIMEOUT_MS=10000 CONFIG_FATFS_PER_FILE_CACHE=y @@ -1288,7 +1337,6 @@ CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 # # Port # -CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y # CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y # CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set @@ -1296,11 +1344,12 @@ CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y CONFIG_FREERTOS_ISR_STACKSIZE=1536 CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y -CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y -CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y -# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set -CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y -# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set +# CONFIG_FREERTOS_FPU_IN_ISR is not set +CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y +CONFIG_FREERTOS_CORETIMER_0=y +# CONFIG_FREERTOS_CORETIMER_1 is not set +CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y +CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set # end of Port @@ -1321,8 +1370,6 @@ CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y # CONFIG_HAL_ASSERTION_SILENT is not set # CONFIG_HAL_ASSERTION_ENABLE is not set CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 -CONFIG_HAL_SYSTIMER_USE_ROM_IMPL=y -CONFIG_HAL_WDT_USE_ROM_IMPL=y CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y # end of Hardware Abstraction Layer (HAL) and Low Level (LL) @@ -1339,26 +1386,9 @@ CONFIG_HEAP_TRACING_OFF=y # CONFIG_HEAP_USE_HOOKS is not set # CONFIG_HEAP_TASK_TRACKING is not set # CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set -CONFIG_HEAP_TLSF_USE_ROM_IMPL=y +# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set # end of Heap memory debugging -# -# IEEE 802.15.4 -# -CONFIG_IEEE802154_ENABLED=y -CONFIG_IEEE802154_RX_BUFFER_SIZE=20 -# CONFIG_IEEE802154_CCA_CARRIER is not set -CONFIG_IEEE802154_CCA_ED=y -# CONFIG_IEEE802154_CCA_CARRIER_OR_ED is not set -# CONFIG_IEEE802154_CCA_CARRIER_AND_ED is not set -CONFIG_IEEE802154_CCA_MODE=1 -CONFIG_IEEE802154_CCA_THRESHOLD=-60 -CONFIG_IEEE802154_PENDING_TABLE_SIZE=20 -# CONFIG_IEEE802154_MULTI_PAN_ENABLE is not set -# CONFIG_IEEE802154_TIMING_OPTIMIZATION is not set -# CONFIG_IEEE802154_DEBUG is not set -# end of IEEE 802.15.4 - # # Log output # @@ -1590,16 +1620,10 @@ CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 # CONFIG_MBEDTLS_ECP_RESTARTABLE is not set CONFIG_MBEDTLS_CMAC_C=y CONFIG_MBEDTLS_HARDWARE_AES=y -CONFIG_MBEDTLS_AES_USE_INTERRUPT=y -CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y CONFIG_MBEDTLS_HARDWARE_MPI=y CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y -CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y -CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_HARDWARE_SHA=y -CONFIG_MBEDTLS_HARDWARE_ECC=y -CONFIG_MBEDTLS_ECC_OTHER_CURVES_SOFT_FALLBACK=y CONFIG_MBEDTLS_ROM_MD5=y # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set # CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set @@ -1721,7 +1745,6 @@ CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y # # NVS # -# CONFIG_NVS_ENCRYPTION is not set # CONFIG_NVS_ASSERT_ERROR_CHECK is not set # CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set # end of NVS @@ -1774,9 +1797,9 @@ CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" # # MMU Config # -CONFIG_MMU_PAGE_SIZE_32KB=y -CONFIG_MMU_PAGE_MODE="32KB" -CONFIG_MMU_PAGE_SIZE=0x8000 +CONFIG_MMU_PAGE_SIZE_64KB=y +CONFIG_MMU_PAGE_MODE="64KB" +CONFIG_MMU_PAGE_SIZE=0x10000 # end of MMU Config # @@ -1807,10 +1830,10 @@ CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 # CONFIG_SPI_FLASH_VERIFY_WRITE is not set # CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y -# CONFIG_SPI_FLASH_ROM_IMPL is not set CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y # CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set # CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set # CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 @@ -1824,6 +1847,10 @@ CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 # Auto-detect flash chips # CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y # CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_GD_CHIP is not set @@ -1938,7 +1965,10 @@ CONFIG_WL_SECTOR_SIZE=4096 # CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 +# CONFIG_WIFI_PROV_BLE_BONDING is not set +CONFIG_WIFI_PROV_BLE_SEC_CONN=y # CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set +# CONFIG_WIFI_PROV_KEEP_BLE_ON_AFTER_PROV is not set CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y # CONFIG_WIFI_PROV_STA_FAST_SCAN is not set # end of Wi-Fi Provisioning Manager @@ -1957,7 +1987,7 @@ CONFIG_LV_COLOR_DEPTH_16=y # CONFIG_LV_COLOR_DEPTH_8 is not set # CONFIG_LV_COLOR_DEPTH_1 is not set CONFIG_LV_COLOR_DEPTH=16 -# CONFIG_LV_COLOR_16_SWAP is not set +CONFIG_LV_COLOR_16_SWAP=y # CONFIG_LV_COLOR_SCREEN_TRANSP is not set CONFIG_LV_COLOR_MIX_ROUND_OFS=128 CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 @@ -2059,14 +2089,14 @@ CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 # Enable built-in fonts # # CONFIG_LV_FONT_MONTSERRAT_8 is not set -# CONFIG_LV_FONT_MONTSERRAT_10 is not set -# CONFIG_LV_FONT_MONTSERRAT_12 is not set +CONFIG_LV_FONT_MONTSERRAT_10=y +CONFIG_LV_FONT_MONTSERRAT_12=y CONFIG_LV_FONT_MONTSERRAT_14=y -# CONFIG_LV_FONT_MONTSERRAT_16 is not set -# CONFIG_LV_FONT_MONTSERRAT_18 is not set +CONFIG_LV_FONT_MONTSERRAT_16=y +CONFIG_LV_FONT_MONTSERRAT_18=y # CONFIG_LV_FONT_MONTSERRAT_20 is not set # CONFIG_LV_FONT_MONTSERRAT_22 is not set -# CONFIG_LV_FONT_MONTSERRAT_24 is not set +CONFIG_LV_FONT_MONTSERRAT_24=y # CONFIG_LV_FONT_MONTSERRAT_26 is not set # CONFIG_LV_FONT_MONTSERRAT_28 is not set # CONFIG_LV_FONT_MONTSERRAT_30 is not set @@ -2234,7 +2264,7 @@ CONFIG_LV_USE_SNAPSHOT=y # # Examples # -CONFIG_LV_BUILD_EXAMPLES=y +# CONFIG_LV_BUILD_EXAMPLES is not set # end of Examples # @@ -2272,8 +2302,8 @@ CONFIG_LV_PREDEFINED_DISPLAY_NONE=y # CONFIG_LV_PREDEFINED_DISPLAY_WT32_SC01 is not set CONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9341=y CONFIG_LV_TFT_DISPLAY_PROTOCOL_SPI=y -CONFIG_LV_HOR_RES_MAX=128 -CONFIG_LV_VER_RES_MAX=64 +CONFIG_LV_HOR_RES_MAX=240 +CONFIG_LV_VER_RES_MAX=320 CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT=y # CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT_INVERTED is not set # CONFIG_LV_DISPLAY_ORIENTATION_LANDSCAPE is not set @@ -2310,44 +2340,94 @@ CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_SIO=y # CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_QIO is not set CONFIG_LV_TFT_DISPLAY_SPI_HALF_DUPLEX=y # CONFIG_LV_TFT_DISPLAY_SPI_FULL_DUPLEX is not set -# CONFIG_LV_TFT_USE_CUSTOM_SPI_CLK_DIVIDER is not set +CONFIG_LV_TFT_USE_CUSTOM_SPI_CLK_DIVIDER=y +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_1 is not set +CONFIG_LV_TFT_SPI_CLK_DIVIDER_2=y +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_3 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_4 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_5 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_6 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_7 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_8 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_9 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_10 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_12 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_16 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_20 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_24 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_32 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_40 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_48 is not set +# CONFIG_LV_TFT_SPI_CLK_DIVIDER_80 is not set CONFIG_LV_TFT_CUSTOM_SPI_CLK_DIVIDER=2 # CONFIG_LV_INVERT_COLORS is not set # # Display Pin Assignments # -CONFIG_LV_DISP_SPI_MOSI=13 -# CONFIG_LV_DISPLAY_USE_SPI_MISO is not set -CONFIG_LV_DISP_SPI_CLK=14 +CONFIG_LV_DISP_SPI_MOSI=23 +CONFIG_LV_DISPLAY_USE_SPI_MISO=y +CONFIG_LV_DISP_SPI_MISO=19 +CONFIG_LV_DISP_SPI_INPUT_DELAY_NS=0 +CONFIG_LV_DISP_SPI_CLK=18 CONFIG_LV_DISPLAY_USE_SPI_CS=y -CONFIG_LV_DISP_SPI_CS=15 +CONFIG_LV_DISP_SPI_CS=17 CONFIG_LV_DISPLAY_USE_DC=y -CONFIG_LV_DISP_PIN_DC=2 +CONFIG_LV_DISP_PIN_DC=16 CONFIG_LV_DISP_USE_RST=y -CONFIG_LV_DISP_PIN_RST=4 +CONFIG_LV_DISP_PIN_RST=5 +CONFIG_LV_DISP_PIN_BUSY=35 # end of Display Pin Assignments # CONFIG_LV_DISP_BACKLIGHT_OFF is not set CONFIG_LV_DISP_BACKLIGHT_SWITCH=y # CONFIG_LV_DISP_BACKLIGHT_PWM is not set -# CONFIG_LV_BACKLIGHT_ACTIVE_LVL is not set -CONFIG_LV_DISP_PIN_BCKL=-1 +CONFIG_LV_BACKLIGHT_ACTIVE_LVL=y +CONFIG_LV_DISP_PIN_BCKL=32 CONFIG_LV_I2C_DISPLAY_PORT=0 # end of LVGL TFT Display controller # # LVGL Touch controller # -CONFIG_LV_TOUCH_CONTROLLER=0 -CONFIG_LV_TOUCH_CONTROLLER_NONE=y -# CONFIG_LV_TOUCH_CONTROLLER_XPT2046 is not set +CONFIG_LV_TOUCH_CONTROLLER=1 +# CONFIG_LV_TOUCH_CONTROLLER_NONE is not set +CONFIG_LV_TOUCH_CONTROLLER_XPT2046=y # CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set # CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set # CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set # CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set # CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set # CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set +CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI=y +# CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST is not set +CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST=y + +# +# Touchpanel (XPT2046) Pin Assignments +# +CONFIG_LV_TOUCH_SPI_MISO=19 +CONFIG_LV_TOUCH_SPI_MOSI=23 +CONFIG_LV_TOUCH_SPI_CLK=18 +CONFIG_LV_TOUCH_SPI_CS=5 +CONFIG_LV_TOUCH_PIN_IRQ=25 +# end of Touchpanel (XPT2046) Pin Assignments + +# +# Touchpanel Configuration (XPT2046) +# +CONFIG_LV_TOUCH_X_MIN=200 +CONFIG_LV_TOUCH_Y_MIN=120 +CONFIG_LV_TOUCH_X_MAX=1900 +CONFIG_LV_TOUCH_Y_MAX=1900 +CONFIG_LV_TOUCH_XY_SWAP=y +CONFIG_LV_TOUCH_INVERT_X=y +# CONFIG_LV_TOUCH_INVERT_Y is not set +# CONFIG_LV_TOUCH_DETECT_IRQ is not set +CONFIG_LV_TOUCH_DETECT_IRQ_PRESSURE=y +# CONFIG_LV_TOUCH_DETECT_PRESSURE is not set +# end of Touchpanel Configuration (XPT2046) + CONFIG_LV_I2C_TOUCH_PORT=0 # end of LVGL Touch controller # end of LVGL ESP Drivers From 92b121b6c3ffa545c711ae51dd2d3fb99496a6ba Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Thu, 31 Oct 2024 00:31:30 -0600 Subject: [PATCH 40/58] Cmake --- .github/workflows/compile_generics.yml | 27 ++++++++++++++++++++++++++ CMakeLists.txt | 8 ++++++++ 2 files changed, 35 insertions(+) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 634a8a3d..58f6fa14 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -187,6 +187,33 @@ jobs: --data-binary @"$zip_file" \ "https://uploads.github.com/repos/${{ github.repository }}/releases/$release_id/assets?name=$(basename $zip_file)" + + - name: Install rclone + run: | + curl -fsSL https://rclone.org/install.sh | sudo bash + + - name: Configure rclone for Cloudflare R2 + env: + R2_ACCESS_KEY: ${{ secrets.R2_ACCESS_KEY }} + R2_SECRET_KEY: ${{ secrets.R2_SECRET_KEY }} + run: | + # Create rclone configuration file + mkdir -p ~/.config/rclone + echo "[cloudflare_r2]" > ~/.config/rclone/rclone.conf + echo "type = s3" >> ~/.config/rclone/rclone.conf + echo "provider = Cloudflare" >> ~/.config/rclone/rclone.conf + echo "access_key_id = $R2_ACCESS_KEY" >> ~/.config/rclone/rclone.conf + echo "secret_access_key = $R2_SECRET_KEY" >> ~/.config/rclone/rclone.conf + echo "endpoint = https://fb5f7d31bedfe4f3538ddfa6db491962.r2.cloudflarestorage.com" >> ~/.config/rclone/rclone.conf + + - name: Upload Artifacts to Cloudflare R2 + env: + R2_BUCKET: "spooksapi" + R2_PATH: "GhostESPBins" + run: | + rclone copy packaged_artifacts "cloudflare_r2:${R2_BUCKET}/${R2_PATH}" --progress + + - name: Notify Discord of Successful Release if: success() env: diff --git a/CMakeLists.txt b/CMakeLists.txt index aa938e1c..043b3329 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,13 @@ cmake_minimum_required(VERSION 3.16.0) +# Set IDF_TARGET from environment variable if defined +if(DEFINED ENV{IDF_TARGET}) + set(IDF_TARGET $ENV{IDF_TARGET}) + message(STATUS "Setting IDF_TARGET to ${IDF_TARGET} from environment variable") +else() + message(FATAL_ERROR "IDF_TARGET environment variable is not defined. Please set it before building.") +endif() + # Partition table settings set(PARTITION_TABLE_CUSTOM_FILENAME "partitions/min_spiffs.csv") set(PARTITION_TABLE_CUSTOM_PARTITION_FILENAME "partitions/min_spiffs.csv") From e6ccc7ddae701baad42b785b4e7d338f9d32ed7a Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Thu, 31 Oct 2024 01:04:16 -0600 Subject: [PATCH 41/58] Changes --- .github/workflows/compile_generics.yml | 5 ++++- CMakeLists.txt | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 58f6fa14..ee3bcd30 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -123,13 +123,16 @@ jobs: idf.py fullclean - name: Set Target Environment Variable - run: echo "IDF_TARGET=${{ matrix.target.idf_target }}" >> $GITHUB_ENV + run: echo "IDF_TARGET_SPOOKY=${{ matrix.target.idf_target }}" >> $GITHUB_ENV - name: Build Project run: | . ~/esp-idf/export.sh idf.py build + - name: Verify IDF_TARGET + run: echo "IDF_TARGET is set to $IDF_TARGET" + - name: Package Build Artifacts run: | . ~/esp-idf/export.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index 043b3329..7b139d8e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,9 +1,9 @@ cmake_minimum_required(VERSION 3.16.0) # Set IDF_TARGET from environment variable if defined -if(DEFINED ENV{IDF_TARGET}) - set(IDF_TARGET $ENV{IDF_TARGET}) - message(STATUS "Setting IDF_TARGET to ${IDF_TARGET} from environment variable") +if(DEFINED ENV{IDF_TARGET_SPOOKY}) + set(IDF_TARGET $ENV{IDF_TARGET_SPOOKY}) + message(STATUS "Setting IDF_TARGET to ${IDF_TARGET_SPOOKY} from environment variable") else() message(FATAL_ERROR "IDF_TARGET environment variable is not defined. Please set it before building.") endif() From 20682ee6cc7829b9ae9731ba6e7c736d3e6ad1a1 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Thu, 31 Oct 2024 01:13:08 -0600 Subject: [PATCH 42/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index ee3bcd30..2840d47e 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -125,6 +125,9 @@ jobs: - name: Set Target Environment Variable run: echo "IDF_TARGET_SPOOKY=${{ matrix.target.idf_target }}" >> $GITHUB_ENV + - name: Set Actual Target + run: echo "IDF_TARGET=${{ matrix.target.idf_target }}" >> $GITHUB_ENV + - name: Build Project run: | . ~/esp-idf/export.sh From 3fa8051bf1d502e77eb94d71521375187b58d61b Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Thu, 31 Oct 2024 01:28:31 -0600 Subject: [PATCH 43/58] Update compile_generics.yml --- .github/workflows/compile_generics.yml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 2840d47e..3d95d856 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -117,20 +117,19 @@ jobs: echo "Crowtech_LCD=1" >> $GITHUB_ENV fi - - name: Clean Build Environment - run: | - . ~/esp-idf/export.sh - idf.py fullclean - - name: Set Target Environment Variable run: echo "IDF_TARGET_SPOOKY=${{ matrix.target.idf_target }}" >> $GITHUB_ENV - - name: Set Actual Target - run: echo "IDF_TARGET=${{ matrix.target.idf_target }}" >> $GITHUB_ENV - - - name: Build Project + - name: Set up ESP-IDF and Target run: | . ~/esp-idf/export.sh + echo "IDF_TARGET=${{ matrix.target.idf_target }}" >> $GITHUB_ENV + export IDF_TARGET=${{ matrix.target.idf_target }} + echo "IDF_TARGET is set to $IDF_TARGET" + + - name: Build Project + run: | + . ~/esp-idf/export.sh # Re-source to confirm environment idf.py build - name: Verify IDF_TARGET From 0f56367442e48600c24246752a7ee5c8f583cf4d Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Thu, 31 Oct 2024 01:44:33 -0600 Subject: [PATCH 44/58] update bootloader bug --- .github/workflows/compile_generics.yml | 51 ++++++++++---------------- 1 file changed, 19 insertions(+), 32 deletions(-) diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 3d95d856..1a16ce57 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -32,10 +32,6 @@ jobs: - { name: "AwokMini", idf_target: "esp32", led: false, screen_support: true, input_type: "joystick", sdkconfig_file: "configs/sdkconfig.awokmini", zip_name: "AwokMini.zip", screen_width: 128, screen_height: 128 } - { name: "ESP32-S3-Cardputer", idf_target: "esp32s3", led: false, screen_support: true, input_type: "cardputer", sdkconfig_file: "configs/sdkconfig.default.esp32s3", zip_name: "ESP32-S3-Cardputer.zip", screen_width: 240, screen_height: 135 } - # CYD (Cheap Yellow Display) with touch screen - #- { name: "CYD-1", idf_target: "esp32", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig_cyd_1", zip_name: "CYD-1.zip", screen_width: 240, screen_height: 320 } - #- { name: "CYD-2", idf_target: "esp32", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig_cyd_2", zip_name: "CYD-2.zip", screen_width: 240, screen_height: 320 } - # 7-inch boards - { name: "Waveshare_LCD", idf_target: "esp32s3", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig.waveshare7inch", zip_name: "Waveshare_LCD.zip", screen_width: 800, screen_height: 480, use_7_incher: true, waveshare_lcd: true } - { name: "Crowtech_LCD", idf_target: "esp32s3", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig.crowtech7inch", zip_name: "Crowtech_LCD.zip", screen_width: 800, screen_height: 480, use_7_incher: true, crowtech_lcd: true } @@ -72,13 +68,11 @@ jobs: - name: Apply Custom SDK Config run: | DEST_FILE="sdkconfig" - - echo "Applying SDK Config: ${{matrix.target.sdkconfig_file}} to $DEST_FILE" - - if [ -f "${{matrix.target.sdkconfig_file}}" ]; then - cp "${{matrix.target.sdkconfig_file}}" "$DEST_FILE" + echo "Applying SDK Config: ${{ matrix.target.sdkconfig_file }} to $DEST_FILE" + if [ -f "${{ matrix.target.sdkconfig_file }}" ]; then + cp "${{ matrix.target.sdkconfig_file }}" "$DEST_FILE" else - echo "Error: Source config file ${{matrix.target.sdkconfig_file}} does not exist." + echo "Error: Source config file ${{ matrix.target.sdkconfig_file }} does not exist." exit 1 fi @@ -117,51 +111,47 @@ jobs: echo "Crowtech_LCD=1" >> $GITHUB_ENV fi - - name: Set Target Environment Variable - run: echo "IDF_TARGET_SPOOKY=${{ matrix.target.idf_target }}" >> $GITHUB_ENV - - name: Set up ESP-IDF and Target run: | . ~/esp-idf/export.sh echo "IDF_TARGET=${{ matrix.target.idf_target }}" >> $GITHUB_ENV export IDF_TARGET=${{ matrix.target.idf_target }} echo "IDF_TARGET is set to $IDF_TARGET" - + - name: Build Project run: | - . ~/esp-idf/export.sh # Re-source to confirm environment + . ~/esp-idf/export.sh idf.py build - - name: Verify IDF_TARGET - run: echo "IDF_TARGET is set to $IDF_TARGET" + - name: Download Correct Bootloader + run: | + BOOTLOADER_URL="https://cdn.spookytools.com/bootloaders/${{ matrix.target.idf_target }}.bin" + BOOTLOADER_PATH="packaged_artifacts/bootloader.bin" + echo "Downloading bootloader from $BOOTLOADER_URL" + mkdir -p packaged_artifacts + curl -L -o "$BOOTLOADER_PATH" "$BOOTLOADER_URL" + if [ ! -f "$BOOTLOADER_PATH" ]; then + echo "Error: Bootloader could not be downloaded from $BOOTLOADER_URL" + exit 1 + else + echo "Bootloader downloaded successfully to $BOOTLOADER_PATH" + fi - name: Package Build Artifacts run: | . ~/esp-idf/export.sh - mkdir -p packaged_artifacts - BOOTLOADER_BIN=build/bootloader/bootloader.bin PARTITION_TABLE_BIN=build/partition_table/partition-table.bin GHOST_ESP_IDF_BIN=build/Ghost_ESP_IDF.bin - - if [ ! -f "$BOOTLOADER_BIN" ]; then - echo "Error: $BOOTLOADER_BIN not found!" - exit 1 - fi - if [ ! -f "$PARTITION_TABLE_BIN" ]; then echo "Error: $PARTITION_TABLE_BIN not found!" exit 1 fi - if [ ! -f "$GHOST_ESP_IDF_BIN" ]; then echo "Error: $GHOST_ESP_IDF_BIN not found!" exit 1 fi - - cp "$BOOTLOADER_BIN" packaged_artifacts/ cp "$PARTITION_TABLE_BIN" packaged_artifacts/ cp "$GHOST_ESP_IDF_BIN" packaged_artifacts/ - ZIP_NAME="${{ matrix.target.zip_name }}" cd packaged_artifacts zip "$ZIP_NAME" bootloader.bin partition-table.bin Ghost_ESP_IDF.bin @@ -191,7 +181,6 @@ jobs: -H "Content-Type: application/zip" \ --data-binary @"$zip_file" \ "https://uploads.github.com/repos/${{ github.repository }}/releases/$release_id/assets?name=$(basename $zip_file)" - - name: Install rclone run: | @@ -202,7 +191,6 @@ jobs: R2_ACCESS_KEY: ${{ secrets.R2_ACCESS_KEY }} R2_SECRET_KEY: ${{ secrets.R2_SECRET_KEY }} run: | - # Create rclone configuration file mkdir -p ~/.config/rclone echo "[cloudflare_r2]" > ~/.config/rclone/rclone.conf echo "type = s3" >> ~/.config/rclone/rclone.conf @@ -218,7 +206,6 @@ jobs: run: | rclone copy packaged_artifacts "cloudflare_r2:${R2_BUCKET}/${R2_PATH}" --progress - - name: Notify Discord of Successful Release if: success() env: From c41d2651aff360fc1546522be6ddfad79a60df81 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Thu, 31 Oct 2024 01:50:47 -0600 Subject: [PATCH 45/58] Update CMakeLists.txt --- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7b139d8e..043b3329 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,9 +1,9 @@ cmake_minimum_required(VERSION 3.16.0) # Set IDF_TARGET from environment variable if defined -if(DEFINED ENV{IDF_TARGET_SPOOKY}) - set(IDF_TARGET $ENV{IDF_TARGET_SPOOKY}) - message(STATUS "Setting IDF_TARGET to ${IDF_TARGET_SPOOKY} from environment variable") +if(DEFINED ENV{IDF_TARGET}) + set(IDF_TARGET $ENV{IDF_TARGET}) + message(STATUS "Setting IDF_TARGET to ${IDF_TARGET} from environment variable") else() message(FATAL_ERROR "IDF_TARGET environment variable is not defined. Please set it before building.") endif() From 2ca49b43c4ef5b0c64d6f43a2f08a7c6a97379e0 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Thu, 31 Oct 2024 02:35:56 -0600 Subject: [PATCH 46/58] possible fix --- configs/sdkconfig.marauderv6 | 4 ++-- sdkconfig | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configs/sdkconfig.marauderv6 b/configs/sdkconfig.marauderv6 index 54729582..124c8ea1 100644 --- a/configs/sdkconfig.marauderv6 +++ b/configs/sdkconfig.marauderv6 @@ -2400,8 +2400,8 @@ CONFIG_LV_TOUCH_CONTROLLER_XPT2046=y # CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set # CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI=y -# CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST is not set -CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST=y +CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST=y +# CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST is not set # # Touchpanel (XPT2046) Pin Assignments diff --git a/sdkconfig b/sdkconfig index 54729582..124c8ea1 100644 --- a/sdkconfig +++ b/sdkconfig @@ -2400,8 +2400,8 @@ CONFIG_LV_TOUCH_CONTROLLER_XPT2046=y # CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set # CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI=y -# CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST is not set -CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST=y +CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST=y +# CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST is not set # # Touchpanel (XPT2046) Pin Assignments From 5c4a816500c29c65acbb67ab0ca0e7df1cb9138b Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Thu, 31 Oct 2024 02:37:34 -0600 Subject: [PATCH 47/58] Create compile_marauderv6.yml --- .github/workflows/compile_marauderv6.yml | 220 +++++++++++++++++++++++ 1 file changed, 220 insertions(+) create mode 100644 .github/workflows/compile_marauderv6.yml diff --git a/.github/workflows/compile_marauderv6.yml b/.github/workflows/compile_marauderv6.yml new file mode 100644 index 00000000..ebad3261 --- /dev/null +++ b/.github/workflows/compile_marauderv6.yml @@ -0,0 +1,220 @@ +name: Compile Generics + +on: + release: + types: [published] + workflow_dispatch: + +jobs: + build: + name: Build for ${{ matrix.target.name }} - LED ${{ matrix.target.led }} - Screen ${{ matrix.target.screen_support }} - Input ${{ matrix.target.input_type }} + runs-on: ubuntu-latest + + strategy: + matrix: + target: + # Generic configurations (no LED, no screen support) + # - { name: "esp32-generic", idf_target: "esp32", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32", zip_name: "esp32-generic.zip" } + # - { name: "esp32s2-generic", idf_target: "esp32s2", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32s2", zip_name: "esp32s2-generic.zip" } + # - { name: "esp32s3-generic", idf_target: "esp32s3", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32s3", zip_name: "esp32s3-generic.zip" } + # - { name: "esp32c3-generic", idf_target: "esp32c3", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c3", zip_name: "esp32c3-generic.zip" } + # - { name: "esp32c6-generic", idf_target: "esp32c6", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c6", zip_name: "esp32c6-generic.zip" } + + # # Dev Kit configurations (LED on, no screen support) + # - { name: "esp32c3-devkit", idf_target: "esp32c3", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c3", zip_name: "esp32c3-devkit.zip", led_pin: 8, num_leds: 1 } + # - { name: "esp32c6-devkit", idf_target: "esp32c6", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c6", zip_name: "esp32c6-devkit.zip", led_pin: 8, num_leds: 1 } + + # # Ghost board (LED on, special pin and LED count) + # - { name: "ghostboard", idf_target: "esp32c6", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c6", zip_name: "ghostboard.zip", led_pin: 10, num_leds: 3, is_ghost_board: true } + + # Screen-supported builds + - { name: "MarauderV6&AwokDual", idf_target: "esp32", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig.marauderv6", zip_name: "MarauderV6_AwokDual.zip", screen_width: 240, screen_height: 320 } + # - { name: "AwokMini", idf_target: "esp32", led: false, screen_support: true, input_type: "joystick", sdkconfig_file: "configs/sdkconfig.awokmini", zip_name: "AwokMini.zip", screen_width: 128, screen_height: 128 } + # - { name: "ESP32-S3-Cardputer", idf_target: "esp32s3", led: false, screen_support: true, input_type: "cardputer", sdkconfig_file: "configs/sdkconfig.default.esp32s3", zip_name: "ESP32-S3-Cardputer.zip", screen_width: 240, screen_height: 135 } + + # # 7-inch boards + # - { name: "Waveshare_LCD", idf_target: "esp32s3", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig.waveshare7inch", zip_name: "Waveshare_LCD.zip", screen_width: 800, screen_height: 480, use_7_incher: true, waveshare_lcd: true } + # - { name: "Crowtech_LCD", idf_target: "esp32s3", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig.crowtech7inch", zip_name: "Crowtech_LCD.zip", screen_width: 800, screen_height: 480, use_7_incher: true, crowtech_lcd: true } + + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.9' + + - name: Cache ESP-IDF and Tools + uses: actions/cache@v3 + with: + path: | + ~/.espressif + ~/.idf_tools + ~/.cache/pip + key: ${{ runner.os }}-esp-idf-${{ matrix.target.name }}-${{ matrix.led }}-${{ matrix.screen_support }}-${{ matrix.input_type }} + restore-keys: | + ${{ runner.os }}-esp-idf-${{ matrix.target.name }}- + ${{ runner.os }}-esp-idf- + + # Manual ESP-IDF Installation + - name: Install ESP-IDF + run: | + sudo apt-get update + sudo apt-get install -y wget git flex bison gperf python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util + git clone -b v5.3.1 --depth 1 https://github.com/espressif/esp-idf.git ~/esp-idf + ~/esp-idf/install.sh + + - name: Apply Custom SDK Config + run: | + DEST_FILE="sdkconfig" + echo "Applying SDK Config: ${{ matrix.target.sdkconfig_file }} to $DEST_FILE" + if [ -f "${{ matrix.target.sdkconfig_file }}" ]; then + cp "${{ matrix.target.sdkconfig_file }}" "$DEST_FILE" + else + echo "Error: Source config file ${{ matrix.target.sdkconfig_file }} does not exist." + exit 1 + fi + + - name: Set Environment Variables for Matrix Configuration + run: | + if [ "${{ matrix.target.led }}" = "true" ]; then + echo "LED_DATA_PIN=${{ matrix.target.led_pin }}" >> $GITHUB_ENV + echo "NUM_LEDS=${{ matrix.target.num_leds }}" >> $GITHUB_ENV + fi + if [ "${{ matrix.target.is_ghost_board }}" = "true" ]; then + echo "IS_GHOST_BOARD=1" >> $GITHUB_ENV + fi + if [ "${{ matrix.target.screen_support }}" = "true" ]; then + echo "WITH_SCREEN=1" >> $GITHUB_ENV + echo "TFT_WIDTH=${{ matrix.target.screen_width }}" >> $GITHUB_ENV + echo "TFT_HEIGHT=${{ matrix.target.screen_height }}" >> $GITHUB_ENV + fi + case "${{ matrix.target.input_type }}" in + "touchscreen") + echo "USE_TOUCHSCREEN=1" >> $GITHUB_ENV + ;; + "joystick") + echo "USE_JOYSTICK=1" >> $GITHUB_ENV + ;; + "cardputer") + echo "USE_CARDPUTER=1" >> $GITHUB_ENV + ;; + esac + if [ "${{ matrix.target.use_7_incher }}" = "true" ]; then + echo "USE_7_INCHER=0" >> $GITHUB_ENV + fi + if [ "${{ matrix.target.waveshare_lcd }}" = "true" ]; then + echo "Waveshare_LCD=1" >> $GITHUB_ENV + fi + if [ "${{ matrix.target.crowtech_lcd }}" = "true" ]; then + echo "Crowtech_LCD=1" >> $GITHUB_ENV + fi + + - name: Set up ESP-IDF and Target + run: | + . ~/esp-idf/export.sh + echo "IDF_TARGET=${{ matrix.target.idf_target }}" >> $GITHUB_ENV + export IDF_TARGET=${{ matrix.target.idf_target }} + echo "IDF_TARGET is set to $IDF_TARGET" + + - name: Build Project + run: | + . ~/esp-idf/export.sh + idf.py build + + - name: Download Correct Bootloader + run: | + BOOTLOADER_URL="https://cdn.spookytools.com/bootloaders/${{ matrix.target.idf_target }}.bin" + BOOTLOADER_PATH="packaged_artifacts/bootloader.bin" + echo "Downloading bootloader from $BOOTLOADER_URL" + mkdir -p packaged_artifacts + curl -L -o "$BOOTLOADER_PATH" "$BOOTLOADER_URL" + if [ ! -f "$BOOTLOADER_PATH" ]; then + echo "Error: Bootloader could not be downloaded from $BOOTLOADER_URL" + exit 1 + else + echo "Bootloader downloaded successfully to $BOOTLOADER_PATH" + fi + + - name: Package Build Artifacts + run: | + . ~/esp-idf/export.sh + PARTITION_TABLE_BIN=build/partition_table/partition-table.bin + GHOST_ESP_IDF_BIN=build/Ghost_ESP_IDF.bin + if [ ! -f "$PARTITION_TABLE_BIN" ]; then + echo "Error: $PARTITION_TABLE_BIN not found!" + exit 1 + fi + if [ ! -f "$GHOST_ESP_IDF_BIN" ]; then + echo "Error: $GHOST_ESP_IDF_BIN not found!" + exit 1 + fi + cp "$PARTITION_TABLE_BIN" packaged_artifacts/ + cp "$GHOST_ESP_IDF_BIN" packaged_artifacts/ + ZIP_NAME="${{ matrix.target.zip_name }}" + cd packaged_artifacts + zip "$ZIP_NAME" bootloader.bin partition-table.bin Ghost_ESP_IDF.bin + cd .. + + - name: Get the Latest Release ID + id: get_release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + latest_release=$(curl -s \ + -H "Authorization: token $GITHUB_TOKEN" \ + -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/${{ github.repository }}/releases/latest") + release_id=$(echo "$latest_release" | jq -r '.id') + echo "Latest release ID is $release_id" + echo "::set-output name=release_id::$release_id" + + - name: Upload to Latest Release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + zip_file="packaged_artifacts/${{ matrix.target.zip_name }}" + release_id=${{ steps.get_release.outputs.release_id }} + curl -X POST \ + -H "Authorization: token $GITHUB_TOKEN" \ + -H "Content-Type: application/zip" \ + --data-binary @"$zip_file" \ + "https://uploads.github.com/repos/${{ github.repository }}/releases/$release_id/assets?name=$(basename $zip_file)" + + - name: Install rclone + run: | + curl -fsSL https://rclone.org/install.sh | sudo bash + + - name: Configure rclone for Cloudflare R2 + env: + R2_ACCESS_KEY: ${{ secrets.R2_ACCESS_KEY }} + R2_SECRET_KEY: ${{ secrets.R2_SECRET_KEY }} + run: | + mkdir -p ~/.config/rclone + echo "[cloudflare_r2]" > ~/.config/rclone/rclone.conf + echo "type = s3" >> ~/.config/rclone/rclone.conf + echo "provider = Cloudflare" >> ~/.config/rclone/rclone.conf + echo "access_key_id = $R2_ACCESS_KEY" >> ~/.config/rclone/rclone.conf + echo "secret_access_key = $R2_SECRET_KEY" >> ~/.config/rclone/rclone.conf + echo "endpoint = https://fb5f7d31bedfe4f3538ddfa6db491962.r2.cloudflarestorage.com" >> ~/.config/rclone/rclone.conf + + - name: Upload Artifacts to Cloudflare R2 + env: + R2_BUCKET: "spooksapi" + R2_PATH: "GhostESPBins" + run: | + rclone copy packaged_artifacts "cloudflare_r2:${R2_BUCKET}/${R2_PATH}" --progress + + - name: Notify Discord of Successful Release + if: success() + env: + DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} + run: | + payload='{ + "content": "🎉 A new release has been successfully compiled and is now available! Check the latest release for details." + }' + curl -X POST \ + -H "Content-Type: application/json" \ + -d "$payload" \ + "$DISCORD_WEBHOOK_URL" \ No newline at end of file From 44a05bb8cc25cb3277a8c07ca2163ad8eb820f2a Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Thu, 31 Oct 2024 02:38:04 -0600 Subject: [PATCH 48/58] Update compile_marauderv6.yml --- .github/workflows/compile_marauderv6.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compile_marauderv6.yml b/.github/workflows/compile_marauderv6.yml index ebad3261..ef2232dc 100644 --- a/.github/workflows/compile_marauderv6.yml +++ b/.github/workflows/compile_marauderv6.yml @@ -1,4 +1,4 @@ -name: Compile Generics +name: Compile Marauder V6 on: release: From 4797123eb88439cb03a0eb23fd7b5a5fa4a88d00 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Thu, 31 Oct 2024 02:46:25 -0600 Subject: [PATCH 49/58] Changes --- .github/workflows/comile_7inchdisplays.yml | 220 +++++++++++++++++++++ configs/sdkconfig.crowtech7inch | 4 +- configs/sdkconfig.waveshare7inch | 4 +- 3 files changed, 224 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/comile_7inchdisplays.yml diff --git a/.github/workflows/comile_7inchdisplays.yml b/.github/workflows/comile_7inchdisplays.yml new file mode 100644 index 00000000..47bb7475 --- /dev/null +++ b/.github/workflows/comile_7inchdisplays.yml @@ -0,0 +1,220 @@ +name: Compile 7 Inch Displays + +on: + release: + types: [published] + workflow_dispatch: + +jobs: + build: + name: Build for ${{ matrix.target.name }} - LED ${{ matrix.target.led }} - Screen ${{ matrix.target.screen_support }} - Input ${{ matrix.target.input_type }} + runs-on: ubuntu-latest + + strategy: + matrix: + target: + # Generic configurations (no LED, no screen support) + # - { name: "esp32-generic", idf_target: "esp32", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32", zip_name: "esp32-generic.zip" } + # - { name: "esp32s2-generic", idf_target: "esp32s2", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32s2", zip_name: "esp32s2-generic.zip" } + # - { name: "esp32s3-generic", idf_target: "esp32s3", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32s3", zip_name: "esp32s3-generic.zip" } + # - { name: "esp32c3-generic", idf_target: "esp32c3", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c3", zip_name: "esp32c3-generic.zip" } + # - { name: "esp32c6-generic", idf_target: "esp32c6", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c6", zip_name: "esp32c6-generic.zip" } + + # # Dev Kit configurations (LED on, no screen support) + # - { name: "esp32c3-devkit", idf_target: "esp32c3", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c3", zip_name: "esp32c3-devkit.zip", led_pin: 8, num_leds: 1 } + # - { name: "esp32c6-devkit", idf_target: "esp32c6", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c6", zip_name: "esp32c6-devkit.zip", led_pin: 8, num_leds: 1 } + + # # Ghost board (LED on, special pin and LED count) + # - { name: "ghostboard", idf_target: "esp32c6", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c6", zip_name: "ghostboard.zip", led_pin: 10, num_leds: 3, is_ghost_board: true } + + # Screen-supported builds + #- { name: "MarauderV6&AwokDual", idf_target: "esp32", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig.marauderv6", zip_name: "MarauderV6_AwokDual.zip", screen_width: 240, screen_height: 320 } + # - { name: "AwokMini", idf_target: "esp32", led: false, screen_support: true, input_type: "joystick", sdkconfig_file: "configs/sdkconfig.awokmini", zip_name: "AwokMini.zip", screen_width: 128, screen_height: 128 } + # - { name: "ESP32-S3-Cardputer", idf_target: "esp32s3", led: false, screen_support: true, input_type: "cardputer", sdkconfig_file: "configs/sdkconfig.default.esp32s3", zip_name: "ESP32-S3-Cardputer.zip", screen_width: 240, screen_height: 135 } + + # # 7-inch boards + - { name: "Waveshare_LCD", idf_target: "esp32s3", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig.waveshare7inch", zip_name: "Waveshare_LCD.zip", screen_width: 800, screen_height: 480, use_7_incher: true, waveshare_lcd: true } + - { name: "Crowtech_LCD", idf_target: "esp32s3", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig.crowtech7inch", zip_name: "Crowtech_LCD.zip", screen_width: 800, screen_height: 480, use_7_incher: true, crowtech_lcd: true } + + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.9' + + - name: Cache ESP-IDF and Tools + uses: actions/cache@v3 + with: + path: | + ~/.espressif + ~/.idf_tools + ~/.cache/pip + key: ${{ runner.os }}-esp-idf-${{ matrix.target.name }}-${{ matrix.led }}-${{ matrix.screen_support }}-${{ matrix.input_type }} + restore-keys: | + ${{ runner.os }}-esp-idf-${{ matrix.target.name }}- + ${{ runner.os }}-esp-idf- + + # Manual ESP-IDF Installation + - name: Install ESP-IDF + run: | + sudo apt-get update + sudo apt-get install -y wget git flex bison gperf python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util + git clone -b v5.3.1 --depth 1 https://github.com/espressif/esp-idf.git ~/esp-idf + ~/esp-idf/install.sh + + - name: Apply Custom SDK Config + run: | + DEST_FILE="sdkconfig" + echo "Applying SDK Config: ${{ matrix.target.sdkconfig_file }} to $DEST_FILE" + if [ -f "${{ matrix.target.sdkconfig_file }}" ]; then + cp "${{ matrix.target.sdkconfig_file }}" "$DEST_FILE" + else + echo "Error: Source config file ${{ matrix.target.sdkconfig_file }} does not exist." + exit 1 + fi + + - name: Set Environment Variables for Matrix Configuration + run: | + if [ "${{ matrix.target.led }}" = "true" ]; then + echo "LED_DATA_PIN=${{ matrix.target.led_pin }}" >> $GITHUB_ENV + echo "NUM_LEDS=${{ matrix.target.num_leds }}" >> $GITHUB_ENV + fi + if [ "${{ matrix.target.is_ghost_board }}" = "true" ]; then + echo "IS_GHOST_BOARD=1" >> $GITHUB_ENV + fi + if [ "${{ matrix.target.screen_support }}" = "true" ]; then + echo "WITH_SCREEN=1" >> $GITHUB_ENV + echo "TFT_WIDTH=${{ matrix.target.screen_width }}" >> $GITHUB_ENV + echo "TFT_HEIGHT=${{ matrix.target.screen_height }}" >> $GITHUB_ENV + fi + case "${{ matrix.target.input_type }}" in + "touchscreen") + echo "USE_TOUCHSCREEN=1" >> $GITHUB_ENV + ;; + "joystick") + echo "USE_JOYSTICK=1" >> $GITHUB_ENV + ;; + "cardputer") + echo "USE_CARDPUTER=1" >> $GITHUB_ENV + ;; + esac + if [ "${{ matrix.target.use_7_incher }}" = "true" ]; then + echo "USE_7_INCHER=0" >> $GITHUB_ENV + fi + if [ "${{ matrix.target.waveshare_lcd }}" = "true" ]; then + echo "Waveshare_LCD=1" >> $GITHUB_ENV + fi + if [ "${{ matrix.target.crowtech_lcd }}" = "true" ]; then + echo "Crowtech_LCD=1" >> $GITHUB_ENV + fi + + - name: Set up ESP-IDF and Target + run: | + . ~/esp-idf/export.sh + echo "IDF_TARGET=${{ matrix.target.idf_target }}" >> $GITHUB_ENV + export IDF_TARGET=${{ matrix.target.idf_target }} + echo "IDF_TARGET is set to $IDF_TARGET" + + - name: Build Project + run: | + . ~/esp-idf/export.sh + idf.py build + + - name: Download Correct Bootloader + run: | + BOOTLOADER_URL="https://cdn.spookytools.com/bootloaders/${{ matrix.target.idf_target }}.bin" + BOOTLOADER_PATH="packaged_artifacts/bootloader.bin" + echo "Downloading bootloader from $BOOTLOADER_URL" + mkdir -p packaged_artifacts + curl -L -o "$BOOTLOADER_PATH" "$BOOTLOADER_URL" + if [ ! -f "$BOOTLOADER_PATH" ]; then + echo "Error: Bootloader could not be downloaded from $BOOTLOADER_URL" + exit 1 + else + echo "Bootloader downloaded successfully to $BOOTLOADER_PATH" + fi + + - name: Package Build Artifacts + run: | + . ~/esp-idf/export.sh + PARTITION_TABLE_BIN=build/partition_table/partition-table.bin + GHOST_ESP_IDF_BIN=build/Ghost_ESP_IDF.bin + if [ ! -f "$PARTITION_TABLE_BIN" ]; then + echo "Error: $PARTITION_TABLE_BIN not found!" + exit 1 + fi + if [ ! -f "$GHOST_ESP_IDF_BIN" ]; then + echo "Error: $GHOST_ESP_IDF_BIN not found!" + exit 1 + fi + cp "$PARTITION_TABLE_BIN" packaged_artifacts/ + cp "$GHOST_ESP_IDF_BIN" packaged_artifacts/ + ZIP_NAME="${{ matrix.target.zip_name }}" + cd packaged_artifacts + zip "$ZIP_NAME" bootloader.bin partition-table.bin Ghost_ESP_IDF.bin + cd .. + + - name: Get the Latest Release ID + id: get_release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + latest_release=$(curl -s \ + -H "Authorization: token $GITHUB_TOKEN" \ + -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/${{ github.repository }}/releases/latest") + release_id=$(echo "$latest_release" | jq -r '.id') + echo "Latest release ID is $release_id" + echo "::set-output name=release_id::$release_id" + + - name: Upload to Latest Release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + zip_file="packaged_artifacts/${{ matrix.target.zip_name }}" + release_id=${{ steps.get_release.outputs.release_id }} + curl -X POST \ + -H "Authorization: token $GITHUB_TOKEN" \ + -H "Content-Type: application/zip" \ + --data-binary @"$zip_file" \ + "https://uploads.github.com/repos/${{ github.repository }}/releases/$release_id/assets?name=$(basename $zip_file)" + + - name: Install rclone + run: | + curl -fsSL https://rclone.org/install.sh | sudo bash + + - name: Configure rclone for Cloudflare R2 + env: + R2_ACCESS_KEY: ${{ secrets.R2_ACCESS_KEY }} + R2_SECRET_KEY: ${{ secrets.R2_SECRET_KEY }} + run: | + mkdir -p ~/.config/rclone + echo "[cloudflare_r2]" > ~/.config/rclone/rclone.conf + echo "type = s3" >> ~/.config/rclone/rclone.conf + echo "provider = Cloudflare" >> ~/.config/rclone/rclone.conf + echo "access_key_id = $R2_ACCESS_KEY" >> ~/.config/rclone/rclone.conf + echo "secret_access_key = $R2_SECRET_KEY" >> ~/.config/rclone/rclone.conf + echo "endpoint = https://fb5f7d31bedfe4f3538ddfa6db491962.r2.cloudflarestorage.com" >> ~/.config/rclone/rclone.conf + + - name: Upload Artifacts to Cloudflare R2 + env: + R2_BUCKET: "spooksapi" + R2_PATH: "GhostESPBins" + run: | + rclone copy packaged_artifacts "cloudflare_r2:${R2_BUCKET}/${R2_PATH}" --progress + + - name: Notify Discord of Successful Release + if: success() + env: + DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} + run: | + payload='{ + "content": "🎉 A new release has been successfully compiled and is now available! Check the latest release for details." + }' + curl -X POST \ + -H "Content-Type: application/json" \ + -d "$payload" \ + "$DISCORD_WEBHOOK_URL" \ No newline at end of file diff --git a/configs/sdkconfig.crowtech7inch b/configs/sdkconfig.crowtech7inch index bce329b8..b3c569fd 100644 --- a/configs/sdkconfig.crowtech7inch +++ b/configs/sdkconfig.crowtech7inch @@ -2663,9 +2663,9 @@ CONFIG_LV_I2C_TOUCH=y # # Touchpanel Configuration (GT911) # -CONFIG_LV_GT911_SWAPXY=y +# CONFIG_LV_GT911_SWAPXY # CONFIG_LV_GT911_INVERT_X is not set -CONFIG_LV_GT911_INVERT_Y=y +# CONFIG_LV_GT911_INVERT_Y # end of Touchpanel Configuration (GT911) CONFIG_LV_I2C_TOUCH_PORT_0=y diff --git a/configs/sdkconfig.waveshare7inch b/configs/sdkconfig.waveshare7inch index 11b04006..eefbb747 100644 --- a/configs/sdkconfig.waveshare7inch +++ b/configs/sdkconfig.waveshare7inch @@ -2663,9 +2663,9 @@ CONFIG_LV_I2C_TOUCH=y # # Touchpanel Configuration (GT911) # -CONFIG_LV_GT911_SWAPXY=y +# CONFIG_LV_GT911_SWAPXY # CONFIG_LV_GT911_INVERT_X is not set -CONFIG_LV_GT911_INVERT_Y=y +# CONFIG_LV_GT911_INVERT_Y # end of Touchpanel Configuration (GT911) CONFIG_LV_I2C_TOUCH_PORT_0=y From c5f28e75a190d4eacbc97a9d6b7e24feec00d0ac Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Thu, 31 Oct 2024 02:55:58 -0600 Subject: [PATCH 50/58] Update 7 Inch Touch --- configs/sdkconfig.crowtech7inch | 2 +- configs/sdkconfig.waveshare7inch | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configs/sdkconfig.crowtech7inch b/configs/sdkconfig.crowtech7inch index b3c569fd..82eb0a5f 100644 --- a/configs/sdkconfig.crowtech7inch +++ b/configs/sdkconfig.crowtech7inch @@ -2665,7 +2665,7 @@ CONFIG_LV_I2C_TOUCH=y # # CONFIG_LV_GT911_SWAPXY # CONFIG_LV_GT911_INVERT_X is not set -# CONFIG_LV_GT911_INVERT_Y +CONFIG_LV_GT911_INVERT_Y=y # end of Touchpanel Configuration (GT911) CONFIG_LV_I2C_TOUCH_PORT_0=y diff --git a/configs/sdkconfig.waveshare7inch b/configs/sdkconfig.waveshare7inch index eefbb747..20de1cf0 100644 --- a/configs/sdkconfig.waveshare7inch +++ b/configs/sdkconfig.waveshare7inch @@ -2665,7 +2665,7 @@ CONFIG_LV_I2C_TOUCH=y # # CONFIG_LV_GT911_SWAPXY # CONFIG_LV_GT911_INVERT_X is not set -# CONFIG_LV_GT911_INVERT_Y +CONFIG_LV_GT911_INVERT_Y=y # end of Touchpanel Configuration (GT911) CONFIG_LV_I2C_TOUCH_PORT_0=y From 1205730ff353b46ed54c35dc8370f18afbcf37be Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Thu, 31 Oct 2024 03:28:19 -0600 Subject: [PATCH 51/58] Changes --- .github/workflows/compile_cardputer.yml | 220 ++++++ .github/workflows/compile_generics.yml | 2 +- CMakeLists.txt | 2 +- configs/sdkconfig.default.esp32s3 | 51 +- dependencies.lock | 2 +- sdkconfig | 974 ++++++++++++++---------- sdkconfig.old | 867 +++++++++++++-------- 7 files changed, 1374 insertions(+), 744 deletions(-) create mode 100644 .github/workflows/compile_cardputer.yml diff --git a/.github/workflows/compile_cardputer.yml b/.github/workflows/compile_cardputer.yml new file mode 100644 index 00000000..9b23ce5b --- /dev/null +++ b/.github/workflows/compile_cardputer.yml @@ -0,0 +1,220 @@ +name: Compile Cardputer + +on: + release: + types: [published] + workflow_dispatch: + +jobs: + build: + name: Build for ${{ matrix.target.name }} - LED ${{ matrix.target.led }} - Screen ${{ matrix.target.screen_support }} - Input ${{ matrix.target.input_type }} + runs-on: ubuntu-latest + + strategy: + matrix: + target: + # Generic configurations (no LED, no screen support) + # - { name: "esp32-generic", idf_target: "esp32", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32", zip_name: "esp32-generic.zip" } + # - { name: "esp32s2-generic", idf_target: "esp32s2", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32s2", zip_name: "esp32s2-generic.zip" } + # - { name: "esp32s3-generic", idf_target: "esp32s3", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32s3", zip_name: "esp32s3-generic.zip" } + # - { name: "esp32c3-generic", idf_target: "esp32c3", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c3", zip_name: "esp32c3-generic.zip" } + # - { name: "esp32c6-generic", idf_target: "esp32c6", led: false, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c6", zip_name: "esp32c6-generic.zip" } + + # # Dev Kit configurations (LED on, no screen support) + # - { name: "esp32c3-devkit", idf_target: "esp32c3", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c3", zip_name: "esp32c3-devkit.zip", led_pin: 8, num_leds: 1 } + # - { name: "esp32c6-devkit", idf_target: "esp32c6", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c6", zip_name: "esp32c6-devkit.zip", led_pin: 8, num_leds: 1 } + + # # Ghost board (LED on, special pin and LED count) + # - { name: "ghostboard", idf_target: "esp32c6", led: true, screen_support: false, input_type: "none", sdkconfig_file: "configs/sdkconfig.default.esp32c6", zip_name: "ghostboard.zip", led_pin: 10, num_leds: 3, is_ghost_board: true } + + # Screen-supported builds + #- { name: "MarauderV6&AwokDual", idf_target: "esp32", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig.marauderv6", zip_name: "MarauderV6_AwokDual.zip", screen_width: 240, screen_height: 320 } + # - { name: "AwokMini", idf_target: "esp32", led: false, screen_support: true, input_type: "joystick", sdkconfig_file: "configs/sdkconfig.awokmini", zip_name: "AwokMini.zip", screen_width: 128, screen_height: 128 } + - { name: "ESP32-S3-Cardputer", idf_target: "esp32s3", led: false, screen_support: true, input_type: "cardputer", sdkconfig_file: "configs/sdkconfig.default.esp32s3", zip_name: "ESP32-S3-Cardputer.zip", screen_width: 240, screen_height: 135 } + + # # 7-inch boards + # - { name: "Waveshare_LCD", idf_target: "esp32s3", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig.waveshare7inch", zip_name: "Waveshare_LCD.zip", screen_width: 800, screen_height: 480, use_7_incher: true, waveshare_lcd: true } + # - { name: "Crowtech_LCD", idf_target: "esp32s3", led: false, screen_support: true, input_type: "touchscreen", sdkconfig_file: "configs/sdkconfig.crowtech7inch", zip_name: "Crowtech_LCD.zip", screen_width: 800, screen_height: 480, use_7_incher: true, crowtech_lcd: true } + + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.9' + + - name: Cache ESP-IDF and Tools + uses: actions/cache@v3 + with: + path: | + ~/.espressif + ~/.idf_tools + ~/.cache/pip + key: ${{ runner.os }}-esp-idf-${{ matrix.target.name }}-${{ matrix.led }}-${{ matrix.screen_support }}-${{ matrix.input_type }} + restore-keys: | + ${{ runner.os }}-esp-idf-${{ matrix.target.name }}- + ${{ runner.os }}-esp-idf- + + # Manual ESP-IDF Installation + - name: Install ESP-IDF + run: | + sudo apt-get update + sudo apt-get install -y wget git flex bison gperf python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util + git clone -b v5.3.1 --depth 1 https://github.com/espressif/esp-idf.git ~/esp-idf + ~/esp-idf/install.sh + + - name: Apply Custom SDK Config + run: | + DEST_FILE="sdkconfig" + echo "Applying SDK Config: ${{ matrix.target.sdkconfig_file }} to $DEST_FILE" + if [ -f "${{ matrix.target.sdkconfig_file }}" ]; then + cp "${{ matrix.target.sdkconfig_file }}" "$DEST_FILE" + else + echo "Error: Source config file ${{ matrix.target.sdkconfig_file }} does not exist." + exit 1 + fi + + - name: Set Environment Variables for Matrix Configuration + run: | + if [ "${{ matrix.target.led }}" = "true" ]; then + echo "LED_DATA_PIN=${{ matrix.target.led_pin }}" >> $GITHUB_ENV + echo "NUM_LEDS=${{ matrix.target.num_leds }}" >> $GITHUB_ENV + fi + if [ "${{ matrix.target.is_ghost_board }}" = "true" ]; then + echo "IS_GHOST_BOARD=1" >> $GITHUB_ENV + fi + if [ "${{ matrix.target.screen_support }}" = "true" ]; then + echo "WITH_SCREEN=1" >> $GITHUB_ENV + echo "TFT_WIDTH=${{ matrix.target.screen_width }}" >> $GITHUB_ENV + echo "TFT_HEIGHT=${{ matrix.target.screen_height }}" >> $GITHUB_ENV + fi + case "${{ matrix.target.input_type }}" in + "touchscreen") + echo "USE_TOUCHSCREEN=1" >> $GITHUB_ENV + ;; + "joystick") + echo "USE_JOYSTICK=1" >> $GITHUB_ENV + ;; + "cardputer") + echo "USE_CARDPUTER=1" >> $GITHUB_ENV + ;; + esac + if [ "${{ matrix.target.use_7_incher }}" = "true" ]; then + echo "USE_7_INCHER=0" >> $GITHUB_ENV + fi + if [ "${{ matrix.target.waveshare_lcd }}" = "true" ]; then + echo "Waveshare_LCD=1" >> $GITHUB_ENV + fi + if [ "${{ matrix.target.crowtech_lcd }}" = "true" ]; then + echo "Crowtech_LCD=1" >> $GITHUB_ENV + fi + + - name: Set up ESP-IDF and Target + run: | + . ~/esp-idf/export.sh + echo "IDF_TARGET=${{ matrix.target.idf_target }}" >> $GITHUB_ENV + export IDF_TARGET=${{ matrix.target.idf_target }} + echo "IDF_TARGET is set to $IDF_TARGET" + + - name: Build Project + run: | + . ~/esp-idf/export.sh + idf.py build + + - name: Download Correct Bootloader + run: | + BOOTLOADER_URL="https://cdn.spookytools.com/bootloaders/${{ matrix.target.idf_target }}.bin" + BOOTLOADER_PATH="packaged_artifacts/bootloader.bin" + echo "Downloading bootloader from $BOOTLOADER_URL" + mkdir -p packaged_artifacts + curl -L -o "$BOOTLOADER_PATH" "$BOOTLOADER_URL" + if [ ! -f "$BOOTLOADER_PATH" ]; then + echo "Error: Bootloader could not be downloaded from $BOOTLOADER_URL" + exit 1 + else + echo "Bootloader downloaded successfully to $BOOTLOADER_PATH" + fi + + - name: Package Build Artifacts + run: | + . ~/esp-idf/export.sh + PARTITION_TABLE_BIN=build/partition_table/partition-table.bin + GHOST_ESP_IDF_BIN=build/Ghost_ESP_IDF.bin + if [ ! -f "$PARTITION_TABLE_BIN" ]; then + echo "Error: $PARTITION_TABLE_BIN not found!" + exit 1 + fi + if [ ! -f "$GHOST_ESP_IDF_BIN" ]; then + echo "Error: $GHOST_ESP_IDF_BIN not found!" + exit 1 + fi + cp "$PARTITION_TABLE_BIN" packaged_artifacts/ + cp "$GHOST_ESP_IDF_BIN" packaged_artifacts/ + ZIP_NAME="${{ matrix.target.zip_name }}" + cd packaged_artifacts + zip "$ZIP_NAME" bootloader.bin partition-table.bin Ghost_ESP_IDF.bin + cd .. + + - name: Get the Latest Release ID + id: get_release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + latest_release=$(curl -s \ + -H "Authorization: token $GITHUB_TOKEN" \ + -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/${{ github.repository }}/releases/latest") + release_id=$(echo "$latest_release" | jq -r '.id') + echo "Latest release ID is $release_id" + echo "::set-output name=release_id::$release_id" + + - name: Upload to Latest Release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + zip_file="packaged_artifacts/${{ matrix.target.zip_name }}" + release_id=${{ steps.get_release.outputs.release_id }} + curl -X POST \ + -H "Authorization: token $GITHUB_TOKEN" \ + -H "Content-Type: application/zip" \ + --data-binary @"$zip_file" \ + "https://uploads.github.com/repos/${{ github.repository }}/releases/$release_id/assets?name=$(basename $zip_file)" + + - name: Install rclone + run: | + curl -fsSL https://rclone.org/install.sh | sudo bash + + - name: Configure rclone for Cloudflare R2 + env: + R2_ACCESS_KEY: ${{ secrets.R2_ACCESS_KEY }} + R2_SECRET_KEY: ${{ secrets.R2_SECRET_KEY }} + run: | + mkdir -p ~/.config/rclone + echo "[cloudflare_r2]" > ~/.config/rclone/rclone.conf + echo "type = s3" >> ~/.config/rclone/rclone.conf + echo "provider = Cloudflare" >> ~/.config/rclone/rclone.conf + echo "access_key_id = $R2_ACCESS_KEY" >> ~/.config/rclone/rclone.conf + echo "secret_access_key = $R2_SECRET_KEY" >> ~/.config/rclone/rclone.conf + echo "endpoint = https://fb5f7d31bedfe4f3538ddfa6db491962.r2.cloudflarestorage.com" >> ~/.config/rclone/rclone.conf + + - name: Upload Artifacts to Cloudflare R2 + env: + R2_BUCKET: "spooksapi" + R2_PATH: "GhostESPBins" + run: | + rclone copy packaged_artifacts "cloudflare_r2:${R2_BUCKET}/${R2_PATH}" --progress + + - name: Notify Discord of Successful Release + if: success() + env: + DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} + run: | + payload='{ + "content": "🎉 A new release has been successfully compiled and is now available! Check the latest release for details." + }' + curl -X POST \ + -H "Content-Type: application/json" \ + -d "$payload" \ + "$DISCORD_WEBHOOK_URL" \ No newline at end of file diff --git a/.github/workflows/compile_generics.yml b/.github/workflows/compile_generics.yml index 1a16ce57..d6c2bf69 100644 --- a/.github/workflows/compile_generics.yml +++ b/.github/workflows/compile_generics.yml @@ -1,4 +1,4 @@ -name: Compile Generics +name: Compile All on: release: diff --git a/CMakeLists.txt b/CMakeLists.txt index 043b3329..d61ea036 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ if(DEFINED ENV{IDF_TARGET}) set(IDF_TARGET $ENV{IDF_TARGET}) message(STATUS "Setting IDF_TARGET to ${IDF_TARGET} from environment variable") else() - message(FATAL_ERROR "IDF_TARGET environment variable is not defined. Please set it before building.") + #message(FATAL_ERROR "IDF_TARGET environment variable is not defined. Please set it before building.") endif() # Partition table settings diff --git a/configs/sdkconfig.default.esp32s3 b/configs/sdkconfig.default.esp32s3 index bce329b8..ad3469e1 100644 --- a/configs/sdkconfig.default.esp32s3 +++ b/configs/sdkconfig.default.esp32s3 @@ -589,7 +589,6 @@ CONFIG_BT_CONTROLLER_ENABLED=y # NimBLE Options # CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y -# CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL is not set # CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set # CONFIG_BT_NIMBLE_LOG_LEVEL_NONE is not set # CONFIG_BT_NIMBLE_LOG_LEVEL_ERROR is not set @@ -1121,8 +1120,8 @@ CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4 # # Sleep Config # +# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y -CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND=y # CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y @@ -1231,37 +1230,7 @@ CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y # # ESP PSRAM # -CONFIG_SPIRAM=y - -# -# SPI RAM config -# -# CONFIG_SPIRAM_MODE_QUAD is not set -CONFIG_SPIRAM_MODE_OCT=y -CONFIG_SPIRAM_TYPE_AUTO=y -# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set -CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y -CONFIG_SPIRAM_CLK_IO=30 -CONFIG_SPIRAM_CS_IO=26 -# CONFIG_SPIRAM_XIP_FROM_PSRAM is not set -CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y -CONFIG_SPIRAM_RODATA=y -# CONFIG_SPIRAM_SPEED_120M is not set -CONFIG_SPIRAM_SPEED_80M=y -# CONFIG_SPIRAM_SPEED_40M is not set -CONFIG_SPIRAM_SPEED=80 -# CONFIG_SPIRAM_ECC_ENABLE is not set -CONFIG_SPIRAM_BOOT_INIT=y -# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set -# CONFIG_SPIRAM_USE_MEMMAP is not set -# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set -CONFIG_SPIRAM_USE_MALLOC=y -CONFIG_SPIRAM_MEMTEST=y -CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384 -# CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set -CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 -# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set -# end of SPI RAM config +# CONFIG_SPIRAM is not set # end of ESP PSRAM # @@ -1406,9 +1375,9 @@ CONFIG_ESP_WIFI_ENABLED=y CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y +# CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER is not set CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0 CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=16 -CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=32 CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y # CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 @@ -1418,7 +1387,6 @@ CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y CONFIG_ESP_WIFI_TX_BA_WIN=6 CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP_WIFI_RX_BA_WIN=6 -# CONFIG_ESP_WIFI_AMSDU_TX_ENABLED is not set CONFIG_ESP_WIFI_NVS_ENABLED=y CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 @@ -1511,7 +1479,6 @@ CONFIG_FATFS_API_ENCODING_ANSI_OEM=y CONFIG_FATFS_FS_LOCK=0 CONFIG_FATFS_TIMEOUT_MS=10000 CONFIG_FATFS_PER_FILE_CACHE=y -CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y # CONFIG_FATFS_USE_FASTSEEK is not set CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 # CONFIG_FATFS_IMMEDIATE_FSYNC is not set @@ -1806,7 +1773,6 @@ CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y # mbedTLS # CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y -# CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC is not set # CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set # CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y @@ -1967,8 +1933,6 @@ CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y # CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set # end of Newlib -CONFIG_STDATOMIC_S32C1I_SPIRAM_WORKAROUND=y - # # NVS # @@ -2767,7 +2731,6 @@ CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y # CONFIG_BLUEDROID_ENABLED is not set CONFIG_NIMBLE_ENABLED=y CONFIG_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y -# CONFIG_NIMBLE_MEM_ALLOC_MODE_EXTERNAL is not set # CONFIG_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set CONFIG_NIMBLE_MAX_CONNECTIONS=3 CONFIG_NIMBLE_MAX_BONDS=3 @@ -2815,6 +2778,7 @@ CONFIG_POST_EVENTS_FROM_IRAM_ISR=y CONFIG_GDBSTUB_SUPPORT_TASKS=y CONFIG_GDBSTUB_MAX_TASKS=32 # CONFIG_OTA_ALLOW_HTTP is not set +# CONFIG_ESP_SYSTEM_PD_FLASH is not set CONFIG_ESP32S3_DEEP_SLEEP_WAKEUP_DELAY=0 CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=0 CONFIG_ESP32S3_RTC_CLK_SRC_INT_RC=y @@ -2830,9 +2794,7 @@ CONFIG_ESP32_PHY_MAX_TX_POWER=20 # CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y CONFIG_PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP=y -CONFIG_ESP32S3_SPIRAM_SUPPORT=y -CONFIG_DEFAULT_PSRAM_CLK_IO=30 -CONFIG_DEFAULT_PSRAM_CS_IO=26 +# CONFIG_ESP32S3_SPIRAM_SUPPORT is not set # CONFIG_ESP32S3_DEFAULT_CPU_FREQ_80 is not set # CONFIG_ESP32S3_DEFAULT_CPU_FREQ_160 is not set CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240=y @@ -2875,9 +2837,9 @@ CONFIG_ESP32_WIFI_ENABLED=y CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y +# CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER is not set CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 -CONFIG_ESP32_WIFI_CACHE_TX_BUFFER_NUM=32 # CONFIG_ESP32_WIFI_CSI_ENABLED is not set CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y CONFIG_ESP32_WIFI_TX_BA_WIN=6 @@ -2885,7 +2847,6 @@ CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP32_WIFI_RX_BA_WIN=6 CONFIG_ESP32_WIFI_RX_BA_WIN=6 -# CONFIG_ESP32_WIFI_AMSDU_TX_ENABLED is not set CONFIG_ESP32_WIFI_NVS_ENABLED=y CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 diff --git a/dependencies.lock b/dependencies.lock index f68b2593..3dae7d07 100644 --- a/dependencies.lock +++ b/dependencies.lock @@ -6,5 +6,5 @@ dependencies: direct_dependencies: - idf manifest_hash: 18f8cad765fd13632cf3e427b305587d3280c096d6e66f6e16c1a1633cee1fc3 -target: esp32 +target: esp32s3 version: 2.0.0 diff --git a/sdkconfig b/sdkconfig index 124c8ea1..ad3469e1 100644 --- a/sdkconfig +++ b/sdkconfig @@ -2,44 +2,57 @@ # Automatically generated file. DO NOT EDIT. # Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Configuration # -CONFIG_SOC_BROWNOUT_RESET_SUPPORTED="Not determined" -CONFIG_SOC_TWAI_BRP_DIV_SUPPORTED="Not determined" -CONFIG_SOC_DPORT_WORKAROUND="Not determined" -CONFIG_SOC_CAPS_ECO_VER_MAX=301 +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 CONFIG_SOC_ADC_SUPPORTED=y -CONFIG_SOC_DAC_SUPPORTED=y CONFIG_SOC_UART_SUPPORTED=y -CONFIG_SOC_MCPWM_SUPPORTED=y -CONFIG_SOC_GPTIMER_SUPPORTED=y -CONFIG_SOC_SDMMC_HOST_SUPPORTED=y -CONFIG_SOC_BT_SUPPORTED=y CONFIG_SOC_PCNT_SUPPORTED=y CONFIG_SOC_PHY_SUPPORTED=y CONFIG_SOC_WIFI_SUPPORTED=y -CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y CONFIG_SOC_TWAI_SUPPORTED=y -CONFIG_SOC_EFUSE_SUPPORTED=y -CONFIG_SOC_EMAC_SUPPORTED=y +CONFIG_SOC_GDMA_SUPPORTED=y +CONFIG_SOC_AHB_GDMA_SUPPORTED=y +CONFIG_SOC_GPTIMER_SUPPORTED=y +CONFIG_SOC_LCDCAM_SUPPORTED=y +CONFIG_SOC_MCPWM_SUPPORTED=y +CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y +CONFIG_SOC_CACHE_SUPPORT_WRAP=y CONFIG_SOC_ULP_SUPPORTED=y +CONFIG_SOC_ULP_FSM_SUPPORTED=y +CONFIG_SOC_RISCV_COPROC_SUPPORTED=y +CONFIG_SOC_BT_SUPPORTED=y +CONFIG_SOC_USB_OTG_SUPPORTED=y +CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y +CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y +CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y +CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y +CONFIG_SOC_EFUSE_SUPPORTED=y +CONFIG_SOC_SDMMC_HOST_SUPPORTED=y CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y CONFIG_SOC_RTC_MEM_SUPPORTED=y +CONFIG_SOC_PSRAM_DMA_CAPABLE=y +CONFIG_SOC_XT_WDT_SUPPORTED=y CONFIG_SOC_I2S_SUPPORTED=y CONFIG_SOC_RMT_SUPPORTED=y CONFIG_SOC_SDM_SUPPORTED=y CONFIG_SOC_GPSPI_SUPPORTED=y CONFIG_SOC_LEDC_SUPPORTED=y CONFIG_SOC_I2C_SUPPORTED=y +CONFIG_SOC_SYSTIMER_SUPPORTED=y CONFIG_SOC_SUPPORT_COEXISTENCE=y +CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y CONFIG_SOC_AES_SUPPORTED=y CONFIG_SOC_MPI_SUPPORTED=y CONFIG_SOC_SHA_SUPPORTED=y +CONFIG_SOC_HMAC_SUPPORTED=y +CONFIG_SOC_DIG_SIGN_SUPPORTED=y CONFIG_SOC_FLASH_ENC_SUPPORTED=y CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +CONFIG_SOC_MEMPROT_SUPPORTED=y CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y CONFIG_SOC_BOD_SUPPORTED=y -CONFIG_SOC_ULP_FSM_SUPPORTED=y CONFIG_SOC_CLK_TREE_SUPPORTED=y CONFIG_SOC_MPU_SUPPORTED=y CONFIG_SOC_WDT_SUPPORTED=y @@ -49,30 +62,36 @@ CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y CONFIG_SOC_PM_SUPPORTED=y -CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5 -CONFIG_SOC_XTAL_SUPPORT_26M=y CONFIG_SOC_XTAL_SUPPORT_40M=y -CONFIG_SOC_XTAL_SUPPORT_AUTO_DETECT=y +CONFIG_SOC_APPCPU_HAS_CLOCK_GATING_BUG=y CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +CONFIG_SOC_ADC_ARBITER_SUPPORTED=y +CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y +CONFIG_SOC_ADC_MONITOR_SUPPORTED=y CONFIG_SOC_ADC_DMA_SUPPORTED=y CONFIG_SOC_ADC_PERIPH_NUM=2 CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 CONFIG_SOC_ADC_ATTEN_NUM=4 CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 -CONFIG_SOC_ADC_PATT_LEN_MAX=16 -CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=9 +CONFIG_SOC_ADC_PATT_LEN_MAX=24 +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 -CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2 +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 -CONFIG_SOC_ADC_DIGI_MONITOR_NUM=0 -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=2 -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=20 -CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9 +CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y +CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y CONFIG_SOC_ADC_SHARED_POWER=y -CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y -CONFIG_SOC_IDCACHE_PER_CORE=y +CONFIG_SOC_APB_BACKUP_DMA=y +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y +CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y +CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y CONFIG_SOC_CPU_CORES_NUM=2 CONFIG_SOC_CPU_INTR_NUM=32 CONFIG_SOC_CPU_HAS_FPU=y @@ -80,48 +99,56 @@ CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64 -CONFIG_SOC_DAC_CHAN_NUM=2 -CONFIG_SOC_DAC_RESOLUTION=8 -CONFIG_SOC_DAC_DMA_16BIT_ALIGN=y +CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096 +CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 +CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 +CONFIG_SOC_AHB_GDMA_VERSION=1 +CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 +CONFIG_SOC_GDMA_PAIRS_PER_GROUP=5 +CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=5 +CONFIG_SOC_AHB_GDMA_SUPPORT_PSRAM=y CONFIG_SOC_GPIO_PORT=1 -CONFIG_SOC_GPIO_PIN_COUNT=40 -CONFIG_SOC_GPIO_VALID_GPIO_MASK=0xFFFFFFFFFF -CONFIG_SOC_GPIO_IN_RANGE_MAX=39 -CONFIG_SOC_GPIO_OUT_RANGE_MAX=33 -CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA +CONFIG_SOC_GPIO_PIN_COUNT=49 +CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y +CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y +CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y +CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y +CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x1FFFFFFFFFFFF +CONFIG_SOC_GPIO_IN_RANGE_MAX=48 +CONFIG_SOC_GPIO_OUT_RANGE_MAX=48 +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000 CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y CONFIG_SOC_I2C_NUM=2 CONFIG_SOC_HP_I2C_NUM=2 CONFIG_SOC_I2C_FIFO_LEN=32 -CONFIG_SOC_I2C_CMD_REG_NUM=16 +CONFIG_SOC_I2C_CMD_REG_NUM=8 CONFIG_SOC_I2C_SUPPORT_SLAVE=y -CONFIG_SOC_I2C_SUPPORT_APB=y -CONFIG_SOC_I2C_STOP_INDEPENDENT=y +CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y +CONFIG_SOC_I2C_SUPPORT_XTAL=y +CONFIG_SOC_I2C_SUPPORT_RTC=y +CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y CONFIG_SOC_I2S_NUM=2 -CONFIG_SOC_I2S_HW_VERSION_1=y -CONFIG_SOC_I2S_SUPPORTS_APLL=y +CONFIG_SOC_I2S_HW_VERSION_2=y +CONFIG_SOC_I2S_SUPPORTS_XTAL=y CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y +CONFIG_SOC_I2S_SUPPORTS_PCM=y CONFIG_SOC_I2S_SUPPORTS_PDM=y CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y -CONFIG_SOC_I2S_PDM_MAX_TX_LINES=1 +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y -CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1 -CONFIG_SOC_I2S_SUPPORTS_ADC_DAC=y -CONFIG_SOC_I2S_SUPPORTS_ADC=y -CONFIG_SOC_I2S_SUPPORTS_DAC=y -CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y -CONFIG_SOC_I2S_TRANS_SIZE_ALIGN_WORD=y -CONFIG_SOC_I2S_LCD_I80_VARIANT=y -CONFIG_SOC_LCD_I80_SUPPORTED=y -CONFIG_SOC_LCD_I80_BUSES=2 -CONFIG_SOC_LCD_I80_BUS_WIDTH=24 -CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=4 +CONFIG_SOC_I2S_SUPPORTS_TDM=y CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y -CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y -CONFIG_SOC_LEDC_SUPPORT_HS_MODE=y +CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y CONFIG_SOC_LEDC_CHANNEL_NUM=8 -CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 +CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y CONFIG_SOC_MCPWM_GROUPS=2 CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 @@ -132,116 +159,208 @@ CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 -CONFIG_SOC_MMU_PERIPH_NUM=2 -CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=3 -CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 -CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 +CONFIG_SOC_MMU_PERIPH_NUM=1 CONFIG_SOC_PCNT_GROUPS=1 -CONFIG_SOC_PCNT_UNITS_PER_GROUP=8 +CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 CONFIG_SOC_RMT_GROUPS=1 -CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=8 -CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=8 +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4 +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4 CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 -CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64 -CONFIG_SOC_RMT_SUPPORT_REF_TICK=y +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 +CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y +CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y +CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y +CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y +CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y +CONFIG_SOC_RMT_SUPPORT_XTAL=y +CONFIG_SOC_RMT_SUPPORT_RC_FAST=y CONFIG_SOC_RMT_SUPPORT_APB=y -CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y -CONFIG_SOC_RTCIO_PIN_COUNT=18 +CONFIG_SOC_RMT_SUPPORT_DMA=y +CONFIG_SOC_LCD_I80_SUPPORTED=y +CONFIG_SOC_LCD_RGB_SUPPORTED=y +CONFIG_SOC_LCD_I80_BUSES=1 +CONFIG_SOC_LCD_RGB_PANELS=1 +CONFIG_SOC_LCD_I80_BUS_WIDTH=16 +CONFIG_SOC_LCD_RGB_DATA_WIDTH=16 +CONFIG_SOC_LCD_SUPPORT_RGB_YUV_CONV=y +CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 +CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549 +CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128 +CONFIG_SOC_RTCIO_PIN_COUNT=22 CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y -CONFIG_SOC_SDM_GROUPS=1 +CONFIG_SOC_SDM_GROUPS=y CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 CONFIG_SOC_SDM_CLK_SUPPORT_APB=y -CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y -CONFIG_SOC_SPI_AS_CS_SUPPORTED=y CONFIG_SOC_SPI_PERIPH_NUM=3 -CONFIG_SOC_SPI_DMA_CHAN_NUM=2 -CONFIG_SOC_SPI_MAX_CS_NUM=3 -CONFIG_SOC_SPI_SUPPORT_CLK_APB=y +CONFIG_SOC_SPI_MAX_CS_NUM=6 CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 -CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192 +CONFIG_SOC_SPI_SUPPORT_DDRCLK=y +CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y +CONFIG_SOC_SPI_SUPPORT_CD_SIG=y +CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y +CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +CONFIG_SOC_SPI_SUPPORT_CLK_APB=y +CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y +CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y +CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 +CONFIG_SOC_SPI_SUPPORT_OCT=y +CONFIG_SOC_SPI_SCT_SUPPORTED=y +CONFIG_SOC_SPI_SCT_REG_NUM=14 +CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y +CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA +CONFIG_SOC_MEMSPI_SRC_FREQ_120M=y CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y -CONFIG_SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y +CONFIG_SOC_SPIRAM_SUPPORTED=y +CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y +CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 +CONFIG_SOC_SYSTIMER_ALARM_NUM=3 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 +CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y +CONFIG_SOC_SYSTIMER_INT_LEVEL=y +CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y CONFIG_SOC_TIMER_GROUPS=2 CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 -CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64 -CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 +CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y -CONFIG_SOC_TOUCH_SENSOR_VERSION=1 -CONFIG_SOC_TOUCH_SENSOR_NUM=10 +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +CONFIG_SOC_TOUCH_SENSOR_VERSION=2 +CONFIG_SOC_TOUCH_SENSOR_NUM=15 +CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y +CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y +CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y +CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3 +CONFIG_SOC_TOUCH_PROXIMITY_MEAS_DONE_SUPPORTED=y CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 CONFIG_SOC_TWAI_CONTROLLER_NUM=1 -CONFIG_SOC_TWAI_BRP_MIN=2 CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y -CONFIG_SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT=y +CONFIG_SOC_TWAI_BRP_MIN=2 +CONFIG_SOC_TWAI_BRP_MAX=16384 +CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y CONFIG_SOC_UART_NUM=3 CONFIG_SOC_UART_HP_NUM=3 -CONFIG_SOC_UART_SUPPORT_APB_CLK=y -CONFIG_SOC_UART_SUPPORT_REF_TICK=y CONFIG_SOC_UART_FIFO_LEN=128 CONFIG_SOC_UART_BITRATE_MAX=5000000 -CONFIG_SOC_SPIRAM_SUPPORTED=y -CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y -CONFIG_SOC_SHA_SUPPORT_PARALLEL_ENG=y -CONFIG_SOC_SHA_ENDIANNESS_BE=y +CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y +CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y +CONFIG_SOC_UART_SUPPORT_APB_CLK=y +CONFIG_SOC_UART_SUPPORT_RTC_CLK=y +CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y +CONFIG_SOC_USB_OTG_PERIPH_NUM=1 +CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 +CONFIG_SOC_SHA_SUPPORT_DMA=y +CONFIG_SOC_SHA_SUPPORT_RESUME=y +CONFIG_SOC_SHA_GDMA=y CONFIG_SOC_SHA_SUPPORT_SHA1=y +CONFIG_SOC_SHA_SUPPORT_SHA224=y CONFIG_SOC_SHA_SUPPORT_SHA256=y CONFIG_SOC_SHA_SUPPORT_SHA384=y CONFIG_SOC_SHA_SUPPORT_SHA512=y +CONFIG_SOC_SHA_SUPPORT_SHA512_224=y +CONFIG_SOC_SHA_SUPPORT_SHA512_256=y +CONFIG_SOC_SHA_SUPPORT_SHA512_T=y CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 -CONFIG_SOC_MPI_OPERATIONS_NUM=y +CONFIG_SOC_MPI_OPERATIONS_NUM=3 CONFIG_SOC_RSA_MAX_BIT_LEN=4096 +CONFIG_SOC_AES_SUPPORT_DMA=y +CONFIG_SOC_AES_GDMA=y CONFIG_SOC_AES_SUPPORT_AES_128=y -CONFIG_SOC_AES_SUPPORT_AES_192=y CONFIG_SOC_AES_SUPPORT_AES_256=y -CONFIG_SOC_SECURE_BOOT_V1=y -CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y -CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 -CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_CPU_PD=y +CONFIG_SOC_PM_SUPPORT_TAGMEM_PD=y CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y -CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y -CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y CONFIG_SOC_PM_SUPPORT_MODEM_PD=y CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y -CONFIG_SOC_CLK_APLL_SUPPORTED=y +CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y +CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y +CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y -CONFIG_SOC_SDMMC_USE_IOMUX=y +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y +CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_USB_JTAG=y +CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y +CONFIG_SOC_EFUSE_DIS_ICACHE=y +CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y +CONFIG_SOC_SECURE_BOOT_V2_RSA=y +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 +CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y +CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y +CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 +CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=256 +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192 +CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y +CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_OPI_MODE=y +CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y +CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y +CONFIG_SOC_MEMSPI_CORE_CLK_SHARED_WITH_PSRAM=y +CONFIG_SOC_COEX_HW_PTI=y +CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y +CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y CONFIG_SOC_SDMMC_NUM_SLOTS=2 +CONFIG_SOC_SDMMC_SUPPORT_XTAL_CLOCK=y +CONFIG_SOC_SDMMC_DELAY_PHASE_NUM=4 +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y +CONFIG_SOC_WIFI_HW_TSF=y +CONFIG_SOC_WIFI_FTM_SUPPORT=y +CONFIG_SOC_WIFI_GCMP_SUPPORT=y CONFIG_SOC_WIFI_WAPI_SUPPORT=y CONFIG_SOC_WIFI_CSI_SUPPORT=y CONFIG_SOC_WIFI_MESH_SUPPORT=y CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y -CONFIG_SOC_WIFI_NAN_SUPPORT=y +CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y CONFIG_SOC_BLE_SUPPORTED=y CONFIG_SOC_BLE_MESH_SUPPORTED=y -CONFIG_SOC_BT_CLASSIC_SUPPORTED=y +CONFIG_SOC_BLE_50_SUPPORTED=y +CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y CONFIG_SOC_BLUFI_SUPPORTED=y -CONFIG_SOC_BT_H2C_ENC_KEY_CTRL_ENH_VSC_SUPPORTED=y CONFIG_SOC_ULP_HAS_ADC=y CONFIG_SOC_PHY_COMBO_MODULE=y -CONFIG_SOC_EMAC_RMII_CLK_OUT_INTERNAL_LOOPBACK=y CONFIG_IDF_CMAKE=y CONFIG_IDF_TOOLCHAIN="gcc" CONFIG_IDF_TARGET_ARCH_XTENSA=y CONFIG_IDF_TARGET_ARCH="xtensa" -CONFIG_IDF_TARGET="esp32" +CONFIG_IDF_TARGET="esp32s3" CONFIG_IDF_INIT_VERSION="5.3.1" -CONFIG_IDF_TARGET_ESP32=y -CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 +CONFIG_IDF_TARGET_ESP32S3=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009 # # Build type @@ -253,8 +372,6 @@ CONFIG_APP_BUILD_BOOTLOADER=y CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y # CONFIG_APP_REPRODUCIBLE_BUILD is not set # CONFIG_APP_NO_BLOBS is not set -# CONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set -# CONFIG_APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set # end of Build type # @@ -268,7 +385,7 @@ CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y CONFIG_BOOTLOADER_PROJECT_VER=1 # end of Bootloader manager -CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000 +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set @@ -306,10 +423,12 @@ CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 # # Security features # -CONFIG_SECURE_BOOT_V1_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_PREFERRED=y # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set # CONFIG_SECURE_BOOT is not set # CONFIG_SECURE_FLASH_ENC_ENABLED is not set +CONFIG_SECURE_ROM_DL_MODE_ENABLED=y # end of Security features # @@ -326,30 +445,56 @@ CONFIG_ESP_ROM_HAS_CRC_LE=y CONFIG_ESP_ROM_HAS_CRC_BE=y CONFIG_ESP_ROM_HAS_MZ_CRC32=y CONFIG_ESP_ROM_HAS_JPEG_DECODE=y -CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y +CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y +CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y +CONFIG_ESP_ROM_USB_OTG_NUM=3 +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 +CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y +CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y +CONFIG_ESP_ROM_GET_CLK_FREQ=y +CONFIG_ESP_ROM_HAS_HAL_WDT=y CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y +CONFIG_ESP_ROM_HAS_SPI_FLASH=y +CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y CONFIG_ESP_ROM_HAS_NEWLIB=y CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y +CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y +CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y +CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y +CONFIG_ESP_ROM_HAS_CACHE_SUSPEND_WAITI_BUG=y +CONFIG_ESP_ROM_HAS_CACHE_WRITEBACK_BUG=y CONFIG_ESP_ROM_HAS_SW_FLOAT=y -CONFIG_ESP_ROM_USB_OTG_NUM=-1 -CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=-1 +CONFIG_ESP_ROM_HAS_VERSION=y CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y +# +# Boot ROM Behavior +# +CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y +# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set +# end of Boot ROM Behavior + # # Serial flasher config # # CONFIG_ESPTOOLPY_NO_STUB is not set -# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# CONFIG_ESPTOOLPY_OCT_FLASH is not set +CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=y +CONFIG_ESPTOOLPY_FLASHMODE_QIO=y # CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set -CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set # CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y CONFIG_ESPTOOLPY_FLASHMODE="dio" +# CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set CONFIG_ESPTOOLPY_FLASHFREQ_80M=y # CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set -# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set # CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y CONFIG_ESPTOOLPY_FLASHFREQ="80m" # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set @@ -424,6 +569,7 @@ CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y CONFIG_APPTRACE_DEST_NONE=y # CONFIG_APPTRACE_DEST_UART1 is not set # CONFIG_APPTRACE_DEST_UART2 is not set +# CONFIG_APPTRACE_DEST_USB_CDC is not set CONFIG_APPTRACE_DEST_UART_NONE=y CONFIG_APPTRACE_UART_TASK_PRIO=1 CONFIG_APPTRACE_LOCK_ENABLE=y @@ -450,7 +596,7 @@ CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y CONFIG_BT_NIMBLE_LOG_LEVEL_INFO=y # CONFIG_BT_NIMBLE_LOG_LEVEL_DEBUG is not set CONFIG_BT_NIMBLE_LOG_LEVEL=1 -CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=3 CONFIG_BT_NIMBLE_MAX_BONDS=3 CONFIG_BT_NIMBLE_MAX_CCCDS=8 CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM=0 @@ -478,8 +624,8 @@ CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE=0 # # Memory Settings # -CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=24 -CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=128 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=12 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=256 CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=24 CONFIG_BT_NIMBLE_MSYS_2_BLOCK_SIZE=320 CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=24 @@ -491,14 +637,21 @@ CONFIG_BT_NIMBLE_L2CAP_COC_SDU_BUFF_COUNT=1 # end of Memory Settings CONFIG_BT_NIMBLE_GATT_MAX_PROCS=4 -# CONFIG_BT_NIMBLE_HS_FLOW_CTRL is not set +CONFIG_BT_NIMBLE_HS_FLOW_CTRL=y +CONFIG_BT_NIMBLE_HS_FLOW_CTRL_ITVL=1000 +CONFIG_BT_NIMBLE_HS_FLOW_CTRL_THRESH=2 +CONFIG_BT_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y CONFIG_BT_NIMBLE_RPA_TIMEOUT=900 # CONFIG_BT_NIMBLE_MESH is not set CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000 -# CONFIG_BT_NIMBLE_HOST_BASED_PRIVACY is not set -CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=y -CONFIG_BT_NIMBLE_MAX_CONN_REATTEMPT=3 +# CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT is not set +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=y +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY=y +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY=y +# CONFIG_BT_NIMBLE_EXT_ADV is not set +CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS=0 +# CONFIG_BT_NIMBLE_GATT_CACHING is not set CONFIG_BT_NIMBLE_WHITELIST_SIZE=12 # CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set # CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set @@ -566,46 +719,77 @@ CONFIG_BT_NIMBLE_HCI_UART_CTS_PIN=23 # # Controller Options # -CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y -# CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY is not set -# CONFIG_BTDM_CTRL_MODE_BTDM is not set -CONFIG_BTDM_CTRL_BLE_MAX_CONN=3 -CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=0 -CONFIG_BTDM_CTRL_PCM_ROLE_EFF=0 -CONFIG_BTDM_CTRL_PCM_POLAR_EFF=0 -CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=3 -CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=0 -CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0 -CONFIG_BTDM_CTRL_PINNED_TO_CORE=0 -CONFIG_BTDM_CTRL_HCI_MODE_VHCI=y -# CONFIG_BTDM_CTRL_HCI_MODE_UART_H4 is not set +CONFIG_BT_CTRL_MODE_EFF=1 +CONFIG_BT_CTRL_BLE_MAX_ACT=6 +CONFIG_BT_CTRL_BLE_MAX_ACT_EFF=6 +CONFIG_BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB=0 +CONFIG_BT_CTRL_PINNED_TO_CORE=0 +CONFIG_BT_CTRL_HCI_MODE_VHCI=y +# CONFIG_BT_CTRL_HCI_MODE_UART_H4 is not set +CONFIG_BT_CTRL_HCI_TL=1 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=30 +CONFIG_BT_BLE_CCA_MODE_NONE=y +# CONFIG_BT_BLE_CCA_MODE_HW is not set +# CONFIG_BT_BLE_CCA_MODE_SW is not set +CONFIG_BT_BLE_CCA_MODE=0 +CONFIG_BT_CTRL_HW_CCA_VAL=20 +CONFIG_BT_CTRL_HW_CCA_EFF=0 +CONFIG_BT_CTRL_CE_LENGTH_TYPE_ORIG=y +# CONFIG_BT_CTRL_CE_LENGTH_TYPE_CE is not set +# CONFIG_BT_CTRL_CE_LENGTH_TYPE_SD is not set +CONFIG_BT_CTRL_CE_LENGTH_TYPE_EFF=0 +CONFIG_BT_CTRL_TX_ANTENNA_INDEX_0=y +# CONFIG_BT_CTRL_TX_ANTENNA_INDEX_1 is not set +CONFIG_BT_CTRL_TX_ANTENNA_INDEX_EFF=0 +CONFIG_BT_CTRL_RX_ANTENNA_INDEX_0=y +# CONFIG_BT_CTRL_RX_ANTENNA_INDEX_1 is not set +CONFIG_BT_CTRL_RX_ANTENNA_INDEX_EFF=0 +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N24 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N21 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N18 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N15 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N12 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N9 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N6 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N3 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N0 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P3 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P6 is not set +CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P9=y +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P12 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P15 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P18 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P21 is not set +CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_EFF=11 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 +CONFIG_BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 +CONFIG_BT_CTRL_BLE_SCAN_DUPL=y +CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DEVICE=y +# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA is not set +# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA_DEVICE is not set +CONFIG_BT_CTRL_SCAN_DUPL_TYPE=0 +CONFIG_BT_CTRL_SCAN_DUPL_CACHE_SIZE=100 +CONFIG_BT_CTRL_DUPL_SCAN_CACHE_REFRESH_PERIOD=0 +# CONFIG_BT_CTRL_BLE_MESH_SCAN_DUPL_EN is not set +# CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EN is not set +CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_DIS=y +CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EFF=0 # # MODEM SLEEP Options # -CONFIG_BTDM_CTRL_MODEM_SLEEP=y -CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_ORIG=y -# CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_EVED is not set -CONFIG_BTDM_CTRL_LPCLK_SEL_MAIN_XTAL=y +# CONFIG_BT_CTRL_MODEM_SLEEP is not set # end of MODEM SLEEP Options -CONFIG_BTDM_BLE_DEFAULT_SCA_250PPM=y -CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1 -CONFIG_BTDM_BLE_SCAN_DUPL=y -CONFIG_BTDM_SCAN_DUPL_TYPE_DEVICE=y -# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA is not set -# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA_DEVICE is not set -CONFIG_BTDM_SCAN_DUPL_TYPE=0 -CONFIG_BTDM_SCAN_DUPL_CACHE_SIZE=100 -CONFIG_BTDM_SCAN_DUPL_CACHE_REFRESH_PERIOD=0 -# CONFIG_BTDM_BLE_MESH_SCAN_DUPL_EN is not set -CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED=y -# CONFIG_BTDM_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set -CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y -CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 -CONFIG_BTDM_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 -CONFIG_BTDM_RESERVE_DRAM=0xdb5c -CONFIG_BTDM_CTRL_HLI=y +CONFIG_BT_CTRL_SLEEP_MODE_EFF=0 +CONFIG_BT_CTRL_SLEEP_CLOCK_EFF=0 +CONFIG_BT_CTRL_HCI_TL_EFF=1 +# CONFIG_BT_CTRL_AGC_RECORRECT_EN is not set +# CONFIG_BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set +# CONFIG_BT_BLE_ADV_DATA_LENGTH_ZERO_AUX is not set +CONFIG_BT_CTRL_CHAN_ASS_EN=y +CONFIG_BT_CTRL_LE_PING_EN=y # end of Controller Options # @@ -633,35 +817,21 @@ CONFIG_BT_ALARM_MAX_NUM=50 # TWAI Configuration # # CONFIG_TWAI_ISR_IN_IRAM is not set -CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC=y -CONFIG_TWAI_ERRATA_FIX_TX_INTR_LOST=y -CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID=y -CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT=y CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y # end of TWAI Configuration # # Legacy ADC Driver Configuration # -CONFIG_ADC_DISABLE_DAC=y # CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set # # Legacy ADC Calibration Configuration # -CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y -CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y -CONFIG_ADC_CAL_LUT_ENABLE=y # CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set # end of Legacy ADC Calibration Configuration # end of Legacy ADC Driver Configuration -# -# Legacy DAC Driver Configurations -# -# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy DAC Driver Configurations - # # Legacy MCPWM Driver Configurations # @@ -697,6 +867,12 @@ CONFIG_ADC_CAL_LUT_ENABLE=y # # CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set # end of Legacy SDM Driver Configurations + +# +# Legacy Temperature Sensor Driver Configurations +# +# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy Temperature Sensor Driver Configurations # end of Driver Configurations # @@ -704,17 +880,14 @@ CONFIG_ADC_CAL_LUT_ENABLE=y # # CONFIG_EFUSE_CUSTOM_TABLE is not set # CONFIG_EFUSE_VIRTUAL is not set -# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set -CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y -# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set -CONFIG_EFUSE_MAX_BLK_LEN=192 +CONFIG_EFUSE_MAX_BLK_LEN=256 # end of eFuse Bit Manager # # ESP-TLS # CONFIG_ESP_TLS_USING_MBEDTLS=y -# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set +CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set # CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set # CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set @@ -728,16 +901,7 @@ CONFIG_ESP_TLS_USING_MBEDTLS=y # # CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set # CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set - -# -# ADC Calibration Configurations -# -CONFIG_ADC_CALI_EFUSE_TP_ENABLE=y -CONFIG_ADC_CALI_EFUSE_VREF_ENABLE=y -CONFIG_ADC_CALI_LUT_ENABLE=y -# end of ADC Calibration Configurations - -CONFIG_ADC_DISABLE_DAC_OUTPUT=y +# CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set # CONFIG_ADC_ENABLE_DEBUG_LOG is not set # end of ADC and ADC Calibration @@ -755,19 +919,9 @@ CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y CONFIG_ESP_ERR_TO_NAME_LOOKUP=y # end of Common ESP-related -# -# ESP-Driver:DAC Configurations -# -# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set -# CONFIG_DAC_ISR_IRAM_SAFE is not set -# CONFIG_DAC_ENABLE_DEBUG_LOG is not set -CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y -# end of ESP-Driver:DAC Configurations - # # ESP-Driver:GPIO Configurations # -# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set # CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set # end of ESP-Driver:GPIO Configurations @@ -847,25 +1001,28 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y # CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:Touch Sensor Configurations +# +# ESP-Driver:Temperature Sensor Configurations +# +# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Temperature Sensor Configurations + # # ESP-Driver:UART Configurations # # CONFIG_UART_ISR_IN_IRAM is not set # end of ESP-Driver:UART Configurations +# +# ESP-Driver:USB Serial/JTAG Configuration +# +CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y +# end of ESP-Driver:USB Serial/JTAG Configuration + # # Ethernet # CONFIG_ETH_ENABLED=y -CONFIG_ETH_USE_ESP32_EMAC=y -CONFIG_ETH_PHY_INTERFACE_RMII=y -CONFIG_ETH_RMII_CLK_INPUT=y -# CONFIG_ETH_RMII_CLK_OUTPUT is not set -CONFIG_ETH_RMII_CLK_IN_GPIO=0 -CONFIG_ETH_DMA_BUFFER_SIZE=512 -CONFIG_ETH_DMA_RX_BUFFER_NUM=10 -CONFIG_ETH_DMA_TX_BUFFER_NUM=10 -# CONFIG_ETH_IRAM_OPTIMIZATION is not set CONFIG_ETH_USE_SPI_ETHERNET=y # CONFIG_ETH_SPI_ETHERNET_DM9051 is not set # CONFIG_ETH_SPI_ETHERNET_W5500 is not set @@ -932,21 +1089,17 @@ CONFIG_HTTPD_PURGE_BUF_LEN=32 # # Chip revision # -CONFIG_ESP32_REV_MIN_0=y -# CONFIG_ESP32_REV_MIN_1 is not set -# CONFIG_ESP32_REV_MIN_1_1 is not set -# CONFIG_ESP32_REV_MIN_2 is not set -# CONFIG_ESP32_REV_MIN_3 is not set -# CONFIG_ESP32_REV_MIN_3_1 is not set -CONFIG_ESP32_REV_MIN=0 -CONFIG_ESP32_REV_MIN_FULL=0 +CONFIG_ESP32S3_REV_MIN_0=y +# CONFIG_ESP32S3_REV_MIN_1 is not set +# CONFIG_ESP32S3_REV_MIN_2 is not set +CONFIG_ESP32S3_REV_MIN_FULL=0 CONFIG_ESP_REV_MIN_FULL=0 # -# Maximum Supported ESP32 Revision (Rev v3.99) +# Maximum Supported ESP32-S3 Revision (Rev v0.99) # -CONFIG_ESP32_REV_MAX_FULL=399 -CONFIG_ESP_REV_MAX_FULL=399 +CONFIG_ESP32S3_REV_MAX_FULL=99 +CONFIG_ESP_REV_MAX_FULL=99 # end of Chip revision # @@ -958,10 +1111,9 @@ CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 -# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set -CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y -CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 -# CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR is not set +# CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4 # CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set # end of MAC Config @@ -995,12 +1147,18 @@ CONFIG_RTC_CLK_CAL_CYCLES=1024 CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y # end of Peripheral Control +# +# GDMA Configurations +# +CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y +# CONFIG_GDMA_ISR_IRAM_SAFE is not set +# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set +# end of GDMA Configurations + # # Main XTAL Config # -# CONFIG_XTAL_FREQ_26 is not set CONFIG_XTAL_FREQ_40=y -# CONFIG_XTAL_FREQ_AUTO is not set CONFIG_XTAL_FREQ=40 # end of Main XTAL Config @@ -1020,6 +1178,8 @@ CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y # CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 # CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set +# CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set # end of LCD Peripheral Configuration # end of LCD and Touch Panel @@ -1049,6 +1209,8 @@ CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 CONFIG_ESP_PHY_MAX_TX_POWER=20 # CONFIG_ESP_PHY_REDUCE_TX_POWER is not set +CONFIG_ESP_PHY_ENABLE_USB=y +# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set CONFIG_ESP_PHY_RF_CAL_PARTIAL=y # CONFIG_ESP_PHY_RF_CAL_NONE is not set # CONFIG_ESP_PHY_RF_CAL_FULL is not set @@ -1061,6 +1223,8 @@ CONFIG_ESP_PHY_CALIBRATION_MODE=0 # # CONFIG_PM_ENABLE is not set CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y +CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y # end of Power Management # @@ -1079,29 +1243,47 @@ CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y # ESP System Settings # # CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 + +# +# Cache config +# +CONFIG_ESP32S3_INSTRUCTION_CACHE_16KB=y +# CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB is not set +CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE=0x4000 +# CONFIG_ESP32S3_INSTRUCTION_CACHE_4WAYS is not set +CONFIG_ESP32S3_INSTRUCTION_CACHE_8WAYS=y +CONFIG_ESP32S3_ICACHE_ASSOCIATED_WAYS=8 +# CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_16B is not set +CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_32B=y +CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_SIZE=32 +# CONFIG_ESP32S3_DATA_CACHE_16KB is not set +CONFIG_ESP32S3_DATA_CACHE_32KB=y +# CONFIG_ESP32S3_DATA_CACHE_64KB is not set +CONFIG_ESP32S3_DATA_CACHE_SIZE=0x8000 +# CONFIG_ESP32S3_DATA_CACHE_4WAYS is not set +CONFIG_ESP32S3_DATA_CACHE_8WAYS=y +CONFIG_ESP32S3_DCACHE_ASSOCIATED_WAYS=8 +# CONFIG_ESP32S3_DATA_CACHE_LINE_16B is not set +# CONFIG_ESP32S3_DATA_CACHE_LINE_32B is not set +CONFIG_ESP32S3_DATA_CACHE_LINE_64B=y +CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=64 +# end of Cache config # # Memory # -# CONFIG_ESP32_RTCDATA_IN_FAST_MEM is not set -# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set -# CONFIG_ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY is not set - -# -# Non-backward compatible options -# -# CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM is not set -# end of Non-backward compatible options +# CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM is not set +# CONFIG_ESP32S3_USE_FIXED_STATIC_RAM_SIZE is not set # end of Memory # # Trace memory # -# CONFIG_ESP32_TRAX is not set -CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 +# CONFIG_ESP32S3_TRAX is not set +CONFIG_ESP32S3_TRACEMEM_RESERVE_DRAM=0x0 # end of Trace memory # CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set @@ -1116,6 +1298,8 @@ CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y # # Memory protection # +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y # end of Memory protection CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 @@ -1126,41 +1310,40 @@ CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# CONFIG_ESP_CONSOLE_USB_CDC is not set +# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set # CONFIG_ESP_CONSOLE_UART_CUSTOM is not set # CONFIG_ESP_CONSOLE_NONE is not set +# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set +CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y CONFIG_ESP_CONSOLE_UART=y CONFIG_ESP_CONSOLE_UART_NUM=0 CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 -CONFIG_ESP_INT_WDT=y -CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 -CONFIG_ESP_TASK_WDT_EN=y -CONFIG_ESP_TASK_WDT_INIT=y -# CONFIG_ESP_TASK_WDT_PANIC is not set -CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 -CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_ESP_INT_WDT is not set +# CONFIG_ESP_TASK_WDT_EN is not set # CONFIG_ESP_PANIC_HANDLER_IRAM is not set # CONFIG_ESP_DEBUG_STUBS_ENABLE is not set CONFIG_ESP_DEBUG_OCDAWARE=y -CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5=y +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y # # Brownout Detector # CONFIG_ESP_BROWNOUT_DET=y -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set CONFIG_ESP_BROWNOUT_DET_LVL=7 # end of Brownout Detector -# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y # end of ESP System Settings # @@ -1182,7 +1365,7 @@ CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y # CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set -CONFIG_ESP_TIMER_IMPL_TG0_LAC=y +CONFIG_ESP_TIMER_IMPL_SYSTIMER=y # end of ESP Timer (High Resolution Timer) # @@ -1191,10 +1374,10 @@ CONFIG_ESP_TIMER_IMPL_TG0_LAC=y CONFIG_ESP_WIFI_ENABLED=y CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y -CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y +# CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER is not set +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=16 CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y # CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 @@ -1218,17 +1401,21 @@ CONFIG_ESP_WIFI_SLP_IRAM_OPT=y CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 +# CONFIG_ESP_WIFI_FTM_ENABLE is not set CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y +# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set CONFIG_ESP_WIFI_GMAC_SUPPORT=y CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y # CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 -# CONFIG_ESP_WIFI_NAN_ENABLE is not set CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y +# CONFIG_ESP_WIFI_EAP_TLS1_3 is not set # CONFIG_ESP_WIFI_WAPI_PSK is not set +# CONFIG_ESP_WIFI_SUITE_B_192 is not set # CONFIG_ESP_WIFI_11KV_SUPPORT is not set # CONFIG_ESP_WIFI_MBO_SUPPORT is not set +# CONFIG_ESP_WIFI_ENABLE_ROAMING_APP is not set # CONFIG_ESP_WIFI_DPP_SUPPORT is not set # CONFIG_ESP_WIFI_11R_SUPPORT is not set # CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set @@ -1308,7 +1495,7 @@ CONFIG_FATFS_LINK_LOCK=y # # CONFIG_FREERTOS_SMP is not set CONFIG_FREERTOS_UNICORE=y -CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_HZ=1000 CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set @@ -1344,11 +1531,10 @@ CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y CONFIG_FREERTOS_ISR_STACKSIZE=1536 CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y -# CONFIG_FREERTOS_FPU_IN_ISR is not set -CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y -CONFIG_FREERTOS_CORETIMER_0=y -# CONFIG_FREERTOS_CORETIMER_1 is not set -CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y +CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y +CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y +# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set +CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set # end of Port @@ -1370,6 +1556,7 @@ CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y # CONFIG_HAL_ASSERTION_SILENT is not set # CONFIG_HAL_ASSERTION_ENABLE is not set CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +CONFIG_HAL_WDT_USE_ROM_IMPL=y CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y # end of Hardware Abstraction Layer (HAL) and Low Level (LL) @@ -1620,9 +1807,13 @@ CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 # CONFIG_MBEDTLS_ECP_RESTARTABLE is not set CONFIG_MBEDTLS_CMAC_C=y CONFIG_MBEDTLS_HARDWARE_AES=y +CONFIG_MBEDTLS_AES_USE_INTERRUPT=y +CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y CONFIG_MBEDTLS_HARDWARE_MPI=y CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y +CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y +CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_HARDWARE_SHA=y CONFIG_MBEDTLS_ROM_MD5=y # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set @@ -1745,6 +1936,7 @@ CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y # # NVS # +# CONFIG_NVS_ENCRYPTION is not set # CONFIG_NVS_ASSERT_ERROR_CHECK is not set # CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set # end of NVS @@ -1820,6 +2012,14 @@ CONFIG_SPI_FLASH_BROWNOUT_RESET=y # # Features here require specific hardware (READ DOCS FIRST!) # +# CONFIG_SPI_FLASH_HPM_ENA is not set +CONFIG_SPI_FLASH_HPM_AUTO=y +# CONFIG_SPI_FLASH_HPM_DIS is not set +CONFIG_SPI_FLASH_HPM_ON=y +CONFIG_SPI_FLASH_HPM_DC_AUTO=y +# CONFIG_SPI_FLASH_HPM_DC_DISABLE is not set +CONFIG_SPI_FLASH_SUSPEND_QVL_SUPPORTED=y +# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 # end of Optional and Experimental Features (READ DOCS FIRST) # end of Main Flash configuration @@ -1830,10 +2030,10 @@ CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 # CONFIG_SPI_FLASH_VERIFY_WRITE is not set # CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +# CONFIG_SPI_FLASH_ROM_IMPL is not set CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y # CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set # CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set -# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set # CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 @@ -1851,12 +2051,15 @@ CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_TH_SUPPORTED=y # CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_GD_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set +CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP=y # end of Auto-detect flash chips CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y @@ -1934,6 +2137,28 @@ CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y # CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set # end of Unity unit testing library +# +# USB-OTG +# +CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256 +CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y +# CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set +# CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set + +# +# Root Hub configuration +# +CONFIG_USB_HOST_DEBOUNCE_DELAY_MS=250 +CONFIG_USB_HOST_RESET_HOLD_MS=30 +CONFIG_USB_HOST_RESET_RECOVERY_MS=30 +CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10 +# end of Root Hub configuration + +# CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set +# CONFIG_USB_HOST_EXT_HUB_SUPPORT is not set +CONFIG_USB_OTG_SUPPORTED=y +# end of USB-OTG + # # Virtual file system # @@ -1996,9 +2221,8 @@ CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 # # Memory settings # -# CONFIG_LV_MEM_CUSTOM is not set -CONFIG_LV_MEM_SIZE_KILOBYTES=32 -CONFIG_LV_MEM_ADDR=0x0 +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEM_CUSTOM_INCLUDE="stdlib.h" CONFIG_LV_MEM_BUF_MAX_NUM=16 # CONFIG_LV_MEMCPY_MEMSET_STD is not set # end of Memory settings @@ -2006,10 +2230,10 @@ CONFIG_LV_MEM_BUF_MAX_NUM=16 # # HAL Settings # -CONFIG_LV_DISP_DEF_REFR_PERIOD=30 +CONFIG_LV_DISP_DEF_REFR_PERIOD=5 CONFIG_LV_INDEV_DEF_READ_PERIOD=30 # CONFIG_LV_TICK_CUSTOM is not set -CONFIG_LV_DPI_DEF=130 +CONFIG_LV_DPI_DEF=217 # end of HAL Settings # @@ -2063,7 +2287,6 @@ CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" # Others # # CONFIG_LV_USE_PERF_MONITOR is not set -# CONFIG_LV_USE_MEM_MONITOR is not set # CONFIG_LV_USE_REFR_DEBUG is not set # CONFIG_LV_SPRINTF_CUSTOM is not set # CONFIG_LV_SPRINTF_USE_FLOAT is not set @@ -2076,7 +2299,7 @@ CONFIG_LV_USE_USER_DATA=y # # CONFIG_LV_BIG_ENDIAN_SYSTEM is not set CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 -# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set +CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y # CONFIG_LV_USE_LARGE_COORD is not set # end of Compiler settings # end of Feature configuration @@ -2241,7 +2464,7 @@ CONFIG_LV_USE_GRID=y # CONFIG_LV_USE_PNG is not set # CONFIG_LV_USE_BMP is not set # CONFIG_LV_USE_SJPG is not set -# CONFIG_LV_USE_GIF is not set +CONFIG_LV_USE_GIF=y # CONFIG_LV_USE_QRCODE is not set # CONFIG_LV_USE_FREETYPE is not set # CONFIG_LV_USE_TINY_TTF is not set @@ -2376,7 +2599,6 @@ CONFIG_LV_DISPLAY_USE_DC=y CONFIG_LV_DISP_PIN_DC=16 CONFIG_LV_DISP_USE_RST=y CONFIG_LV_DISP_PIN_RST=5 -CONFIG_LV_DISP_PIN_BUSY=35 # end of Display Pin Assignments # CONFIG_LV_DISP_BACKLIGHT_OFF is not set @@ -2384,54 +2606,61 @@ CONFIG_LV_DISP_BACKLIGHT_SWITCH=y # CONFIG_LV_DISP_BACKLIGHT_PWM is not set CONFIG_LV_BACKLIGHT_ACTIVE_LVL=y CONFIG_LV_DISP_PIN_BCKL=32 +CONFIG_LV_I2C=y CONFIG_LV_I2C_DISPLAY_PORT=0 # end of LVGL TFT Display controller # # LVGL Touch controller # -CONFIG_LV_TOUCH_CONTROLLER=1 +CONFIG_LV_TOUCH_CONTROLLER=7 # CONFIG_LV_TOUCH_CONTROLLER_NONE is not set -CONFIG_LV_TOUCH_CONTROLLER_XPT2046=y +# CONFIG_LV_TOUCH_CONTROLLER_XPT2046 is not set # CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set # CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set # CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set # CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set # CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set -# CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set -CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI=y -CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST=y -# CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST is not set - -# -# Touchpanel (XPT2046) Pin Assignments -# -CONFIG_LV_TOUCH_SPI_MISO=19 -CONFIG_LV_TOUCH_SPI_MOSI=23 -CONFIG_LV_TOUCH_SPI_CLK=18 -CONFIG_LV_TOUCH_SPI_CS=5 -CONFIG_LV_TOUCH_PIN_IRQ=25 -# end of Touchpanel (XPT2046) Pin Assignments +CONFIG_LV_TOUCH_CONTROLLER_GT911=y +CONFIG_LV_I2C_TOUCH=y # -# Touchpanel Configuration (XPT2046) +# Touchpanel Configuration (GT911) # -CONFIG_LV_TOUCH_X_MIN=200 -CONFIG_LV_TOUCH_Y_MIN=120 -CONFIG_LV_TOUCH_X_MAX=1900 -CONFIG_LV_TOUCH_Y_MAX=1900 -CONFIG_LV_TOUCH_XY_SWAP=y -CONFIG_LV_TOUCH_INVERT_X=y -# CONFIG_LV_TOUCH_INVERT_Y is not set -# CONFIG_LV_TOUCH_DETECT_IRQ is not set -CONFIG_LV_TOUCH_DETECT_IRQ_PRESSURE=y -# CONFIG_LV_TOUCH_DETECT_PRESSURE is not set -# end of Touchpanel Configuration (XPT2046) +CONFIG_LV_GT911_SWAPXY=y +# CONFIG_LV_GT911_INVERT_X is not set +CONFIG_LV_GT911_INVERT_Y=y +# end of Touchpanel Configuration (GT911) +CONFIG_LV_I2C_TOUCH_PORT_0=y +# CONFIG_LV_I2C_TOUCH_PORT_1 is not set CONFIG_LV_I2C_TOUCH_PORT=0 # end of LVGL Touch controller # end of LVGL ESP Drivers +# +# I2C Port Settings +# + +# +# I2C Port 0 +# +CONFIG_I2C_MANAGER_0_ENABLED=y +CONFIG_I2C_MANAGER_0_SDA=19 +CONFIG_I2C_MANAGER_0_SCL=20 +CONFIG_I2C_MANAGER_0_FREQ_HZ=400000 +CONFIG_I2C_MANAGER_0_TIMEOUT=100 +CONFIG_I2C_MANAGER_0_LOCK_TIMEOUT=50 +# CONFIG_I2C_MANAGER_0_PULLUPS is not set +# end of I2C Port 0 + +# +# I2C Port 1 +# +# CONFIG_I2C_MANAGER_1_ENABLED is not set +# end of I2C Port 1 +# end of I2C Port Settings + # # mDNS # @@ -2462,14 +2691,11 @@ CONFIG_MDNS_PREDEF_NETIF_ETH=y # end of mDNS # end of Component config -# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set +CONFIG_IDF_EXPERIMENTAL_FEATURES=y # Deprecated options for backward compatibility # CONFIG_APP_BUILD_TYPE_ELF_RAM is not set # CONFIG_NO_BLOBS is not set -# CONFIG_ESP32_NO_BLOBS is not set -# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set -# CONFIG_ESP32_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set # CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set # CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set # CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set @@ -2479,9 +2705,9 @@ CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y CONFIG_LOG_BOOTLOADER_LEVEL=3 # CONFIG_APP_ROLLBACK_ENABLE is not set # CONFIG_FLASH_ENCRYPTION_ENABLED is not set -# CONFIG_FLASHMODE_QIO is not set +CONFIG_FLASHMODE_QIO=y # CONFIG_FLASHMODE_QOUT is not set -CONFIG_FLASHMODE_DIO=y +# CONFIG_FLASHMODE_DIO is not set # CONFIG_FLASHMODE_DOUT is not set CONFIG_MONITOR_BAUD=115200 # CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set @@ -2506,7 +2732,7 @@ CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y CONFIG_NIMBLE_ENABLED=y CONFIG_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y # CONFIG_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set -CONFIG_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_NIMBLE_MAX_CONNECTIONS=3 CONFIG_NIMBLE_MAX_BONDS=3 CONFIG_NIMBLE_MAX_CCCDS=8 CONFIG_NIMBLE_L2CAP_COC_MAX_NUM=0 @@ -2527,39 +2753,21 @@ CONFIG_NIMBLE_SVC_GAP_DEVICE_NAME="nimble" CONFIG_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31 CONFIG_NIMBLE_ATT_PREFERRED_MTU=256 CONFIG_NIMBLE_SVC_GAP_APPEARANCE=0 -CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT=24 +CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT=12 CONFIG_BT_NIMBLE_ACL_BUF_COUNT=24 CONFIG_BT_NIMBLE_ACL_BUF_SIZE=255 CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE=70 CONFIG_BT_NIMBLE_HCI_EVT_HI_BUF_COUNT=30 CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT=8 -# CONFIG_NIMBLE_HS_FLOW_CTRL is not set +CONFIG_NIMBLE_HS_FLOW_CTRL=y +CONFIG_NIMBLE_HS_FLOW_CTRL_ITVL=1000 +CONFIG_NIMBLE_HS_FLOW_CTRL_THRESH=2 +CONFIG_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y CONFIG_NIMBLE_RPA_TIMEOUT=900 # CONFIG_NIMBLE_MESH is not set CONFIG_NIMBLE_CRYPTO_STACK_MBEDTLS=y -CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY=y -# CONFIG_BTDM_CONTROLLER_MODE_BR_EDR_ONLY is not set -# CONFIG_BTDM_CONTROLLER_MODE_BTDM is not set -CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN=3 -CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=3 -CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0 -CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0 -CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0 -CONFIG_BTDM_CONTROLLER_HCI_MODE_VHCI=y -# CONFIG_BTDM_CONTROLLER_HCI_MODE_UART_H4 is not set -CONFIG_BTDM_CONTROLLER_MODEM_SLEEP=y -CONFIG_BLE_SCAN_DUPLICATE=y -CONFIG_SCAN_DUPLICATE_BY_DEVICE_ADDR=y -# CONFIG_SCAN_DUPLICATE_BY_ADV_DATA is not set -# CONFIG_SCAN_DUPLICATE_BY_ADV_DATA_AND_DEVICE_ADDR is not set -CONFIG_SCAN_DUPLICATE_TYPE=0 -CONFIG_DUPLICATE_SCAN_CACHE_SIZE=100 -# CONFIG_BLE_MESH_SCAN_DUPLICATE_EN is not set -CONFIG_BTDM_CONTROLLER_FULL_SCAN_SUPPORTED=y -CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_SUPPORTED=y -CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_NUM=100 -CONFIG_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 -CONFIG_ADC2_DISABLE_DAC=y +# CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_EN is not set +CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_DIS=y CONFIG_SW_COEXIST_ENABLE=y CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y @@ -2570,43 +2778,27 @@ CONFIG_POST_EVENTS_FROM_IRAM_ISR=y CONFIG_GDBSTUB_SUPPORT_TASKS=y CONFIG_GDBSTUB_MAX_TASKS=32 # CONFIG_OTA_ALLOW_HTTP is not set -# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set -CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y -CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 # CONFIG_ESP_SYSTEM_PD_FLASH is not set -CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=0 +CONFIG_ESP32S3_DEEP_SLEEP_WAKEUP_DELAY=0 CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=0 -CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y -CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y -# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set -# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set -# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set -# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set -# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set -# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set -CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 -# CONFIG_ESP32_XTAL_FREQ_26 is not set -CONFIG_ESP32_XTAL_FREQ_40=y -# CONFIG_ESP32_XTAL_FREQ_AUTO is not set -CONFIG_ESP32_XTAL_FREQ=40 +CONFIG_ESP32S3_RTC_CLK_SRC_INT_RC=y +# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32S3_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_ESP32S3_RTC_CLK_CAL_CYCLES=1024 CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y # CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 CONFIG_ESP32_PHY_MAX_TX_POWER=20 # CONFIG_REDUCE_PHY_TX_POWER is not set # CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set -# CONFIG_SPIRAM_SUPPORT is not set -# CONFIG_ESP32_SPIRAM_SUPPORT is not set -# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set -CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y -# CONFIG_ESP32_DEFAULT_CPU_FREQ_240 is not set -CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=160 -CONFIG_TRACEMEM_RESERVE_DRAM=0x0 -# CONFIG_ESP32_PANIC_PRINT_HALT is not set -CONFIG_ESP32_PANIC_PRINT_REBOOT=y -# CONFIG_ESP32_PANIC_SILENT_REBOOT is not set -# CONFIG_ESP32_PANIC_GDBSTUB is not set -CONFIG_ESP32_ALLOW_RTC_FAST_MEM_AS_HEAP=y +CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y +CONFIG_PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP=y +# CONFIG_ESP32S3_SPIRAM_SUPPORT is not set +# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_80 is not set +# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_160 is not set +CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240=y +CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ=240 CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 CONFIG_MAIN_TASK_STACK_SIZE=3584 @@ -2617,45 +2809,37 @@ CONFIG_CONSOLE_UART_DEFAULT=y CONFIG_CONSOLE_UART=y CONFIG_CONSOLE_UART_NUM=0 CONFIG_CONSOLE_UART_BAUDRATE=115200 -CONFIG_INT_WDT=y -CONFIG_INT_WDT_TIMEOUT_MS=300 -CONFIG_TASK_WDT=y -CONFIG_ESP_TASK_WDT=y -# CONFIG_TASK_WDT_PANIC is not set -CONFIG_TASK_WDT_TIMEOUT_S=5 -CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_INT_WDT is not set # CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set -CONFIG_ESP32_DEBUG_OCDAWARE=y +CONFIG_ESP32S3_DEBUG_OCDAWARE=y CONFIG_BROWNOUT_DET=y -CONFIG_ESP32_BROWNOUT_DET=y -# CONFIG_BROWNOUT_DET_LVL_SEL_0 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set +CONFIG_ESP32S3_BROWNOUT_DET=y +CONFIG_ESP32S3_BROWNOUT_DET=y CONFIG_BROWNOUT_DET_LVL_SEL_7=y -CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7=y +CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_1 is not set CONFIG_BROWNOUT_DET_LVL=7 -CONFIG_ESP32_BROWNOUT_DET_LVL=7 -# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set +CONFIG_ESP32S3_BROWNOUT_DET_LVL=7 CONFIG_IPC_TASK_STACK_SIZE=1024 CONFIG_TIMER_TASK_STACK_SIZE=3584 CONFIG_ESP32_WIFI_ENABLED=y CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y -CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y +# CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER is not set +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 # CONFIG_ESP32_WIFI_CSI_ENABLED is not set CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y CONFIG_ESP32_WIFI_TX_BA_WIN=6 @@ -2673,6 +2857,7 @@ CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y CONFIG_WPA_MBEDTLS_CRYPTO=y CONFIG_WPA_MBEDTLS_TLS_CLIENT=y # CONFIG_WPA_WAPI_PSK is not set +# CONFIG_WPA_SUITE_B_192 is not set # CONFIG_WPA_11KV_SUPPORT is not set # CONFIG_WPA_MBO_SUPPORT is not set # CONFIG_WPA_DPP_SUPPORT is not set @@ -2710,12 +2895,12 @@ CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y # CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF # CONFIG_PPP_SUPPORT is not set -CONFIG_ESP32_TIME_SYSCALL_USE_RTC_HRT=y -CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y -# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set -# CONFIG_ESP32_TIME_SYSCALL_USE_HRT is not set -# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set -# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_SYSTIMER=y +CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_FRC1=y +# CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_SYSTIMER is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_FRC1 is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_NONE is not set CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 CONFIG_ESP32_PTHREAD_STACK_MIN=768 @@ -2724,7 +2909,6 @@ CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y # CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set # CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set -# CONFIG_ESP32_ULP_COPROC_ENABLED is not set CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y CONFIG_SUPPORT_TERMIOS=y CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 diff --git a/sdkconfig.old b/sdkconfig.old index c2946606..ed9c0700 100644 --- a/sdkconfig.old +++ b/sdkconfig.old @@ -2,44 +2,57 @@ # Automatically generated file. DO NOT EDIT. # Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Configuration # -CONFIG_SOC_BROWNOUT_RESET_SUPPORTED="Not determined" -CONFIG_SOC_TWAI_BRP_DIV_SUPPORTED="Not determined" -CONFIG_SOC_DPORT_WORKAROUND="Not determined" -CONFIG_SOC_CAPS_ECO_VER_MAX=301 +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 CONFIG_SOC_ADC_SUPPORTED=y -CONFIG_SOC_DAC_SUPPORTED=y CONFIG_SOC_UART_SUPPORTED=y -CONFIG_SOC_MCPWM_SUPPORTED=y -CONFIG_SOC_GPTIMER_SUPPORTED=y -CONFIG_SOC_SDMMC_HOST_SUPPORTED=y -CONFIG_SOC_BT_SUPPORTED=y CONFIG_SOC_PCNT_SUPPORTED=y CONFIG_SOC_PHY_SUPPORTED=y CONFIG_SOC_WIFI_SUPPORTED=y -CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y CONFIG_SOC_TWAI_SUPPORTED=y -CONFIG_SOC_EFUSE_SUPPORTED=y -CONFIG_SOC_EMAC_SUPPORTED=y +CONFIG_SOC_GDMA_SUPPORTED=y +CONFIG_SOC_AHB_GDMA_SUPPORTED=y +CONFIG_SOC_GPTIMER_SUPPORTED=y +CONFIG_SOC_LCDCAM_SUPPORTED=y +CONFIG_SOC_MCPWM_SUPPORTED=y +CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y +CONFIG_SOC_CACHE_SUPPORT_WRAP=y CONFIG_SOC_ULP_SUPPORTED=y +CONFIG_SOC_ULP_FSM_SUPPORTED=y +CONFIG_SOC_RISCV_COPROC_SUPPORTED=y +CONFIG_SOC_BT_SUPPORTED=y +CONFIG_SOC_USB_OTG_SUPPORTED=y +CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y +CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y +CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y +CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y +CONFIG_SOC_EFUSE_SUPPORTED=y +CONFIG_SOC_SDMMC_HOST_SUPPORTED=y CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y CONFIG_SOC_RTC_MEM_SUPPORTED=y +CONFIG_SOC_PSRAM_DMA_CAPABLE=y +CONFIG_SOC_XT_WDT_SUPPORTED=y CONFIG_SOC_I2S_SUPPORTED=y CONFIG_SOC_RMT_SUPPORTED=y CONFIG_SOC_SDM_SUPPORTED=y CONFIG_SOC_GPSPI_SUPPORTED=y CONFIG_SOC_LEDC_SUPPORTED=y CONFIG_SOC_I2C_SUPPORTED=y +CONFIG_SOC_SYSTIMER_SUPPORTED=y CONFIG_SOC_SUPPORT_COEXISTENCE=y +CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y CONFIG_SOC_AES_SUPPORTED=y CONFIG_SOC_MPI_SUPPORTED=y CONFIG_SOC_SHA_SUPPORTED=y +CONFIG_SOC_HMAC_SUPPORTED=y +CONFIG_SOC_DIG_SIGN_SUPPORTED=y CONFIG_SOC_FLASH_ENC_SUPPORTED=y CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +CONFIG_SOC_MEMPROT_SUPPORTED=y CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y CONFIG_SOC_BOD_SUPPORTED=y -CONFIG_SOC_ULP_FSM_SUPPORTED=y CONFIG_SOC_CLK_TREE_SUPPORTED=y CONFIG_SOC_MPU_SUPPORTED=y CONFIG_SOC_WDT_SUPPORTED=y @@ -49,30 +62,36 @@ CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y CONFIG_SOC_PM_SUPPORTED=y -CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5 -CONFIG_SOC_XTAL_SUPPORT_26M=y CONFIG_SOC_XTAL_SUPPORT_40M=y -CONFIG_SOC_XTAL_SUPPORT_AUTO_DETECT=y +CONFIG_SOC_APPCPU_HAS_CLOCK_GATING_BUG=y CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +CONFIG_SOC_ADC_ARBITER_SUPPORTED=y +CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y +CONFIG_SOC_ADC_MONITOR_SUPPORTED=y CONFIG_SOC_ADC_DMA_SUPPORTED=y CONFIG_SOC_ADC_PERIPH_NUM=2 CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 CONFIG_SOC_ADC_ATTEN_NUM=4 CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 -CONFIG_SOC_ADC_PATT_LEN_MAX=16 -CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=9 +CONFIG_SOC_ADC_PATT_LEN_MAX=24 +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 -CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2 +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 -CONFIG_SOC_ADC_DIGI_MONITOR_NUM=0 -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=2 -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=20 -CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9 +CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y +CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y CONFIG_SOC_ADC_SHARED_POWER=y -CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y -CONFIG_SOC_IDCACHE_PER_CORE=y +CONFIG_SOC_APB_BACKUP_DMA=y +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y +CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y +CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y CONFIG_SOC_CPU_CORES_NUM=2 CONFIG_SOC_CPU_INTR_NUM=32 CONFIG_SOC_CPU_HAS_FPU=y @@ -80,48 +99,56 @@ CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64 -CONFIG_SOC_DAC_CHAN_NUM=2 -CONFIG_SOC_DAC_RESOLUTION=8 -CONFIG_SOC_DAC_DMA_16BIT_ALIGN=y +CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096 +CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 +CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 +CONFIG_SOC_AHB_GDMA_VERSION=1 +CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 +CONFIG_SOC_GDMA_PAIRS_PER_GROUP=5 +CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=5 +CONFIG_SOC_AHB_GDMA_SUPPORT_PSRAM=y CONFIG_SOC_GPIO_PORT=1 -CONFIG_SOC_GPIO_PIN_COUNT=40 -CONFIG_SOC_GPIO_VALID_GPIO_MASK=0xFFFFFFFFFF -CONFIG_SOC_GPIO_IN_RANGE_MAX=39 -CONFIG_SOC_GPIO_OUT_RANGE_MAX=33 -CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA +CONFIG_SOC_GPIO_PIN_COUNT=49 +CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y +CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y +CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y +CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y +CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x1FFFFFFFFFFFF +CONFIG_SOC_GPIO_IN_RANGE_MAX=48 +CONFIG_SOC_GPIO_OUT_RANGE_MAX=48 +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000 CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y CONFIG_SOC_I2C_NUM=2 CONFIG_SOC_HP_I2C_NUM=2 CONFIG_SOC_I2C_FIFO_LEN=32 -CONFIG_SOC_I2C_CMD_REG_NUM=16 +CONFIG_SOC_I2C_CMD_REG_NUM=8 CONFIG_SOC_I2C_SUPPORT_SLAVE=y -CONFIG_SOC_I2C_SUPPORT_APB=y -CONFIG_SOC_I2C_STOP_INDEPENDENT=y +CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y +CONFIG_SOC_I2C_SUPPORT_XTAL=y +CONFIG_SOC_I2C_SUPPORT_RTC=y +CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y CONFIG_SOC_I2S_NUM=2 -CONFIG_SOC_I2S_HW_VERSION_1=y -CONFIG_SOC_I2S_SUPPORTS_APLL=y +CONFIG_SOC_I2S_HW_VERSION_2=y +CONFIG_SOC_I2S_SUPPORTS_XTAL=y CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y +CONFIG_SOC_I2S_SUPPORTS_PCM=y CONFIG_SOC_I2S_SUPPORTS_PDM=y CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y -CONFIG_SOC_I2S_PDM_MAX_TX_LINES=1 +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y -CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1 -CONFIG_SOC_I2S_SUPPORTS_ADC_DAC=y -CONFIG_SOC_I2S_SUPPORTS_ADC=y -CONFIG_SOC_I2S_SUPPORTS_DAC=y -CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y -CONFIG_SOC_I2S_TRANS_SIZE_ALIGN_WORD=y -CONFIG_SOC_I2S_LCD_I80_VARIANT=y -CONFIG_SOC_LCD_I80_SUPPORTED=y -CONFIG_SOC_LCD_I80_BUSES=2 -CONFIG_SOC_LCD_I80_BUS_WIDTH=24 -CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=4 +CONFIG_SOC_I2S_SUPPORTS_TDM=y CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y -CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y -CONFIG_SOC_LEDC_SUPPORT_HS_MODE=y +CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y CONFIG_SOC_LEDC_CHANNEL_NUM=8 -CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 +CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y CONFIG_SOC_MCPWM_GROUPS=2 CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 @@ -132,116 +159,208 @@ CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 -CONFIG_SOC_MMU_PERIPH_NUM=2 -CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=3 -CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 -CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 +CONFIG_SOC_MMU_PERIPH_NUM=1 CONFIG_SOC_PCNT_GROUPS=1 -CONFIG_SOC_PCNT_UNITS_PER_GROUP=8 +CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 CONFIG_SOC_RMT_GROUPS=1 -CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=8 -CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=8 +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4 +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4 CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 -CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64 -CONFIG_SOC_RMT_SUPPORT_REF_TICK=y +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 +CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y +CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y +CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y +CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y +CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y +CONFIG_SOC_RMT_SUPPORT_XTAL=y +CONFIG_SOC_RMT_SUPPORT_RC_FAST=y CONFIG_SOC_RMT_SUPPORT_APB=y -CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y -CONFIG_SOC_RTCIO_PIN_COUNT=18 +CONFIG_SOC_RMT_SUPPORT_DMA=y +CONFIG_SOC_LCD_I80_SUPPORTED=y +CONFIG_SOC_LCD_RGB_SUPPORTED=y +CONFIG_SOC_LCD_I80_BUSES=1 +CONFIG_SOC_LCD_RGB_PANELS=1 +CONFIG_SOC_LCD_I80_BUS_WIDTH=16 +CONFIG_SOC_LCD_RGB_DATA_WIDTH=16 +CONFIG_SOC_LCD_SUPPORT_RGB_YUV_CONV=y +CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 +CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549 +CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128 +CONFIG_SOC_RTCIO_PIN_COUNT=22 CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y -CONFIG_SOC_SDM_GROUPS=1 +CONFIG_SOC_SDM_GROUPS=y CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 CONFIG_SOC_SDM_CLK_SUPPORT_APB=y -CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y -CONFIG_SOC_SPI_AS_CS_SUPPORTED=y CONFIG_SOC_SPI_PERIPH_NUM=3 -CONFIG_SOC_SPI_DMA_CHAN_NUM=2 -CONFIG_SOC_SPI_MAX_CS_NUM=3 -CONFIG_SOC_SPI_SUPPORT_CLK_APB=y +CONFIG_SOC_SPI_MAX_CS_NUM=6 CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 -CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192 +CONFIG_SOC_SPI_SUPPORT_DDRCLK=y +CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y +CONFIG_SOC_SPI_SUPPORT_CD_SIG=y +CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y +CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +CONFIG_SOC_SPI_SUPPORT_CLK_APB=y +CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y +CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y +CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 +CONFIG_SOC_SPI_SUPPORT_OCT=y +CONFIG_SOC_SPI_SCT_SUPPORTED=y +CONFIG_SOC_SPI_SCT_REG_NUM=14 +CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y +CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA +CONFIG_SOC_MEMSPI_SRC_FREQ_120M=y CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y -CONFIG_SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y +CONFIG_SOC_SPIRAM_SUPPORTED=y +CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y +CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 +CONFIG_SOC_SYSTIMER_ALARM_NUM=3 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 +CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y +CONFIG_SOC_SYSTIMER_INT_LEVEL=y +CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y CONFIG_SOC_TIMER_GROUPS=2 CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 -CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64 -CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 +CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y -CONFIG_SOC_TOUCH_SENSOR_VERSION=1 -CONFIG_SOC_TOUCH_SENSOR_NUM=10 +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +CONFIG_SOC_TOUCH_SENSOR_VERSION=2 +CONFIG_SOC_TOUCH_SENSOR_NUM=15 +CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y +CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y +CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y +CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3 +CONFIG_SOC_TOUCH_PROXIMITY_MEAS_DONE_SUPPORTED=y CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 CONFIG_SOC_TWAI_CONTROLLER_NUM=1 -CONFIG_SOC_TWAI_BRP_MIN=2 CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y -CONFIG_SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT=y +CONFIG_SOC_TWAI_BRP_MIN=2 +CONFIG_SOC_TWAI_BRP_MAX=16384 +CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y CONFIG_SOC_UART_NUM=3 CONFIG_SOC_UART_HP_NUM=3 -CONFIG_SOC_UART_SUPPORT_APB_CLK=y -CONFIG_SOC_UART_SUPPORT_REF_TICK=y CONFIG_SOC_UART_FIFO_LEN=128 CONFIG_SOC_UART_BITRATE_MAX=5000000 -CONFIG_SOC_SPIRAM_SUPPORTED=y -CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y -CONFIG_SOC_SHA_SUPPORT_PARALLEL_ENG=y -CONFIG_SOC_SHA_ENDIANNESS_BE=y +CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y +CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y +CONFIG_SOC_UART_SUPPORT_APB_CLK=y +CONFIG_SOC_UART_SUPPORT_RTC_CLK=y +CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y +CONFIG_SOC_USB_OTG_PERIPH_NUM=1 +CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 +CONFIG_SOC_SHA_SUPPORT_DMA=y +CONFIG_SOC_SHA_SUPPORT_RESUME=y +CONFIG_SOC_SHA_GDMA=y CONFIG_SOC_SHA_SUPPORT_SHA1=y +CONFIG_SOC_SHA_SUPPORT_SHA224=y CONFIG_SOC_SHA_SUPPORT_SHA256=y CONFIG_SOC_SHA_SUPPORT_SHA384=y CONFIG_SOC_SHA_SUPPORT_SHA512=y +CONFIG_SOC_SHA_SUPPORT_SHA512_224=y +CONFIG_SOC_SHA_SUPPORT_SHA512_256=y +CONFIG_SOC_SHA_SUPPORT_SHA512_T=y CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 -CONFIG_SOC_MPI_OPERATIONS_NUM=y +CONFIG_SOC_MPI_OPERATIONS_NUM=3 CONFIG_SOC_RSA_MAX_BIT_LEN=4096 +CONFIG_SOC_AES_SUPPORT_DMA=y +CONFIG_SOC_AES_GDMA=y CONFIG_SOC_AES_SUPPORT_AES_128=y -CONFIG_SOC_AES_SUPPORT_AES_192=y CONFIG_SOC_AES_SUPPORT_AES_256=y -CONFIG_SOC_SECURE_BOOT_V1=y -CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y -CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 -CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_CPU_PD=y +CONFIG_SOC_PM_SUPPORT_TAGMEM_PD=y CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y -CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y -CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y CONFIG_SOC_PM_SUPPORT_MODEM_PD=y CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y -CONFIG_SOC_CLK_APLL_SUPPORTED=y +CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y +CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y +CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y -CONFIG_SOC_SDMMC_USE_IOMUX=y +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y +CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_USB_JTAG=y +CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y +CONFIG_SOC_EFUSE_DIS_ICACHE=y +CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y +CONFIG_SOC_SECURE_BOOT_V2_RSA=y +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 +CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y +CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y +CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 +CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=256 +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192 +CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y +CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_OPI_MODE=y +CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y +CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y +CONFIG_SOC_MEMSPI_CORE_CLK_SHARED_WITH_PSRAM=y +CONFIG_SOC_COEX_HW_PTI=y +CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y +CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y CONFIG_SOC_SDMMC_NUM_SLOTS=2 +CONFIG_SOC_SDMMC_SUPPORT_XTAL_CLOCK=y +CONFIG_SOC_SDMMC_DELAY_PHASE_NUM=4 +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y +CONFIG_SOC_WIFI_HW_TSF=y +CONFIG_SOC_WIFI_FTM_SUPPORT=y +CONFIG_SOC_WIFI_GCMP_SUPPORT=y CONFIG_SOC_WIFI_WAPI_SUPPORT=y CONFIG_SOC_WIFI_CSI_SUPPORT=y CONFIG_SOC_WIFI_MESH_SUPPORT=y CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y -CONFIG_SOC_WIFI_NAN_SUPPORT=y +CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y CONFIG_SOC_BLE_SUPPORTED=y CONFIG_SOC_BLE_MESH_SUPPORTED=y -CONFIG_SOC_BT_CLASSIC_SUPPORTED=y +CONFIG_SOC_BLE_50_SUPPORTED=y +CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y CONFIG_SOC_BLUFI_SUPPORTED=y -CONFIG_SOC_BT_H2C_ENC_KEY_CTRL_ENH_VSC_SUPPORTED=y CONFIG_SOC_ULP_HAS_ADC=y CONFIG_SOC_PHY_COMBO_MODULE=y -CONFIG_SOC_EMAC_RMII_CLK_OUT_INTERNAL_LOOPBACK=y CONFIG_IDF_CMAKE=y CONFIG_IDF_TOOLCHAIN="gcc" CONFIG_IDF_TARGET_ARCH_XTENSA=y CONFIG_IDF_TARGET_ARCH="xtensa" -CONFIG_IDF_TARGET="esp32" +CONFIG_IDF_TARGET="esp32s3" CONFIG_IDF_INIT_VERSION="5.3.1" -CONFIG_IDF_TARGET_ESP32=y -CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 +CONFIG_IDF_TARGET_ESP32S3=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009 # # Build type @@ -253,8 +372,6 @@ CONFIG_APP_BUILD_BOOTLOADER=y CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y # CONFIG_APP_REPRODUCIBLE_BUILD is not set # CONFIG_APP_NO_BLOBS is not set -# CONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set -# CONFIG_APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set # end of Build type # @@ -268,7 +385,7 @@ CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y CONFIG_BOOTLOADER_PROJECT_VER=1 # end of Bootloader manager -CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000 +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set @@ -306,10 +423,12 @@ CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 # # Security features # -CONFIG_SECURE_BOOT_V1_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_PREFERRED=y # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set # CONFIG_SECURE_BOOT is not set # CONFIG_SECURE_FLASH_ENC_ENABLED is not set +CONFIG_SECURE_ROM_DL_MODE_ENABLED=y # end of Security features # @@ -326,30 +445,56 @@ CONFIG_ESP_ROM_HAS_CRC_LE=y CONFIG_ESP_ROM_HAS_CRC_BE=y CONFIG_ESP_ROM_HAS_MZ_CRC32=y CONFIG_ESP_ROM_HAS_JPEG_DECODE=y -CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y +CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y +CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y +CONFIG_ESP_ROM_USB_OTG_NUM=3 +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 +CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y +CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y +CONFIG_ESP_ROM_GET_CLK_FREQ=y +CONFIG_ESP_ROM_HAS_HAL_WDT=y CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y +CONFIG_ESP_ROM_HAS_SPI_FLASH=y +CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y CONFIG_ESP_ROM_HAS_NEWLIB=y CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y +CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y +CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y +CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y +CONFIG_ESP_ROM_HAS_CACHE_SUSPEND_WAITI_BUG=y +CONFIG_ESP_ROM_HAS_CACHE_WRITEBACK_BUG=y CONFIG_ESP_ROM_HAS_SW_FLOAT=y -CONFIG_ESP_ROM_USB_OTG_NUM=-1 -CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=-1 +CONFIG_ESP_ROM_HAS_VERSION=y CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y +# +# Boot ROM Behavior +# +CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y +# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set +# end of Boot ROM Behavior + # # Serial flasher config # # CONFIG_ESPTOOLPY_NO_STUB is not set -# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# CONFIG_ESPTOOLPY_OCT_FLASH is not set +CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=y +CONFIG_ESPTOOLPY_FLASHMODE_QIO=y # CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set -CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set # CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y CONFIG_ESPTOOLPY_FLASHMODE="dio" +# CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set CONFIG_ESPTOOLPY_FLASHFREQ_80M=y # CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set -# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set # CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y CONFIG_ESPTOOLPY_FLASHFREQ="80m" # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set @@ -424,6 +569,7 @@ CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y CONFIG_APPTRACE_DEST_NONE=y # CONFIG_APPTRACE_DEST_UART1 is not set # CONFIG_APPTRACE_DEST_UART2 is not set +# CONFIG_APPTRACE_DEST_USB_CDC is not set CONFIG_APPTRACE_DEST_UART_NONE=y CONFIG_APPTRACE_UART_TASK_PRIO=1 CONFIG_APPTRACE_LOCK_ENABLE=y @@ -443,6 +589,7 @@ CONFIG_BT_CONTROLLER_ENABLED=y # NimBLE Options # CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y +# CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL is not set # CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set # CONFIG_BT_NIMBLE_LOG_LEVEL_NONE is not set # CONFIG_BT_NIMBLE_LOG_LEVEL_ERROR is not set @@ -450,7 +597,7 @@ CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y CONFIG_BT_NIMBLE_LOG_LEVEL_INFO=y # CONFIG_BT_NIMBLE_LOG_LEVEL_DEBUG is not set CONFIG_BT_NIMBLE_LOG_LEVEL=1 -CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=3 CONFIG_BT_NIMBLE_MAX_BONDS=3 CONFIG_BT_NIMBLE_MAX_CCCDS=8 CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM=0 @@ -478,8 +625,8 @@ CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE=0 # # Memory Settings # -CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=24 -CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=128 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=12 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=256 CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=24 CONFIG_BT_NIMBLE_MSYS_2_BLOCK_SIZE=320 CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=24 @@ -491,14 +638,21 @@ CONFIG_BT_NIMBLE_L2CAP_COC_SDU_BUFF_COUNT=1 # end of Memory Settings CONFIG_BT_NIMBLE_GATT_MAX_PROCS=4 -# CONFIG_BT_NIMBLE_HS_FLOW_CTRL is not set +CONFIG_BT_NIMBLE_HS_FLOW_CTRL=y +CONFIG_BT_NIMBLE_HS_FLOW_CTRL_ITVL=1000 +CONFIG_BT_NIMBLE_HS_FLOW_CTRL_THRESH=2 +CONFIG_BT_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y CONFIG_BT_NIMBLE_RPA_TIMEOUT=900 # CONFIG_BT_NIMBLE_MESH is not set CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000 -# CONFIG_BT_NIMBLE_HOST_BASED_PRIVACY is not set -CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=y -CONFIG_BT_NIMBLE_MAX_CONN_REATTEMPT=3 +# CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT is not set +CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=y +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY=y +CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY=y +# CONFIG_BT_NIMBLE_EXT_ADV is not set +CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS=0 +# CONFIG_BT_NIMBLE_GATT_CACHING is not set CONFIG_BT_NIMBLE_WHITELIST_SIZE=12 # CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set # CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set @@ -566,46 +720,77 @@ CONFIG_BT_NIMBLE_HCI_UART_CTS_PIN=23 # # Controller Options # -CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y -# CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY is not set -# CONFIG_BTDM_CTRL_MODE_BTDM is not set -CONFIG_BTDM_CTRL_BLE_MAX_CONN=3 -CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=0 -CONFIG_BTDM_CTRL_PCM_ROLE_EFF=0 -CONFIG_BTDM_CTRL_PCM_POLAR_EFF=0 -CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=3 -CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=0 -CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0 -CONFIG_BTDM_CTRL_PINNED_TO_CORE=0 -CONFIG_BTDM_CTRL_HCI_MODE_VHCI=y -# CONFIG_BTDM_CTRL_HCI_MODE_UART_H4 is not set +CONFIG_BT_CTRL_MODE_EFF=1 +CONFIG_BT_CTRL_BLE_MAX_ACT=6 +CONFIG_BT_CTRL_BLE_MAX_ACT_EFF=6 +CONFIG_BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB=0 +CONFIG_BT_CTRL_PINNED_TO_CORE=0 +CONFIG_BT_CTRL_HCI_MODE_VHCI=y +# CONFIG_BT_CTRL_HCI_MODE_UART_H4 is not set +CONFIG_BT_CTRL_HCI_TL=1 +CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=30 +CONFIG_BT_BLE_CCA_MODE_NONE=y +# CONFIG_BT_BLE_CCA_MODE_HW is not set +# CONFIG_BT_BLE_CCA_MODE_SW is not set +CONFIG_BT_BLE_CCA_MODE=0 +CONFIG_BT_CTRL_HW_CCA_VAL=20 +CONFIG_BT_CTRL_HW_CCA_EFF=0 +CONFIG_BT_CTRL_CE_LENGTH_TYPE_ORIG=y +# CONFIG_BT_CTRL_CE_LENGTH_TYPE_CE is not set +# CONFIG_BT_CTRL_CE_LENGTH_TYPE_SD is not set +CONFIG_BT_CTRL_CE_LENGTH_TYPE_EFF=0 +CONFIG_BT_CTRL_TX_ANTENNA_INDEX_0=y +# CONFIG_BT_CTRL_TX_ANTENNA_INDEX_1 is not set +CONFIG_BT_CTRL_TX_ANTENNA_INDEX_EFF=0 +CONFIG_BT_CTRL_RX_ANTENNA_INDEX_0=y +# CONFIG_BT_CTRL_RX_ANTENNA_INDEX_1 is not set +CONFIG_BT_CTRL_RX_ANTENNA_INDEX_EFF=0 +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N24 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N21 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N18 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N15 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N12 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N9 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N6 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N3 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N0 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P3 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P6 is not set +CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P9=y +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P12 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P15 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P18 is not set +# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P21 is not set +CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_EFF=11 +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 +CONFIG_BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 +CONFIG_BT_CTRL_BLE_SCAN_DUPL=y +CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DEVICE=y +# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA is not set +# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA_DEVICE is not set +CONFIG_BT_CTRL_SCAN_DUPL_TYPE=0 +CONFIG_BT_CTRL_SCAN_DUPL_CACHE_SIZE=100 +CONFIG_BT_CTRL_DUPL_SCAN_CACHE_REFRESH_PERIOD=0 +# CONFIG_BT_CTRL_BLE_MESH_SCAN_DUPL_EN is not set +# CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EN is not set +CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_DIS=y +CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EFF=0 # # MODEM SLEEP Options # -CONFIG_BTDM_CTRL_MODEM_SLEEP=y -CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_ORIG=y -# CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_EVED is not set -CONFIG_BTDM_CTRL_LPCLK_SEL_MAIN_XTAL=y +# CONFIG_BT_CTRL_MODEM_SLEEP is not set # end of MODEM SLEEP Options -CONFIG_BTDM_BLE_DEFAULT_SCA_250PPM=y -CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1 -CONFIG_BTDM_BLE_SCAN_DUPL=y -CONFIG_BTDM_SCAN_DUPL_TYPE_DEVICE=y -# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA is not set -# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA_DEVICE is not set -CONFIG_BTDM_SCAN_DUPL_TYPE=0 -CONFIG_BTDM_SCAN_DUPL_CACHE_SIZE=100 -CONFIG_BTDM_SCAN_DUPL_CACHE_REFRESH_PERIOD=0 -# CONFIG_BTDM_BLE_MESH_SCAN_DUPL_EN is not set -CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED=y -# CONFIG_BTDM_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set -CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y -CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 -CONFIG_BTDM_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 -CONFIG_BTDM_RESERVE_DRAM=0xdb5c -CONFIG_BTDM_CTRL_HLI=y +CONFIG_BT_CTRL_SLEEP_MODE_EFF=0 +CONFIG_BT_CTRL_SLEEP_CLOCK_EFF=0 +CONFIG_BT_CTRL_HCI_TL_EFF=1 +# CONFIG_BT_CTRL_AGC_RECORRECT_EN is not set +# CONFIG_BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set +# CONFIG_BT_BLE_ADV_DATA_LENGTH_ZERO_AUX is not set +CONFIG_BT_CTRL_CHAN_ASS_EN=y +CONFIG_BT_CTRL_LE_PING_EN=y # end of Controller Options # @@ -633,35 +818,21 @@ CONFIG_BT_ALARM_MAX_NUM=50 # TWAI Configuration # # CONFIG_TWAI_ISR_IN_IRAM is not set -CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC=y -CONFIG_TWAI_ERRATA_FIX_TX_INTR_LOST=y -CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID=y -CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT=y CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y # end of TWAI Configuration # # Legacy ADC Driver Configuration # -CONFIG_ADC_DISABLE_DAC=y # CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set # # Legacy ADC Calibration Configuration # -CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y -CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y -CONFIG_ADC_CAL_LUT_ENABLE=y # CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set # end of Legacy ADC Calibration Configuration # end of Legacy ADC Driver Configuration -# -# Legacy DAC Driver Configurations -# -# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy DAC Driver Configurations - # # Legacy MCPWM Driver Configurations # @@ -697,6 +868,12 @@ CONFIG_ADC_CAL_LUT_ENABLE=y # # CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set # end of Legacy SDM Driver Configurations + +# +# Legacy Temperature Sensor Driver Configurations +# +# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy Temperature Sensor Driver Configurations # end of Driver Configurations # @@ -704,17 +881,14 @@ CONFIG_ADC_CAL_LUT_ENABLE=y # # CONFIG_EFUSE_CUSTOM_TABLE is not set # CONFIG_EFUSE_VIRTUAL is not set -# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set -CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y -# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set -CONFIG_EFUSE_MAX_BLK_LEN=192 +CONFIG_EFUSE_MAX_BLK_LEN=256 # end of eFuse Bit Manager # # ESP-TLS # CONFIG_ESP_TLS_USING_MBEDTLS=y -# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set +CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set # CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set # CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set @@ -728,16 +902,7 @@ CONFIG_ESP_TLS_USING_MBEDTLS=y # # CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set # CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set - -# -# ADC Calibration Configurations -# -CONFIG_ADC_CALI_EFUSE_TP_ENABLE=y -CONFIG_ADC_CALI_EFUSE_VREF_ENABLE=y -CONFIG_ADC_CALI_LUT_ENABLE=y -# end of ADC Calibration Configurations - -CONFIG_ADC_DISABLE_DAC_OUTPUT=y +# CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set # CONFIG_ADC_ENABLE_DEBUG_LOG is not set # end of ADC and ADC Calibration @@ -755,19 +920,9 @@ CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y CONFIG_ESP_ERR_TO_NAME_LOOKUP=y # end of Common ESP-related -# -# ESP-Driver:DAC Configurations -# -# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set -# CONFIG_DAC_ISR_IRAM_SAFE is not set -# CONFIG_DAC_ENABLE_DEBUG_LOG is not set -CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y -# end of ESP-Driver:DAC Configurations - # # ESP-Driver:GPIO Configurations # -# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set # CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set # end of ESP-Driver:GPIO Configurations @@ -847,25 +1002,28 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y # CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:Touch Sensor Configurations +# +# ESP-Driver:Temperature Sensor Configurations +# +# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Temperature Sensor Configurations + # # ESP-Driver:UART Configurations # # CONFIG_UART_ISR_IN_IRAM is not set # end of ESP-Driver:UART Configurations +# +# ESP-Driver:USB Serial/JTAG Configuration +# +CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y +# end of ESP-Driver:USB Serial/JTAG Configuration + # # Ethernet # CONFIG_ETH_ENABLED=y -CONFIG_ETH_USE_ESP32_EMAC=y -CONFIG_ETH_PHY_INTERFACE_RMII=y -CONFIG_ETH_RMII_CLK_INPUT=y -# CONFIG_ETH_RMII_CLK_OUTPUT is not set -CONFIG_ETH_RMII_CLK_IN_GPIO=0 -CONFIG_ETH_DMA_BUFFER_SIZE=512 -CONFIG_ETH_DMA_RX_BUFFER_NUM=10 -CONFIG_ETH_DMA_TX_BUFFER_NUM=10 -# CONFIG_ETH_IRAM_OPTIMIZATION is not set CONFIG_ETH_USE_SPI_ETHERNET=y # CONFIG_ETH_SPI_ETHERNET_DM9051 is not set # CONFIG_ETH_SPI_ETHERNET_W5500 is not set @@ -932,21 +1090,17 @@ CONFIG_HTTPD_PURGE_BUF_LEN=32 # # Chip revision # -CONFIG_ESP32_REV_MIN_0=y -# CONFIG_ESP32_REV_MIN_1 is not set -# CONFIG_ESP32_REV_MIN_1_1 is not set -# CONFIG_ESP32_REV_MIN_2 is not set -# CONFIG_ESP32_REV_MIN_3 is not set -# CONFIG_ESP32_REV_MIN_3_1 is not set -CONFIG_ESP32_REV_MIN=0 -CONFIG_ESP32_REV_MIN_FULL=0 +CONFIG_ESP32S3_REV_MIN_0=y +# CONFIG_ESP32S3_REV_MIN_1 is not set +# CONFIG_ESP32S3_REV_MIN_2 is not set +CONFIG_ESP32S3_REV_MIN_FULL=0 CONFIG_ESP_REV_MIN_FULL=0 # -# Maximum Supported ESP32 Revision (Rev v3.99) +# Maximum Supported ESP32-S3 Revision (Rev v0.99) # -CONFIG_ESP32_REV_MAX_FULL=399 -CONFIG_ESP_REV_MAX_FULL=399 +CONFIG_ESP32S3_REV_MAX_FULL=99 +CONFIG_ESP_REV_MAX_FULL=99 # end of Chip revision # @@ -958,18 +1112,17 @@ CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 -# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set -CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y -CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 -# CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR is not set +# CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4 # CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set # end of MAC Config # # Sleep Config # -# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND=y # CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y @@ -995,12 +1148,18 @@ CONFIG_RTC_CLK_CAL_CYCLES=1024 CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y # end of Peripheral Control +# +# GDMA Configurations +# +CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y +# CONFIG_GDMA_ISR_IRAM_SAFE is not set +# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set +# end of GDMA Configurations + # # Main XTAL Config # -# CONFIG_XTAL_FREQ_26 is not set CONFIG_XTAL_FREQ_40=y -# CONFIG_XTAL_FREQ_AUTO is not set CONFIG_XTAL_FREQ=40 # end of Main XTAL Config @@ -1020,6 +1179,8 @@ CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y # CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 # CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set +# CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set # end of LCD Peripheral Configuration # end of LCD and Touch Panel @@ -1049,6 +1210,8 @@ CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 CONFIG_ESP_PHY_MAX_TX_POWER=20 # CONFIG_ESP_PHY_REDUCE_TX_POWER is not set +CONFIG_ESP_PHY_ENABLE_USB=y +# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set CONFIG_ESP_PHY_RF_CAL_PARTIAL=y # CONFIG_ESP_PHY_RF_CAL_NONE is not set # CONFIG_ESP_PHY_RF_CAL_FULL is not set @@ -1061,12 +1224,44 @@ CONFIG_ESP_PHY_CALIBRATION_MODE=0 # # CONFIG_PM_ENABLE is not set CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y +CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y # end of Power Management # # ESP PSRAM # -# CONFIG_SPIRAM is not set +CONFIG_SPIRAM=y + +# +# SPI RAM config +# +# CONFIG_SPIRAM_MODE_QUAD is not set +CONFIG_SPIRAM_MODE_OCT=y +CONFIG_SPIRAM_TYPE_AUTO=y +# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set +CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y +CONFIG_SPIRAM_CLK_IO=30 +CONFIG_SPIRAM_CS_IO=26 +# CONFIG_SPIRAM_XIP_FROM_PSRAM is not set +CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y +CONFIG_SPIRAM_RODATA=y +# CONFIG_SPIRAM_SPEED_120M is not set +CONFIG_SPIRAM_SPEED_80M=y +# CONFIG_SPIRAM_SPEED_40M is not set +CONFIG_SPIRAM_SPEED=80 +# CONFIG_SPIRAM_ECC_ENABLE is not set +CONFIG_SPIRAM_BOOT_INIT=y +# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set +# CONFIG_SPIRAM_USE_MEMMAP is not set +# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set +CONFIG_SPIRAM_USE_MALLOC=y +CONFIG_SPIRAM_MEMTEST=y +CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384 +# CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set +CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 +# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set +# end of SPI RAM config # end of ESP PSRAM # @@ -1079,29 +1274,47 @@ CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y # ESP System Settings # # CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 + +# +# Cache config +# +CONFIG_ESP32S3_INSTRUCTION_CACHE_16KB=y +# CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB is not set +CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE=0x4000 +# CONFIG_ESP32S3_INSTRUCTION_CACHE_4WAYS is not set +CONFIG_ESP32S3_INSTRUCTION_CACHE_8WAYS=y +CONFIG_ESP32S3_ICACHE_ASSOCIATED_WAYS=8 +# CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_16B is not set +CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_32B=y +CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_SIZE=32 +# CONFIG_ESP32S3_DATA_CACHE_16KB is not set +CONFIG_ESP32S3_DATA_CACHE_32KB=y +# CONFIG_ESP32S3_DATA_CACHE_64KB is not set +CONFIG_ESP32S3_DATA_CACHE_SIZE=0x8000 +# CONFIG_ESP32S3_DATA_CACHE_4WAYS is not set +CONFIG_ESP32S3_DATA_CACHE_8WAYS=y +CONFIG_ESP32S3_DCACHE_ASSOCIATED_WAYS=8 +# CONFIG_ESP32S3_DATA_CACHE_LINE_16B is not set +# CONFIG_ESP32S3_DATA_CACHE_LINE_32B is not set +CONFIG_ESP32S3_DATA_CACHE_LINE_64B=y +CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=64 +# end of Cache config # # Memory # -# CONFIG_ESP32_RTCDATA_IN_FAST_MEM is not set -# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set -# CONFIG_ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY is not set - -# -# Non-backward compatible options -# -# CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM is not set -# end of Non-backward compatible options +# CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM is not set +# CONFIG_ESP32S3_USE_FIXED_STATIC_RAM_SIZE is not set # end of Memory # # Trace memory # -# CONFIG_ESP32_TRAX is not set -CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 +# CONFIG_ESP32S3_TRAX is not set +CONFIG_ESP32S3_TRACEMEM_RESERVE_DRAM=0x0 # end of Trace memory # CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set @@ -1116,6 +1329,8 @@ CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y # # Memory protection # +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y # end of Memory protection CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 @@ -1126,41 +1341,40 @@ CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# CONFIG_ESP_CONSOLE_USB_CDC is not set +# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set # CONFIG_ESP_CONSOLE_UART_CUSTOM is not set # CONFIG_ESP_CONSOLE_NONE is not set +# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set +CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y CONFIG_ESP_CONSOLE_UART=y CONFIG_ESP_CONSOLE_UART_NUM=0 CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 -CONFIG_ESP_INT_WDT=y -CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 -CONFIG_ESP_TASK_WDT_EN=y -CONFIG_ESP_TASK_WDT_INIT=y -# CONFIG_ESP_TASK_WDT_PANIC is not set -CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 -CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_ESP_INT_WDT is not set +# CONFIG_ESP_TASK_WDT_EN is not set # CONFIG_ESP_PANIC_HANDLER_IRAM is not set # CONFIG_ESP_DEBUG_STUBS_ENABLE is not set CONFIG_ESP_DEBUG_OCDAWARE=y -CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5=y +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y # # Brownout Detector # CONFIG_ESP_BROWNOUT_DET=y -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set CONFIG_ESP_BROWNOUT_DET_LVL=7 # end of Brownout Detector -# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y # end of ESP System Settings # @@ -1182,7 +1396,7 @@ CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y # CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set -CONFIG_ESP_TIMER_IMPL_TG0_LAC=y +CONFIG_ESP_TIMER_IMPL_SYSTIMER=y # end of ESP Timer (High Resolution Timer) # @@ -1191,10 +1405,10 @@ CONFIG_ESP_TIMER_IMPL_TG0_LAC=y CONFIG_ESP_WIFI_ENABLED=y CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y -CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=16 +CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=32 CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y # CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 @@ -1204,6 +1418,7 @@ CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y CONFIG_ESP_WIFI_TX_BA_WIN=6 CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP_WIFI_RX_BA_WIN=6 +# CONFIG_ESP_WIFI_AMSDU_TX_ENABLED is not set CONFIG_ESP_WIFI_NVS_ENABLED=y CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 @@ -1218,17 +1433,21 @@ CONFIG_ESP_WIFI_SLP_IRAM_OPT=y CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 +# CONFIG_ESP_WIFI_FTM_ENABLE is not set CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y +# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set CONFIG_ESP_WIFI_GMAC_SUPPORT=y CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y # CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 -# CONFIG_ESP_WIFI_NAN_ENABLE is not set CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y +# CONFIG_ESP_WIFI_EAP_TLS1_3 is not set # CONFIG_ESP_WIFI_WAPI_PSK is not set +# CONFIG_ESP_WIFI_SUITE_B_192 is not set # CONFIG_ESP_WIFI_11KV_SUPPORT is not set # CONFIG_ESP_WIFI_MBO_SUPPORT is not set +# CONFIG_ESP_WIFI_ENABLE_ROAMING_APP is not set # CONFIG_ESP_WIFI_DPP_SUPPORT is not set # CONFIG_ESP_WIFI_11R_SUPPORT is not set # CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set @@ -1292,6 +1511,7 @@ CONFIG_FATFS_API_ENCODING_ANSI_OEM=y CONFIG_FATFS_FS_LOCK=0 CONFIG_FATFS_TIMEOUT_MS=10000 CONFIG_FATFS_PER_FILE_CACHE=y +CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y # CONFIG_FATFS_USE_FASTSEEK is not set CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 # CONFIG_FATFS_IMMEDIATE_FSYNC is not set @@ -1308,7 +1528,7 @@ CONFIG_FATFS_LINK_LOCK=y # # CONFIG_FREERTOS_SMP is not set CONFIG_FREERTOS_UNICORE=y -CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_HZ=1000 CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set @@ -1344,11 +1564,10 @@ CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y CONFIG_FREERTOS_ISR_STACKSIZE=1536 CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y -# CONFIG_FREERTOS_FPU_IN_ISR is not set -CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y -CONFIG_FREERTOS_CORETIMER_0=y -# CONFIG_FREERTOS_CORETIMER_1 is not set -CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y +CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y +CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y +# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set +CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set # end of Port @@ -1370,6 +1589,7 @@ CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y # CONFIG_HAL_ASSERTION_SILENT is not set # CONFIG_HAL_ASSERTION_ENABLE is not set CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +CONFIG_HAL_WDT_USE_ROM_IMPL=y CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y # end of Hardware Abstraction Layer (HAL) and Low Level (LL) @@ -1586,6 +1806,7 @@ CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y # mbedTLS # CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC is not set # CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set # CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y @@ -1620,9 +1841,13 @@ CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 # CONFIG_MBEDTLS_ECP_RESTARTABLE is not set CONFIG_MBEDTLS_CMAC_C=y CONFIG_MBEDTLS_HARDWARE_AES=y +CONFIG_MBEDTLS_AES_USE_INTERRUPT=y +CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y CONFIG_MBEDTLS_HARDWARE_MPI=y CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y +CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y +CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_HARDWARE_SHA=y CONFIG_MBEDTLS_ROM_MD5=y # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set @@ -1742,9 +1967,12 @@ CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y # CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set # end of Newlib +CONFIG_STDATOMIC_S32C1I_SPIRAM_WORKAROUND=y + # # NVS # +# CONFIG_NVS_ENCRYPTION is not set # CONFIG_NVS_ASSERT_ERROR_CHECK is not set # CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set # end of NVS @@ -1820,6 +2048,14 @@ CONFIG_SPI_FLASH_BROWNOUT_RESET=y # # Features here require specific hardware (READ DOCS FIRST!) # +# CONFIG_SPI_FLASH_HPM_ENA is not set +CONFIG_SPI_FLASH_HPM_AUTO=y +# CONFIG_SPI_FLASH_HPM_DIS is not set +CONFIG_SPI_FLASH_HPM_ON=y +CONFIG_SPI_FLASH_HPM_DC_AUTO=y +# CONFIG_SPI_FLASH_HPM_DC_DISABLE is not set +CONFIG_SPI_FLASH_SUSPEND_QVL_SUPPORTED=y +# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 # end of Optional and Experimental Features (READ DOCS FIRST) # end of Main Flash configuration @@ -1830,10 +2066,10 @@ CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 # CONFIG_SPI_FLASH_VERIFY_WRITE is not set # CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +# CONFIG_SPI_FLASH_ROM_IMPL is not set CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y # CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set # CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set -# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set # CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 @@ -1851,12 +2087,15 @@ CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORTED=y +CONFIG_SPI_FLASH_VENDOR_TH_SUPPORTED=y # CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_GD_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set +CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP=y # end of Auto-detect flash chips CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y @@ -1934,6 +2173,28 @@ CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y # CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set # end of Unity unit testing library +# +# USB-OTG +# +CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256 +CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y +# CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set +# CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set + +# +# Root Hub configuration +# +CONFIG_USB_HOST_DEBOUNCE_DELAY_MS=250 +CONFIG_USB_HOST_RESET_HOLD_MS=30 +CONFIG_USB_HOST_RESET_RECOVERY_MS=30 +CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10 +# end of Root Hub configuration + +# CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set +# CONFIG_USB_HOST_EXT_HUB_SUPPORT is not set +CONFIG_USB_OTG_SUPPORTED=y +# end of USB-OTG + # # Virtual file system # @@ -1996,9 +2257,8 @@ CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 # # Memory settings # -# CONFIG_LV_MEM_CUSTOM is not set -CONFIG_LV_MEM_SIZE_KILOBYTES=32 -CONFIG_LV_MEM_ADDR=0x0 +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEM_CUSTOM_INCLUDE="stdlib.h" CONFIG_LV_MEM_BUF_MAX_NUM=16 # CONFIG_LV_MEMCPY_MEMSET_STD is not set # end of Memory settings @@ -2006,10 +2266,10 @@ CONFIG_LV_MEM_BUF_MAX_NUM=16 # # HAL Settings # -CONFIG_LV_DISP_DEF_REFR_PERIOD=30 +CONFIG_LV_DISP_DEF_REFR_PERIOD=5 CONFIG_LV_INDEV_DEF_READ_PERIOD=30 # CONFIG_LV_TICK_CUSTOM is not set -CONFIG_LV_DPI_DEF=130 +CONFIG_LV_DPI_DEF=217 # end of HAL Settings # @@ -2063,7 +2323,6 @@ CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" # Others # # CONFIG_LV_USE_PERF_MONITOR is not set -# CONFIG_LV_USE_MEM_MONITOR is not set # CONFIG_LV_USE_REFR_DEBUG is not set # CONFIG_LV_SPRINTF_CUSTOM is not set # CONFIG_LV_SPRINTF_USE_FLOAT is not set @@ -2076,7 +2335,7 @@ CONFIG_LV_USE_USER_DATA=y # # CONFIG_LV_BIG_ENDIAN_SYSTEM is not set CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 -# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set +CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y # CONFIG_LV_USE_LARGE_COORD is not set # end of Compiler settings # end of Feature configuration @@ -2088,7 +2347,7 @@ CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 # # Enable built-in fonts # -# CONFIG_LV_FONT_MONTSERRAT_8 is not set +CONFIG_LV_FONT_MONTSERRAT_8=y CONFIG_LV_FONT_MONTSERRAT_10=y CONFIG_LV_FONT_MONTSERRAT_12=y CONFIG_LV_FONT_MONTSERRAT_14=y @@ -2241,7 +2500,7 @@ CONFIG_LV_USE_GRID=y # CONFIG_LV_USE_PNG is not set # CONFIG_LV_USE_BMP is not set # CONFIG_LV_USE_SJPG is not set -# CONFIG_LV_USE_GIF is not set +CONFIG_LV_USE_GIF=y # CONFIG_LV_USE_QRCODE is not set # CONFIG_LV_USE_FREETYPE is not set # CONFIG_LV_USE_TINY_TTF is not set @@ -2376,7 +2635,6 @@ CONFIG_LV_DISPLAY_USE_DC=y CONFIG_LV_DISP_PIN_DC=16 CONFIG_LV_DISP_USE_RST=y CONFIG_LV_DISP_PIN_RST=5 -CONFIG_LV_DISP_PIN_BUSY=35 # end of Display Pin Assignments # CONFIG_LV_DISP_BACKLIGHT_OFF is not set @@ -2384,54 +2642,61 @@ CONFIG_LV_DISP_BACKLIGHT_SWITCH=y # CONFIG_LV_DISP_BACKLIGHT_PWM is not set CONFIG_LV_BACKLIGHT_ACTIVE_LVL=y CONFIG_LV_DISP_PIN_BCKL=32 +CONFIG_LV_I2C=y CONFIG_LV_I2C_DISPLAY_PORT=0 # end of LVGL TFT Display controller # # LVGL Touch controller # -CONFIG_LV_TOUCH_CONTROLLER=1 +CONFIG_LV_TOUCH_CONTROLLER=7 # CONFIG_LV_TOUCH_CONTROLLER_NONE is not set -CONFIG_LV_TOUCH_CONTROLLER_XPT2046=y +# CONFIG_LV_TOUCH_CONTROLLER_XPT2046 is not set # CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set # CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set # CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set # CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set # CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set -# CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set -CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI=y -# CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST is not set -CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST=y +CONFIG_LV_TOUCH_CONTROLLER_GT911=y +CONFIG_LV_I2C_TOUCH=y # -# Touchpanel (XPT2046) Pin Assignments +# Touchpanel Configuration (GT911) # -CONFIG_LV_TOUCH_SPI_MISO=19 -CONFIG_LV_TOUCH_SPI_MOSI=23 -CONFIG_LV_TOUCH_SPI_CLK=18 -CONFIG_LV_TOUCH_SPI_CS=5 -CONFIG_LV_TOUCH_PIN_IRQ=25 -# end of Touchpanel (XPT2046) Pin Assignments - -# -# Touchpanel Configuration (XPT2046) -# -CONFIG_LV_TOUCH_X_MIN=200 -CONFIG_LV_TOUCH_Y_MIN=120 -CONFIG_LV_TOUCH_X_MAX=1900 -CONFIG_LV_TOUCH_Y_MAX=1900 -CONFIG_LV_TOUCH_XY_SWAP=y -CONFIG_LV_TOUCH_INVERT_X=y -# CONFIG_LV_TOUCH_INVERT_Y is not set -# CONFIG_LV_TOUCH_DETECT_IRQ is not set -CONFIG_LV_TOUCH_DETECT_IRQ_PRESSURE=y -# CONFIG_LV_TOUCH_DETECT_PRESSURE is not set -# end of Touchpanel Configuration (XPT2046) +CONFIG_LV_GT911_SWAPXY=y +# CONFIG_LV_GT911_INVERT_X is not set +CONFIG_LV_GT911_INVERT_Y=y +# end of Touchpanel Configuration (GT911) +CONFIG_LV_I2C_TOUCH_PORT_0=y +# CONFIG_LV_I2C_TOUCH_PORT_1 is not set CONFIG_LV_I2C_TOUCH_PORT=0 # end of LVGL Touch controller # end of LVGL ESP Drivers +# +# I2C Port Settings +# + +# +# I2C Port 0 +# +CONFIG_I2C_MANAGER_0_ENABLED=y +CONFIG_I2C_MANAGER_0_SDA=19 +CONFIG_I2C_MANAGER_0_SCL=20 +CONFIG_I2C_MANAGER_0_FREQ_HZ=400000 +CONFIG_I2C_MANAGER_0_TIMEOUT=100 +CONFIG_I2C_MANAGER_0_LOCK_TIMEOUT=50 +# CONFIG_I2C_MANAGER_0_PULLUPS is not set +# end of I2C Port 0 + +# +# I2C Port 1 +# +# CONFIG_I2C_MANAGER_1_ENABLED is not set +# end of I2C Port 1 +# end of I2C Port Settings + # # mDNS # @@ -2462,4 +2727,4 @@ CONFIG_MDNS_PREDEF_NETIF_ETH=y # end of mDNS # end of Component config -# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set +CONFIG_IDF_EXPERIMENTAL_FEATURES=y From c05e6a792b220622c0be0188c7a50a86df943b49 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Thu, 31 Oct 2024 04:08:40 -0600 Subject: [PATCH 52/58] Remove SPI Ram Config --- configs/sdkconfig.default.esp32s3 | 1 - sdkconfig | 221 ------------------------------ 2 files changed, 222 deletions(-) diff --git a/configs/sdkconfig.default.esp32s3 b/configs/sdkconfig.default.esp32s3 index ad3469e1..6c9a82b8 100644 --- a/configs/sdkconfig.default.esp32s3 +++ b/configs/sdkconfig.default.esp32s3 @@ -221,7 +221,6 @@ CONFIG_SOC_MEMSPI_SRC_FREQ_120M=y CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y -CONFIG_SOC_SPIRAM_SUPPORTED=y CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 CONFIG_SOC_SYSTIMER_ALARM_NUM=3 diff --git a/sdkconfig b/sdkconfig index ad3469e1..634dafd4 100644 --- a/sdkconfig +++ b/sdkconfig @@ -2692,224 +2692,3 @@ CONFIG_MDNS_PREDEF_NETIF_ETH=y # end of Component config CONFIG_IDF_EXPERIMENTAL_FEATURES=y - -# Deprecated options for backward compatibility -# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set -# CONFIG_NO_BLOBS is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set -CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y -# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set -CONFIG_LOG_BOOTLOADER_LEVEL=3 -# CONFIG_APP_ROLLBACK_ENABLE is not set -# CONFIG_FLASH_ENCRYPTION_ENABLED is not set -CONFIG_FLASHMODE_QIO=y -# CONFIG_FLASHMODE_QOUT is not set -# CONFIG_FLASHMODE_DIO is not set -# CONFIG_FLASHMODE_DOUT is not set -CONFIG_MONITOR_BAUD=115200 -# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set -# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set -# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set -CONFIG_OPTIMIZATION_LEVEL_RELEASE=y -CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y -CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y -# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set -# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set -CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 -# CONFIG_CXX_EXCEPTIONS is not set -CONFIG_STACK_CHECK_NONE=y -# CONFIG_STACK_CHECK_NORM is not set -# CONFIG_STACK_CHECK_STRONG is not set -# CONFIG_STACK_CHECK_ALL is not set -# CONFIG_WARN_WRITE_STRINGS is not set -# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set -CONFIG_ESP32_APPTRACE_DEST_NONE=y -CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y -# CONFIG_BLUEDROID_ENABLED is not set -CONFIG_NIMBLE_ENABLED=y -CONFIG_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y -# CONFIG_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set -CONFIG_NIMBLE_MAX_CONNECTIONS=3 -CONFIG_NIMBLE_MAX_BONDS=3 -CONFIG_NIMBLE_MAX_CCCDS=8 -CONFIG_NIMBLE_L2CAP_COC_MAX_NUM=0 -CONFIG_NIMBLE_PINNED_TO_CORE=0 -CONFIG_NIMBLE_TASK_STACK_SIZE=4096 -CONFIG_BT_NIMBLE_TASK_STACK_SIZE=4096 -CONFIG_NIMBLE_ROLE_CENTRAL=y -CONFIG_NIMBLE_ROLE_PERIPHERAL=y -CONFIG_NIMBLE_ROLE_BROADCASTER=y -CONFIG_NIMBLE_ROLE_OBSERVER=y -# CONFIG_NIMBLE_NVS_PERSIST is not set -CONFIG_NIMBLE_SM_LEGACY=y -CONFIG_NIMBLE_SM_SC=y -# CONFIG_NIMBLE_SM_SC_DEBUG_KEYS is not set -CONFIG_BT_NIMBLE_SM_SC_LVL=0 -# CONFIG_NIMBLE_DEBUG is not set -CONFIG_NIMBLE_SVC_GAP_DEVICE_NAME="nimble" -CONFIG_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31 -CONFIG_NIMBLE_ATT_PREFERRED_MTU=256 -CONFIG_NIMBLE_SVC_GAP_APPEARANCE=0 -CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT=12 -CONFIG_BT_NIMBLE_ACL_BUF_COUNT=24 -CONFIG_BT_NIMBLE_ACL_BUF_SIZE=255 -CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE=70 -CONFIG_BT_NIMBLE_HCI_EVT_HI_BUF_COUNT=30 -CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT=8 -CONFIG_NIMBLE_HS_FLOW_CTRL=y -CONFIG_NIMBLE_HS_FLOW_CTRL_ITVL=1000 -CONFIG_NIMBLE_HS_FLOW_CTRL_THRESH=2 -CONFIG_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y -CONFIG_NIMBLE_RPA_TIMEOUT=900 -# CONFIG_NIMBLE_MESH is not set -CONFIG_NIMBLE_CRYPTO_STACK_MBEDTLS=y -# CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_EN is not set -CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_DIS=y -CONFIG_SW_COEXIST_ENABLE=y -CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y -CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y -# CONFIG_MCPWM_ISR_IN_IRAM is not set -# CONFIG_EVENT_LOOP_PROFILING is not set -CONFIG_POST_EVENTS_FROM_ISR=y -CONFIG_POST_EVENTS_FROM_IRAM_ISR=y -CONFIG_GDBSTUB_SUPPORT_TASKS=y -CONFIG_GDBSTUB_MAX_TASKS=32 -# CONFIG_OTA_ALLOW_HTTP is not set -# CONFIG_ESP_SYSTEM_PD_FLASH is not set -CONFIG_ESP32S3_DEEP_SLEEP_WAKEUP_DELAY=0 -CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=0 -CONFIG_ESP32S3_RTC_CLK_SRC_INT_RC=y -# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_CRYS is not set -# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_OSC is not set -# CONFIG_ESP32S3_RTC_CLK_SRC_INT_8MD256 is not set -CONFIG_ESP32S3_RTC_CLK_CAL_CYCLES=1024 -CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y -# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set -CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 -CONFIG_ESP32_PHY_MAX_TX_POWER=20 -# CONFIG_REDUCE_PHY_TX_POWER is not set -# CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set -CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y -CONFIG_PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP=y -# CONFIG_ESP32S3_SPIRAM_SUPPORT is not set -# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_80 is not set -# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_160 is not set -CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240=y -CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ=240 -CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 -CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 -CONFIG_MAIN_TASK_STACK_SIZE=3584 -CONFIG_CONSOLE_UART_DEFAULT=y -# CONFIG_CONSOLE_UART_CUSTOM is not set -# CONFIG_CONSOLE_UART_NONE is not set -# CONFIG_ESP_CONSOLE_UART_NONE is not set -CONFIG_CONSOLE_UART=y -CONFIG_CONSOLE_UART_NUM=0 -CONFIG_CONSOLE_UART_BAUDRATE=115200 -# CONFIG_INT_WDT is not set -# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set -CONFIG_ESP32S3_DEBUG_OCDAWARE=y -CONFIG_BROWNOUT_DET=y -CONFIG_ESP32S3_BROWNOUT_DET=y -CONFIG_ESP32S3_BROWNOUT_DET=y -CONFIG_BROWNOUT_DET_LVL_SEL_7=y -CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_7=y -# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_1 is not set -CONFIG_BROWNOUT_DET_LVL=7 -CONFIG_ESP32S3_BROWNOUT_DET_LVL=7 -CONFIG_IPC_TASK_STACK_SIZE=1024 -CONFIG_TIMER_TASK_STACK_SIZE=3584 -CONFIG_ESP32_WIFI_ENABLED=y -CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 -CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y -# CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER is not set -CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 -CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 -# CONFIG_ESP32_WIFI_CSI_ENABLED is not set -CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y -CONFIG_ESP32_WIFI_TX_BA_WIN=6 -CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y -CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y -CONFIG_ESP32_WIFI_RX_BA_WIN=6 -CONFIG_ESP32_WIFI_RX_BA_WIN=6 -CONFIG_ESP32_WIFI_NVS_ENABLED=y -CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 -CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 -CONFIG_ESP32_WIFI_IRAM_OPT=y -CONFIG_ESP32_WIFI_RX_IRAM_OPT=y -CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y -CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y -CONFIG_WPA_MBEDTLS_CRYPTO=y -CONFIG_WPA_MBEDTLS_TLS_CLIENT=y -# CONFIG_WPA_WAPI_PSK is not set -# CONFIG_WPA_SUITE_B_192 is not set -# CONFIG_WPA_11KV_SUPPORT is not set -# CONFIG_WPA_MBO_SUPPORT is not set -# CONFIG_WPA_DPP_SUPPORT is not set -# CONFIG_WPA_11R_SUPPORT is not set -# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set -# CONFIG_WPA_WPS_STRICT is not set -# CONFIG_WPA_DEBUG_PRINT is not set -# CONFIG_WPA_TESTING_OPTIONS is not set -# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set -# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set -CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y -CONFIG_TIMER_TASK_PRIORITY=1 -CONFIG_TIMER_TASK_STACK_DEPTH=2048 -CONFIG_TIMER_QUEUE_LENGTH=10 -# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set -# CONFIG_HAL_ASSERTION_SILIENT is not set -# CONFIG_L2_TO_L3_COPY is not set -CONFIG_ESP_GRATUITOUS_ARP=y -CONFIG_GARP_TMR_INTERVAL=60 -CONFIG_TCPIP_RECVMBOX_SIZE=32 -CONFIG_TCP_MAXRTX=12 -CONFIG_TCP_SYNMAXRTX=12 -CONFIG_TCP_MSS=1440 -CONFIG_TCP_MSL=60000 -CONFIG_TCP_SND_BUF_DEFAULT=5760 -CONFIG_TCP_WND_DEFAULT=5760 -CONFIG_TCP_RECVMBOX_SIZE=6 -CONFIG_TCP_QUEUE_OOSEQ=y -CONFIG_TCP_OVERSIZE_MSS=y -# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set -# CONFIG_TCP_OVERSIZE_DISABLE is not set -CONFIG_UDP_RECVMBOX_SIZE=6 -CONFIG_TCPIP_TASK_STACK_SIZE=3072 -CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y -# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set -CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF -# CONFIG_PPP_SUPPORT is not set -CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_SYSTIMER=y -CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_FRC1=y -# CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC is not set -# CONFIG_ESP32S3_TIME_SYSCALL_USE_SYSTIMER is not set -# CONFIG_ESP32S3_TIME_SYSCALL_USE_FRC1 is not set -# CONFIG_ESP32S3_TIME_SYSCALL_USE_NONE is not set -CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 -CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 -CONFIG_ESP32_PTHREAD_STACK_MIN=768 -CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 -CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" -CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y -# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set -# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set -CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y -CONFIG_SUPPORT_TERMIOS=y -CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 -# End of deprecated options From 7945dbc1749498c6e1f538df9531cc4acf777322 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Thu, 31 Oct 2024 04:36:24 -0600 Subject: [PATCH 53/58] Update sdkconfig.marauderv6 --- configs/sdkconfig.marauderv6 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configs/sdkconfig.marauderv6 b/configs/sdkconfig.marauderv6 index 124c8ea1..974fb4ff 100644 --- a/configs/sdkconfig.marauderv6 +++ b/configs/sdkconfig.marauderv6 @@ -2400,8 +2400,8 @@ CONFIG_LV_TOUCH_CONTROLLER_XPT2046=y # CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set # CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI=y -CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST=y -# CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST is not set +# CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST is not set +CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST=y # # Touchpanel (XPT2046) Pin Assignments @@ -2728,4 +2728,4 @@ CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y CONFIG_SUPPORT_TERMIOS=y CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 -# End of deprecated options +# End of deprecated options \ No newline at end of file From f0c437fdcb66a09b19d9d759aac40ef4fafde204 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Thu, 31 Oct 2024 06:37:53 -0600 Subject: [PATCH 54/58] Changes --- configs/sdkconfig.marauderv6 | 12 +- sdkconfig | 1091 ++++++++++++++++++---------------- sdkconfig.old | 865 ++++++++++----------------- 3 files changed, 870 insertions(+), 1098 deletions(-) diff --git a/configs/sdkconfig.marauderv6 b/configs/sdkconfig.marauderv6 index 974fb4ff..653f76e8 100644 --- a/configs/sdkconfig.marauderv6 +++ b/configs/sdkconfig.marauderv6 @@ -2400,8 +2400,8 @@ CONFIG_LV_TOUCH_CONTROLLER_XPT2046=y # CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set # CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI=y -# CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST is not set -CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST=y +CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST=y +# CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST is not set # # Touchpanel (XPT2046) Pin Assignments @@ -2409,8 +2409,8 @@ CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST=y CONFIG_LV_TOUCH_SPI_MISO=19 CONFIG_LV_TOUCH_SPI_MOSI=23 CONFIG_LV_TOUCH_SPI_CLK=18 -CONFIG_LV_TOUCH_SPI_CS=5 -CONFIG_LV_TOUCH_PIN_IRQ=25 +CONFIG_LV_TOUCH_SPI_CS=21 +CONFIG_LV_TOUCH_PIN_IRQ=-1 # end of Touchpanel (XPT2046) Pin Assignments # @@ -2424,8 +2424,8 @@ CONFIG_LV_TOUCH_XY_SWAP=y CONFIG_LV_TOUCH_INVERT_X=y # CONFIG_LV_TOUCH_INVERT_Y is not set # CONFIG_LV_TOUCH_DETECT_IRQ is not set -CONFIG_LV_TOUCH_DETECT_IRQ_PRESSURE=y -# CONFIG_LV_TOUCH_DETECT_PRESSURE is not set +# CONFIG_LV_TOUCH_DETECT_IRQ_PRESSURE is not set +CONFIG_LV_TOUCH_DETECT_PRESSURE=y # end of Touchpanel Configuration (XPT2046) CONFIG_LV_I2C_TOUCH_PORT=0 diff --git a/sdkconfig b/sdkconfig index 634dafd4..7e52c4fa 100644 --- a/sdkconfig +++ b/sdkconfig @@ -2,57 +2,44 @@ # Automatically generated file. DO NOT EDIT. # Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Configuration # -CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 -CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED="Not determined" +CONFIG_SOC_TWAI_BRP_DIV_SUPPORTED="Not determined" +CONFIG_SOC_DPORT_WORKAROUND="Not determined" +CONFIG_SOC_CAPS_ECO_VER_MAX=301 CONFIG_SOC_ADC_SUPPORTED=y +CONFIG_SOC_DAC_SUPPORTED=y CONFIG_SOC_UART_SUPPORTED=y +CONFIG_SOC_MCPWM_SUPPORTED=y +CONFIG_SOC_GPTIMER_SUPPORTED=y +CONFIG_SOC_SDMMC_HOST_SUPPORTED=y +CONFIG_SOC_BT_SUPPORTED=y CONFIG_SOC_PCNT_SUPPORTED=y CONFIG_SOC_PHY_SUPPORTED=y CONFIG_SOC_WIFI_SUPPORTED=y +CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y CONFIG_SOC_TWAI_SUPPORTED=y -CONFIG_SOC_GDMA_SUPPORTED=y -CONFIG_SOC_AHB_GDMA_SUPPORTED=y -CONFIG_SOC_GPTIMER_SUPPORTED=y -CONFIG_SOC_LCDCAM_SUPPORTED=y -CONFIG_SOC_MCPWM_SUPPORTED=y -CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y -CONFIG_SOC_CACHE_SUPPORT_WRAP=y +CONFIG_SOC_EFUSE_SUPPORTED=y +CONFIG_SOC_EMAC_SUPPORTED=y CONFIG_SOC_ULP_SUPPORTED=y -CONFIG_SOC_ULP_FSM_SUPPORTED=y -CONFIG_SOC_RISCV_COPROC_SUPPORTED=y -CONFIG_SOC_BT_SUPPORTED=y -CONFIG_SOC_USB_OTG_SUPPORTED=y -CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y -CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y -CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y -CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y -CONFIG_SOC_EFUSE_SUPPORTED=y -CONFIG_SOC_SDMMC_HOST_SUPPORTED=y CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y CONFIG_SOC_RTC_MEM_SUPPORTED=y -CONFIG_SOC_PSRAM_DMA_CAPABLE=y -CONFIG_SOC_XT_WDT_SUPPORTED=y CONFIG_SOC_I2S_SUPPORTED=y CONFIG_SOC_RMT_SUPPORTED=y CONFIG_SOC_SDM_SUPPORTED=y CONFIG_SOC_GPSPI_SUPPORTED=y CONFIG_SOC_LEDC_SUPPORTED=y CONFIG_SOC_I2C_SUPPORTED=y -CONFIG_SOC_SYSTIMER_SUPPORTED=y CONFIG_SOC_SUPPORT_COEXISTENCE=y -CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y CONFIG_SOC_AES_SUPPORTED=y CONFIG_SOC_MPI_SUPPORTED=y CONFIG_SOC_SHA_SUPPORTED=y -CONFIG_SOC_HMAC_SUPPORTED=y -CONFIG_SOC_DIG_SIGN_SUPPORTED=y CONFIG_SOC_FLASH_ENC_SUPPORTED=y CONFIG_SOC_SECURE_BOOT_SUPPORTED=y -CONFIG_SOC_MEMPROT_SUPPORTED=y CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y CONFIG_SOC_BOD_SUPPORTED=y +CONFIG_SOC_ULP_FSM_SUPPORTED=y CONFIG_SOC_CLK_TREE_SUPPORTED=y CONFIG_SOC_MPU_SUPPORTED=y CONFIG_SOC_WDT_SUPPORTED=y @@ -62,36 +49,30 @@ CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y CONFIG_SOC_PM_SUPPORTED=y +CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5 +CONFIG_SOC_XTAL_SUPPORT_26M=y CONFIG_SOC_XTAL_SUPPORT_40M=y -CONFIG_SOC_APPCPU_HAS_CLOCK_GATING_BUG=y +CONFIG_SOC_XTAL_SUPPORT_AUTO_DETECT=y CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y -CONFIG_SOC_ADC_ARBITER_SUPPORTED=y -CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y -CONFIG_SOC_ADC_MONITOR_SUPPORTED=y CONFIG_SOC_ADC_DMA_SUPPORTED=y CONFIG_SOC_ADC_PERIPH_NUM=2 CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 CONFIG_SOC_ADC_ATTEN_NUM=4 CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 -CONFIG_SOC_ADC_PATT_LEN_MAX=24 -CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 +CONFIG_SOC_ADC_PATT_LEN_MAX=16 +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=9 CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 -CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2 CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 -CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 -CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 -CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=0 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=2 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=20 +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9 CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 -CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y -CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y CONFIG_SOC_ADC_SHARED_POWER=y -CONFIG_SOC_APB_BACKUP_DMA=y -CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y -CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y -CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y +CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y +CONFIG_SOC_IDCACHE_PER_CORE=y CONFIG_SOC_CPU_CORES_NUM=2 CONFIG_SOC_CPU_INTR_NUM=32 CONFIG_SOC_CPU_HAS_FPU=y @@ -99,56 +80,48 @@ CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64 -CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096 -CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 -CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 -CONFIG_SOC_AHB_GDMA_VERSION=1 -CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 -CONFIG_SOC_GDMA_PAIRS_PER_GROUP=5 -CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=5 -CONFIG_SOC_AHB_GDMA_SUPPORT_PSRAM=y +CONFIG_SOC_DAC_CHAN_NUM=2 +CONFIG_SOC_DAC_RESOLUTION=8 +CONFIG_SOC_DAC_DMA_16BIT_ALIGN=y CONFIG_SOC_GPIO_PORT=1 -CONFIG_SOC_GPIO_PIN_COUNT=49 -CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y -CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y -CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y -CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y -CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x1FFFFFFFFFFFF -CONFIG_SOC_GPIO_IN_RANGE_MAX=48 -CONFIG_SOC_GPIO_OUT_RANGE_MAX=48 -CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000 +CONFIG_SOC_GPIO_PIN_COUNT=40 +CONFIG_SOC_GPIO_VALID_GPIO_MASK=0xFFFFFFFFFF +CONFIG_SOC_GPIO_IN_RANGE_MAX=39 +CONFIG_SOC_GPIO_OUT_RANGE_MAX=33 +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 -CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 -CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 -CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y CONFIG_SOC_I2C_NUM=2 CONFIG_SOC_HP_I2C_NUM=2 CONFIG_SOC_I2C_FIFO_LEN=32 -CONFIG_SOC_I2C_CMD_REG_NUM=8 +CONFIG_SOC_I2C_CMD_REG_NUM=16 CONFIG_SOC_I2C_SUPPORT_SLAVE=y -CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y -CONFIG_SOC_I2C_SUPPORT_XTAL=y -CONFIG_SOC_I2C_SUPPORT_RTC=y -CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y -CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y -CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y +CONFIG_SOC_I2C_SUPPORT_APB=y +CONFIG_SOC_I2C_STOP_INDEPENDENT=y CONFIG_SOC_I2S_NUM=2 -CONFIG_SOC_I2S_HW_VERSION_2=y -CONFIG_SOC_I2S_SUPPORTS_XTAL=y +CONFIG_SOC_I2S_HW_VERSION_1=y +CONFIG_SOC_I2S_SUPPORTS_APLL=y CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y -CONFIG_SOC_I2S_SUPPORTS_PCM=y CONFIG_SOC_I2S_SUPPORTS_PDM=y CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y -CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=1 CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y -CONFIG_SOC_I2S_PDM_MAX_RX_LINES=4 -CONFIG_SOC_I2S_SUPPORTS_TDM=y +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1 +CONFIG_SOC_I2S_SUPPORTS_ADC_DAC=y +CONFIG_SOC_I2S_SUPPORTS_ADC=y +CONFIG_SOC_I2S_SUPPORTS_DAC=y +CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y +CONFIG_SOC_I2S_TRANS_SIZE_ALIGN_WORD=y +CONFIG_SOC_I2S_LCD_I80_VARIANT=y +CONFIG_SOC_LCD_I80_SUPPORTED=y +CONFIG_SOC_LCD_I80_BUSES=2 +CONFIG_SOC_LCD_I80_BUS_WIDTH=24 +CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y -CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y +CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y +CONFIG_SOC_LEDC_SUPPORT_HS_MODE=y CONFIG_SOC_LEDC_CHANNEL_NUM=8 -CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 -CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 CONFIG_SOC_MCPWM_GROUPS=2 CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 @@ -159,208 +132,116 @@ CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 -CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y -CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 -CONFIG_SOC_MMU_PERIPH_NUM=1 +CONFIG_SOC_MMU_PERIPH_NUM=2 +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=3 +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 CONFIG_SOC_PCNT_GROUPS=1 -CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 +CONFIG_SOC_PCNT_UNITS_PER_GROUP=8 CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 CONFIG_SOC_RMT_GROUPS=1 -CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4 -CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4 +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=8 +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=8 CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 -CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 -CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y -CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y -CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y -CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y -CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y -CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y -CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y -CONFIG_SOC_RMT_SUPPORT_XTAL=y -CONFIG_SOC_RMT_SUPPORT_RC_FAST=y +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64 +CONFIG_SOC_RMT_SUPPORT_REF_TICK=y CONFIG_SOC_RMT_SUPPORT_APB=y -CONFIG_SOC_RMT_SUPPORT_DMA=y -CONFIG_SOC_LCD_I80_SUPPORTED=y -CONFIG_SOC_LCD_RGB_SUPPORTED=y -CONFIG_SOC_LCD_I80_BUSES=1 -CONFIG_SOC_LCD_RGB_PANELS=1 -CONFIG_SOC_LCD_I80_BUS_WIDTH=16 -CONFIG_SOC_LCD_RGB_DATA_WIDTH=16 -CONFIG_SOC_LCD_SUPPORT_RGB_YUV_CONV=y -CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 -CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549 -CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128 -CONFIG_SOC_RTCIO_PIN_COUNT=22 +CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y +CONFIG_SOC_RTCIO_PIN_COUNT=18 CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y -CONFIG_SOC_SDM_GROUPS=y +CONFIG_SOC_SDM_GROUPS=1 CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 CONFIG_SOC_SDM_CLK_SUPPORT_APB=y +CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y +CONFIG_SOC_SPI_AS_CS_SUPPORTED=y CONFIG_SOC_SPI_PERIPH_NUM=3 -CONFIG_SOC_SPI_MAX_CS_NUM=6 -CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 -CONFIG_SOC_SPI_SUPPORT_DDRCLK=y -CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y -CONFIG_SOC_SPI_SUPPORT_CD_SIG=y -CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y -CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +CONFIG_SOC_SPI_DMA_CHAN_NUM=2 +CONFIG_SOC_SPI_MAX_CS_NUM=3 CONFIG_SOC_SPI_SUPPORT_CLK_APB=y -CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y -CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y -CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y -CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 -CONFIG_SOC_SPI_SUPPORT_OCT=y -CONFIG_SOC_SPI_SCT_SUPPORTED=y -CONFIG_SOC_SPI_SCT_REG_NUM=14 -CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y -CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA -CONFIG_SOC_MEMSPI_SRC_FREQ_120M=y +CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192 CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y -CONFIG_SOC_SPIRAM_SUPPORTED=y -CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y -CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 -CONFIG_SOC_SYSTIMER_ALARM_NUM=3 -CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 -CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 -CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y -CONFIG_SOC_SYSTIMER_INT_LEVEL=y -CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y CONFIG_SOC_TIMER_GROUPS=2 CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 -CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 -CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y -CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y +CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64 CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 -CONFIG_SOC_TOUCH_SENSOR_VERSION=2 -CONFIG_SOC_TOUCH_SENSOR_NUM=15 -CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y -CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y -CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y -CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3 -CONFIG_SOC_TOUCH_PROXIMITY_MEAS_DONE_SUPPORTED=y +CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y +CONFIG_SOC_TOUCH_SENSOR_VERSION=1 +CONFIG_SOC_TOUCH_SENSOR_NUM=10 CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 CONFIG_SOC_TWAI_CONTROLLER_NUM=1 -CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y CONFIG_SOC_TWAI_BRP_MIN=2 -CONFIG_SOC_TWAI_BRP_MAX=16384 -CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y +CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y +CONFIG_SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT=y CONFIG_SOC_UART_NUM=3 CONFIG_SOC_UART_HP_NUM=3 +CONFIG_SOC_UART_SUPPORT_APB_CLK=y +CONFIG_SOC_UART_SUPPORT_REF_TICK=y CONFIG_SOC_UART_FIFO_LEN=128 CONFIG_SOC_UART_BITRATE_MAX=5000000 -CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y -CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y -CONFIG_SOC_UART_SUPPORT_APB_CLK=y -CONFIG_SOC_UART_SUPPORT_RTC_CLK=y -CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y -CONFIG_SOC_USB_OTG_PERIPH_NUM=1 -CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 -CONFIG_SOC_SHA_SUPPORT_DMA=y -CONFIG_SOC_SHA_SUPPORT_RESUME=y -CONFIG_SOC_SHA_GDMA=y +CONFIG_SOC_SPIRAM_SUPPORTED=y +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +CONFIG_SOC_SHA_SUPPORT_PARALLEL_ENG=y +CONFIG_SOC_SHA_ENDIANNESS_BE=y CONFIG_SOC_SHA_SUPPORT_SHA1=y -CONFIG_SOC_SHA_SUPPORT_SHA224=y CONFIG_SOC_SHA_SUPPORT_SHA256=y CONFIG_SOC_SHA_SUPPORT_SHA384=y CONFIG_SOC_SHA_SUPPORT_SHA512=y -CONFIG_SOC_SHA_SUPPORT_SHA512_224=y -CONFIG_SOC_SHA_SUPPORT_SHA512_256=y -CONFIG_SOC_SHA_SUPPORT_SHA512_T=y CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 -CONFIG_SOC_MPI_OPERATIONS_NUM=3 +CONFIG_SOC_MPI_OPERATIONS_NUM=y CONFIG_SOC_RSA_MAX_BIT_LEN=4096 -CONFIG_SOC_AES_SUPPORT_DMA=y -CONFIG_SOC_AES_GDMA=y CONFIG_SOC_AES_SUPPORT_AES_128=y +CONFIG_SOC_AES_SUPPORT_AES_192=y CONFIG_SOC_AES_SUPPORT_AES_256=y +CONFIG_SOC_SECURE_BOOT_V1=y +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_CPU_PD=y -CONFIG_SOC_PM_SUPPORT_TAGMEM_PD=y CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y +CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y +CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y -CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y CONFIG_SOC_PM_SUPPORT_MODEM_PD=y CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y -CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y -CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y -CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y +CONFIG_SOC_CLK_APLL_SUPPORTED=y CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y -CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y -CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y -CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y -CONFIG_SOC_EFUSE_DIS_USB_JTAG=y -CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y -CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y -CONFIG_SOC_EFUSE_DIS_ICACHE=y -CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y -CONFIG_SOC_SECURE_BOOT_V2_RSA=y -CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 -CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y -CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y -CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y -CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 -CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=256 -CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 -CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192 -CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y -CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y -CONFIG_SOC_SPI_MEM_SUPPORT_OPI_MODE=y -CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y -CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y -CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y -CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y -CONFIG_SOC_MEMSPI_CORE_CLK_SHARED_WITH_PSRAM=y -CONFIG_SOC_COEX_HW_PTI=y -CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y -CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y +CONFIG_SOC_SDMMC_USE_IOMUX=y CONFIG_SOC_SDMMC_NUM_SLOTS=2 -CONFIG_SOC_SDMMC_SUPPORT_XTAL_CLOCK=y -CONFIG_SOC_SDMMC_DELAY_PHASE_NUM=4 -CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y -CONFIG_SOC_WIFI_HW_TSF=y -CONFIG_SOC_WIFI_FTM_SUPPORT=y -CONFIG_SOC_WIFI_GCMP_SUPPORT=y CONFIG_SOC_WIFI_WAPI_SUPPORT=y CONFIG_SOC_WIFI_CSI_SUPPORT=y CONFIG_SOC_WIFI_MESH_SUPPORT=y CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y -CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y +CONFIG_SOC_WIFI_NAN_SUPPORT=y CONFIG_SOC_BLE_SUPPORTED=y CONFIG_SOC_BLE_MESH_SUPPORTED=y -CONFIG_SOC_BLE_50_SUPPORTED=y -CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y +CONFIG_SOC_BT_CLASSIC_SUPPORTED=y CONFIG_SOC_BLUFI_SUPPORTED=y +CONFIG_SOC_BT_H2C_ENC_KEY_CTRL_ENH_VSC_SUPPORTED=y CONFIG_SOC_ULP_HAS_ADC=y CONFIG_SOC_PHY_COMBO_MODULE=y +CONFIG_SOC_EMAC_RMII_CLK_OUT_INTERNAL_LOOPBACK=y CONFIG_IDF_CMAKE=y CONFIG_IDF_TOOLCHAIN="gcc" CONFIG_IDF_TARGET_ARCH_XTENSA=y CONFIG_IDF_TARGET_ARCH="xtensa" -CONFIG_IDF_TARGET="esp32s3" +CONFIG_IDF_TARGET="esp32" CONFIG_IDF_INIT_VERSION="5.3.1" -CONFIG_IDF_TARGET_ESP32S3=y -CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009 +CONFIG_IDF_TARGET_ESP32=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 # # Build type @@ -372,6 +253,8 @@ CONFIG_APP_BUILD_BOOTLOADER=y CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y # CONFIG_APP_REPRODUCIBLE_BUILD is not set # CONFIG_APP_NO_BLOBS is not set +# CONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set +# CONFIG_APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set # end of Build type # @@ -385,7 +268,7 @@ CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y CONFIG_BOOTLOADER_PROJECT_VER=1 # end of Bootloader manager -CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000 CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set @@ -423,12 +306,10 @@ CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 # # Security features # -CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y -CONFIG_SECURE_BOOT_V2_PREFERRED=y +CONFIG_SECURE_BOOT_V1_SUPPORTED=y # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set # CONFIG_SECURE_BOOT is not set # CONFIG_SECURE_FLASH_ENC_ENABLED is not set -CONFIG_SECURE_ROM_DL_MODE_ENABLED=y # end of Security features # @@ -445,56 +326,30 @@ CONFIG_ESP_ROM_HAS_CRC_LE=y CONFIG_ESP_ROM_HAS_CRC_BE=y CONFIG_ESP_ROM_HAS_MZ_CRC32=y CONFIG_ESP_ROM_HAS_JPEG_DECODE=y -CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y -CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y -CONFIG_ESP_ROM_USB_OTG_NUM=3 -CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 -CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y -CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y -CONFIG_ESP_ROM_GET_CLK_FREQ=y -CONFIG_ESP_ROM_HAS_HAL_WDT=y +CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y -CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y -CONFIG_ESP_ROM_HAS_SPI_FLASH=y -CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y CONFIG_ESP_ROM_HAS_NEWLIB=y CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y -CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y -CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y -CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y -CONFIG_ESP_ROM_HAS_CACHE_SUSPEND_WAITI_BUG=y -CONFIG_ESP_ROM_HAS_CACHE_WRITEBACK_BUG=y CONFIG_ESP_ROM_HAS_SW_FLOAT=y -CONFIG_ESP_ROM_HAS_VERSION=y +CONFIG_ESP_ROM_USB_OTG_NUM=-1 +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=-1 CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y -# -# Boot ROM Behavior -# -CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y -# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set -# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set -# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set -# end of Boot ROM Behavior - # # Serial flasher config # # CONFIG_ESPTOOLPY_NO_STUB is not set -# CONFIG_ESPTOOLPY_OCT_FLASH is not set -CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=y -CONFIG_ESPTOOLPY_FLASHMODE_QIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set # CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set -# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y # CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y CONFIG_ESPTOOLPY_FLASHMODE="dio" -# CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set CONFIG_ESPTOOLPY_FLASHFREQ_80M=y # CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set # CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set -CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y CONFIG_ESPTOOLPY_FLASHFREQ="80m" # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set @@ -569,7 +424,6 @@ CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y CONFIG_APPTRACE_DEST_NONE=y # CONFIG_APPTRACE_DEST_UART1 is not set # CONFIG_APPTRACE_DEST_UART2 is not set -# CONFIG_APPTRACE_DEST_USB_CDC is not set CONFIG_APPTRACE_DEST_UART_NONE=y CONFIG_APPTRACE_UART_TASK_PRIO=1 CONFIG_APPTRACE_LOCK_ENABLE=y @@ -596,7 +450,7 @@ CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y CONFIG_BT_NIMBLE_LOG_LEVEL_INFO=y # CONFIG_BT_NIMBLE_LOG_LEVEL_DEBUG is not set CONFIG_BT_NIMBLE_LOG_LEVEL=1 -CONFIG_BT_NIMBLE_MAX_CONNECTIONS=3 +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 CONFIG_BT_NIMBLE_MAX_BONDS=3 CONFIG_BT_NIMBLE_MAX_CCCDS=8 CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM=0 @@ -624,8 +478,8 @@ CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE=0 # # Memory Settings # -CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=12 -CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=256 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=24 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=128 CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=24 CONFIG_BT_NIMBLE_MSYS_2_BLOCK_SIZE=320 CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=24 @@ -637,21 +491,14 @@ CONFIG_BT_NIMBLE_L2CAP_COC_SDU_BUFF_COUNT=1 # end of Memory Settings CONFIG_BT_NIMBLE_GATT_MAX_PROCS=4 -CONFIG_BT_NIMBLE_HS_FLOW_CTRL=y -CONFIG_BT_NIMBLE_HS_FLOW_CTRL_ITVL=1000 -CONFIG_BT_NIMBLE_HS_FLOW_CTRL_THRESH=2 -CONFIG_BT_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y +# CONFIG_BT_NIMBLE_HS_FLOW_CTRL is not set CONFIG_BT_NIMBLE_RPA_TIMEOUT=900 # CONFIG_BT_NIMBLE_MESH is not set CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000 -# CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT is not set -CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=y -CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY=y -CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY=y -# CONFIG_BT_NIMBLE_EXT_ADV is not set -CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS=0 -# CONFIG_BT_NIMBLE_GATT_CACHING is not set +# CONFIG_BT_NIMBLE_HOST_BASED_PRIVACY is not set +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=y +CONFIG_BT_NIMBLE_MAX_CONN_REATTEMPT=3 CONFIG_BT_NIMBLE_WHITELIST_SIZE=12 # CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set # CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set @@ -719,77 +566,46 @@ CONFIG_BT_NIMBLE_HCI_UART_CTS_PIN=23 # # Controller Options # -CONFIG_BT_CTRL_MODE_EFF=1 -CONFIG_BT_CTRL_BLE_MAX_ACT=6 -CONFIG_BT_CTRL_BLE_MAX_ACT_EFF=6 -CONFIG_BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB=0 -CONFIG_BT_CTRL_PINNED_TO_CORE=0 -CONFIG_BT_CTRL_HCI_MODE_VHCI=y -# CONFIG_BT_CTRL_HCI_MODE_UART_H4 is not set -CONFIG_BT_CTRL_HCI_TL=1 -CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=30 -CONFIG_BT_BLE_CCA_MODE_NONE=y -# CONFIG_BT_BLE_CCA_MODE_HW is not set -# CONFIG_BT_BLE_CCA_MODE_SW is not set -CONFIG_BT_BLE_CCA_MODE=0 -CONFIG_BT_CTRL_HW_CCA_VAL=20 -CONFIG_BT_CTRL_HW_CCA_EFF=0 -CONFIG_BT_CTRL_CE_LENGTH_TYPE_ORIG=y -# CONFIG_BT_CTRL_CE_LENGTH_TYPE_CE is not set -# CONFIG_BT_CTRL_CE_LENGTH_TYPE_SD is not set -CONFIG_BT_CTRL_CE_LENGTH_TYPE_EFF=0 -CONFIG_BT_CTRL_TX_ANTENNA_INDEX_0=y -# CONFIG_BT_CTRL_TX_ANTENNA_INDEX_1 is not set -CONFIG_BT_CTRL_TX_ANTENNA_INDEX_EFF=0 -CONFIG_BT_CTRL_RX_ANTENNA_INDEX_0=y -# CONFIG_BT_CTRL_RX_ANTENNA_INDEX_1 is not set -CONFIG_BT_CTRL_RX_ANTENNA_INDEX_EFF=0 -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N24 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N21 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N18 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N15 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N12 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N9 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N6 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N3 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N0 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P3 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P6 is not set -CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P9=y -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P12 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P15 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P18 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P21 is not set -CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_EFF=11 -CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y -CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 -CONFIG_BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 -CONFIG_BT_CTRL_BLE_SCAN_DUPL=y -CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DEVICE=y -# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA is not set -# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA_DEVICE is not set -CONFIG_BT_CTRL_SCAN_DUPL_TYPE=0 -CONFIG_BT_CTRL_SCAN_DUPL_CACHE_SIZE=100 -CONFIG_BT_CTRL_DUPL_SCAN_CACHE_REFRESH_PERIOD=0 -# CONFIG_BT_CTRL_BLE_MESH_SCAN_DUPL_EN is not set -# CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EN is not set -CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_DIS=y -CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EFF=0 +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +# CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY is not set +# CONFIG_BTDM_CTRL_MODE_BTDM is not set +CONFIG_BTDM_CTRL_BLE_MAX_CONN=3 +CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=0 +CONFIG_BTDM_CTRL_PCM_ROLE_EFF=0 +CONFIG_BTDM_CTRL_PCM_POLAR_EFF=0 +CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=3 +CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=0 +CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0 +CONFIG_BTDM_CTRL_PINNED_TO_CORE=0 +CONFIG_BTDM_CTRL_HCI_MODE_VHCI=y +# CONFIG_BTDM_CTRL_HCI_MODE_UART_H4 is not set # # MODEM SLEEP Options # -# CONFIG_BT_CTRL_MODEM_SLEEP is not set +CONFIG_BTDM_CTRL_MODEM_SLEEP=y +CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_ORIG=y +# CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_EVED is not set +CONFIG_BTDM_CTRL_LPCLK_SEL_MAIN_XTAL=y # end of MODEM SLEEP Options -CONFIG_BT_CTRL_SLEEP_MODE_EFF=0 -CONFIG_BT_CTRL_SLEEP_CLOCK_EFF=0 -CONFIG_BT_CTRL_HCI_TL_EFF=1 -# CONFIG_BT_CTRL_AGC_RECORRECT_EN is not set -# CONFIG_BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set -# CONFIG_BT_BLE_ADV_DATA_LENGTH_ZERO_AUX is not set -CONFIG_BT_CTRL_CHAN_ASS_EN=y -CONFIG_BT_CTRL_LE_PING_EN=y +CONFIG_BTDM_BLE_DEFAULT_SCA_250PPM=y +CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1 +CONFIG_BTDM_BLE_SCAN_DUPL=y +CONFIG_BTDM_SCAN_DUPL_TYPE_DEVICE=y +# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA is not set +# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA_DEVICE is not set +CONFIG_BTDM_SCAN_DUPL_TYPE=0 +CONFIG_BTDM_SCAN_DUPL_CACHE_SIZE=100 +CONFIG_BTDM_SCAN_DUPL_CACHE_REFRESH_PERIOD=0 +# CONFIG_BTDM_BLE_MESH_SCAN_DUPL_EN is not set +CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED=y +# CONFIG_BTDM_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set +CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y +CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 +CONFIG_BTDM_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 +CONFIG_BTDM_RESERVE_DRAM=0xdb5c +CONFIG_BTDM_CTRL_HLI=y # end of Controller Options # @@ -817,21 +633,35 @@ CONFIG_BT_ALARM_MAX_NUM=50 # TWAI Configuration # # CONFIG_TWAI_ISR_IN_IRAM is not set +CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC=y +CONFIG_TWAI_ERRATA_FIX_TX_INTR_LOST=y +CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID=y +CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT=y CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y # end of TWAI Configuration # # Legacy ADC Driver Configuration # +CONFIG_ADC_DISABLE_DAC=y # CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set # # Legacy ADC Calibration Configuration # +CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y +CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y +CONFIG_ADC_CAL_LUT_ENABLE=y # CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set # end of Legacy ADC Calibration Configuration # end of Legacy ADC Driver Configuration +# +# Legacy DAC Driver Configurations +# +# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy DAC Driver Configurations + # # Legacy MCPWM Driver Configurations # @@ -867,12 +697,6 @@ CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y # # CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set # end of Legacy SDM Driver Configurations - -# -# Legacy Temperature Sensor Driver Configurations -# -# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy Temperature Sensor Driver Configurations # end of Driver Configurations # @@ -880,14 +704,17 @@ CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y # # CONFIG_EFUSE_CUSTOM_TABLE is not set # CONFIG_EFUSE_VIRTUAL is not set -CONFIG_EFUSE_MAX_BLK_LEN=256 +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set +CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set +CONFIG_EFUSE_MAX_BLK_LEN=192 # end of eFuse Bit Manager # # ESP-TLS # CONFIG_ESP_TLS_USING_MBEDTLS=y -CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y +# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set # CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set # CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set @@ -901,7 +728,16 @@ CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y # # CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set # CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set -# CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set + +# +# ADC Calibration Configurations +# +CONFIG_ADC_CALI_EFUSE_TP_ENABLE=y +CONFIG_ADC_CALI_EFUSE_VREF_ENABLE=y +CONFIG_ADC_CALI_LUT_ENABLE=y +# end of ADC Calibration Configurations + +CONFIG_ADC_DISABLE_DAC_OUTPUT=y # CONFIG_ADC_ENABLE_DEBUG_LOG is not set # end of ADC and ADC Calibration @@ -919,9 +755,19 @@ CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y CONFIG_ESP_ERR_TO_NAME_LOOKUP=y # end of Common ESP-related +# +# ESP-Driver:DAC Configurations +# +# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set +# CONFIG_DAC_ISR_IRAM_SAFE is not set +# CONFIG_DAC_ENABLE_DEBUG_LOG is not set +CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y +# end of ESP-Driver:DAC Configurations + # # ESP-Driver:GPIO Configurations # +# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set # CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set # end of ESP-Driver:GPIO Configurations @@ -1001,28 +847,25 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y # CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:Touch Sensor Configurations -# -# ESP-Driver:Temperature Sensor Configurations -# -# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:Temperature Sensor Configurations - # # ESP-Driver:UART Configurations # # CONFIG_UART_ISR_IN_IRAM is not set # end of ESP-Driver:UART Configurations -# -# ESP-Driver:USB Serial/JTAG Configuration -# -CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y -# end of ESP-Driver:USB Serial/JTAG Configuration - # # Ethernet # CONFIG_ETH_ENABLED=y +CONFIG_ETH_USE_ESP32_EMAC=y +CONFIG_ETH_PHY_INTERFACE_RMII=y +CONFIG_ETH_RMII_CLK_INPUT=y +# CONFIG_ETH_RMII_CLK_OUTPUT is not set +CONFIG_ETH_RMII_CLK_IN_GPIO=0 +CONFIG_ETH_DMA_BUFFER_SIZE=512 +CONFIG_ETH_DMA_RX_BUFFER_NUM=10 +CONFIG_ETH_DMA_TX_BUFFER_NUM=10 +# CONFIG_ETH_IRAM_OPTIMIZATION is not set CONFIG_ETH_USE_SPI_ETHERNET=y # CONFIG_ETH_SPI_ETHERNET_DM9051 is not set # CONFIG_ETH_SPI_ETHERNET_W5500 is not set @@ -1089,17 +932,21 @@ CONFIG_HTTPD_PURGE_BUF_LEN=32 # # Chip revision # -CONFIG_ESP32S3_REV_MIN_0=y -# CONFIG_ESP32S3_REV_MIN_1 is not set -# CONFIG_ESP32S3_REV_MIN_2 is not set -CONFIG_ESP32S3_REV_MIN_FULL=0 +CONFIG_ESP32_REV_MIN_0=y +# CONFIG_ESP32_REV_MIN_1 is not set +# CONFIG_ESP32_REV_MIN_1_1 is not set +# CONFIG_ESP32_REV_MIN_2 is not set +# CONFIG_ESP32_REV_MIN_3 is not set +# CONFIG_ESP32_REV_MIN_3_1 is not set +CONFIG_ESP32_REV_MIN=0 +CONFIG_ESP32_REV_MIN_FULL=0 CONFIG_ESP_REV_MIN_FULL=0 # -# Maximum Supported ESP32-S3 Revision (Rev v0.99) +# Maximum Supported ESP32 Revision (Rev v3.99) # -CONFIG_ESP32S3_REV_MAX_FULL=99 -CONFIG_ESP_REV_MAX_FULL=99 +CONFIG_ESP32_REV_MAX_FULL=399 +CONFIG_ESP_REV_MAX_FULL=399 # end of Chip revision # @@ -1111,9 +958,10 @@ CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 -# CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set -CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y -CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR is not set # CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set # end of MAC Config @@ -1147,18 +995,12 @@ CONFIG_RTC_CLK_CAL_CYCLES=1024 CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y # end of Peripheral Control -# -# GDMA Configurations -# -CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y -# CONFIG_GDMA_ISR_IRAM_SAFE is not set -# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set -# end of GDMA Configurations - # # Main XTAL Config # +# CONFIG_XTAL_FREQ_26 is not set CONFIG_XTAL_FREQ_40=y +# CONFIG_XTAL_FREQ_AUTO is not set CONFIG_XTAL_FREQ=40 # end of Main XTAL Config @@ -1178,8 +1020,6 @@ CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y # CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 # CONFIG_LCD_ENABLE_DEBUG_LOG is not set -# CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set -# CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set # end of LCD Peripheral Configuration # end of LCD and Touch Panel @@ -1209,8 +1049,6 @@ CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 CONFIG_ESP_PHY_MAX_TX_POWER=20 # CONFIG_ESP_PHY_REDUCE_TX_POWER is not set -CONFIG_ESP_PHY_ENABLE_USB=y -# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set CONFIG_ESP_PHY_RF_CAL_PARTIAL=y # CONFIG_ESP_PHY_RF_CAL_NONE is not set # CONFIG_ESP_PHY_RF_CAL_FULL is not set @@ -1223,8 +1061,6 @@ CONFIG_ESP_PHY_CALIBRATION_MODE=0 # # CONFIG_PM_ENABLE is not set CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y -CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y -CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y # end of Power Management # @@ -1243,47 +1079,29 @@ CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y # ESP System Settings # # CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 - -# -# Cache config -# -CONFIG_ESP32S3_INSTRUCTION_CACHE_16KB=y -# CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB is not set -CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE=0x4000 -# CONFIG_ESP32S3_INSTRUCTION_CACHE_4WAYS is not set -CONFIG_ESP32S3_INSTRUCTION_CACHE_8WAYS=y -CONFIG_ESP32S3_ICACHE_ASSOCIATED_WAYS=8 -# CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_16B is not set -CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_32B=y -CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_SIZE=32 -# CONFIG_ESP32S3_DATA_CACHE_16KB is not set -CONFIG_ESP32S3_DATA_CACHE_32KB=y -# CONFIG_ESP32S3_DATA_CACHE_64KB is not set -CONFIG_ESP32S3_DATA_CACHE_SIZE=0x8000 -# CONFIG_ESP32S3_DATA_CACHE_4WAYS is not set -CONFIG_ESP32S3_DATA_CACHE_8WAYS=y -CONFIG_ESP32S3_DCACHE_ASSOCIATED_WAYS=8 -# CONFIG_ESP32S3_DATA_CACHE_LINE_16B is not set -# CONFIG_ESP32S3_DATA_CACHE_LINE_32B is not set -CONFIG_ESP32S3_DATA_CACHE_LINE_64B=y -CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=64 -# end of Cache config +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 # # Memory # -# CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM is not set -# CONFIG_ESP32S3_USE_FIXED_STATIC_RAM_SIZE is not set +# CONFIG_ESP32_RTCDATA_IN_FAST_MEM is not set +# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set +# CONFIG_ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY is not set + +# +# Non-backward compatible options +# +# CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM is not set +# end of Non-backward compatible options # end of Memory # # Trace memory # -# CONFIG_ESP32S3_TRAX is not set -CONFIG_ESP32S3_TRACEMEM_RESERVE_DRAM=0x0 +# CONFIG_ESP32_TRAX is not set +CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 # end of Trace memory # CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set @@ -1298,8 +1116,6 @@ CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y # # Memory protection # -CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y -CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y # end of Memory protection CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 @@ -1310,40 +1126,41 @@ CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 CONFIG_ESP_CONSOLE_UART_DEFAULT=y -# CONFIG_ESP_CONSOLE_USB_CDC is not set -# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set # CONFIG_ESP_CONSOLE_UART_CUSTOM is not set # CONFIG_ESP_CONSOLE_NONE is not set -# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set -CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y -CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y CONFIG_ESP_CONSOLE_UART=y CONFIG_ESP_CONSOLE_UART_NUM=0 CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 -# CONFIG_ESP_INT_WDT is not set -# CONFIG_ESP_TASK_WDT_EN is not set +CONFIG_ESP_INT_WDT=y +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +CONFIG_ESP_TASK_WDT_EN=y +CONFIG_ESP_TASK_WDT_INIT=y +# CONFIG_ESP_TASK_WDT_PANIC is not set +CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y # CONFIG_ESP_PANIC_HANDLER_IRAM is not set # CONFIG_ESP_DEBUG_STUBS_ENABLE is not set CONFIG_ESP_DEBUG_OCDAWARE=y -CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5=y # # Brownout Detector # CONFIG_ESP_BROWNOUT_DET=y -CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0 is not set # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y CONFIG_ESP_BROWNOUT_DET_LVL=7 # end of Brownout Detector +# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y -CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y # end of ESP System Settings # @@ -1365,7 +1182,7 @@ CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y # CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set -CONFIG_ESP_TIMER_IMPL_SYSTIMER=y +CONFIG_ESP_TIMER_IMPL_TG0_LAC=y # end of ESP Timer (High Resolution Timer) # @@ -1374,10 +1191,10 @@ CONFIG_ESP_TIMER_IMPL_SYSTIMER=y CONFIG_ESP_WIFI_ENABLED=y CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y -# CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER is not set -CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0 -CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=16 +# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y # CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 @@ -1401,21 +1218,17 @@ CONFIG_ESP_WIFI_SLP_IRAM_OPT=y CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 -# CONFIG_ESP_WIFI_FTM_ENABLE is not set CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y -# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set CONFIG_ESP_WIFI_GMAC_SUPPORT=y CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y # CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 +# CONFIG_ESP_WIFI_NAN_ENABLE is not set CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y -# CONFIG_ESP_WIFI_EAP_TLS1_3 is not set # CONFIG_ESP_WIFI_WAPI_PSK is not set -# CONFIG_ESP_WIFI_SUITE_B_192 is not set # CONFIG_ESP_WIFI_11KV_SUPPORT is not set # CONFIG_ESP_WIFI_MBO_SUPPORT is not set -# CONFIG_ESP_WIFI_ENABLE_ROAMING_APP is not set # CONFIG_ESP_WIFI_DPP_SUPPORT is not set # CONFIG_ESP_WIFI_11R_SUPPORT is not set # CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set @@ -1495,7 +1308,7 @@ CONFIG_FATFS_LINK_LOCK=y # # CONFIG_FREERTOS_SMP is not set CONFIG_FREERTOS_UNICORE=y -CONFIG_FREERTOS_HZ=1000 +CONFIG_FREERTOS_HZ=100 CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set @@ -1531,10 +1344,11 @@ CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y CONFIG_FREERTOS_ISR_STACKSIZE=1536 CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y -CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y -CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y -# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set -CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y +# CONFIG_FREERTOS_FPU_IN_ISR is not set +CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y +CONFIG_FREERTOS_CORETIMER_0=y +# CONFIG_FREERTOS_CORETIMER_1 is not set +CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set # end of Port @@ -1556,7 +1370,6 @@ CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y # CONFIG_HAL_ASSERTION_SILENT is not set # CONFIG_HAL_ASSERTION_ENABLE is not set CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 -CONFIG_HAL_WDT_USE_ROM_IMPL=y CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y # end of Hardware Abstraction Layer (HAL) and Low Level (LL) @@ -1807,13 +1620,9 @@ CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 # CONFIG_MBEDTLS_ECP_RESTARTABLE is not set CONFIG_MBEDTLS_CMAC_C=y CONFIG_MBEDTLS_HARDWARE_AES=y -CONFIG_MBEDTLS_AES_USE_INTERRUPT=y -CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y CONFIG_MBEDTLS_HARDWARE_MPI=y CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y -CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y -CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_HARDWARE_SHA=y CONFIG_MBEDTLS_ROM_MD5=y # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set @@ -1936,7 +1745,6 @@ CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y # # NVS # -# CONFIG_NVS_ENCRYPTION is not set # CONFIG_NVS_ASSERT_ERROR_CHECK is not set # CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set # end of NVS @@ -2012,14 +1820,6 @@ CONFIG_SPI_FLASH_BROWNOUT_RESET=y # # Features here require specific hardware (READ DOCS FIRST!) # -# CONFIG_SPI_FLASH_HPM_ENA is not set -CONFIG_SPI_FLASH_HPM_AUTO=y -# CONFIG_SPI_FLASH_HPM_DIS is not set -CONFIG_SPI_FLASH_HPM_ON=y -CONFIG_SPI_FLASH_HPM_DC_AUTO=y -# CONFIG_SPI_FLASH_HPM_DC_DISABLE is not set -CONFIG_SPI_FLASH_SUSPEND_QVL_SUPPORTED=y -# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 # end of Optional and Experimental Features (READ DOCS FIRST) # end of Main Flash configuration @@ -2030,10 +1830,10 @@ CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 # CONFIG_SPI_FLASH_VERIFY_WRITE is not set # CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y -# CONFIG_SPI_FLASH_ROM_IMPL is not set CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y # CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set # CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set # CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 @@ -2051,15 +1851,12 @@ CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_TH_SUPPORTED=y # CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_GD_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set -CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP=y # end of Auto-detect flash chips CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y @@ -2137,28 +1934,6 @@ CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y # CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set # end of Unity unit testing library -# -# USB-OTG -# -CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256 -CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y -# CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set -# CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set - -# -# Root Hub configuration -# -CONFIG_USB_HOST_DEBOUNCE_DELAY_MS=250 -CONFIG_USB_HOST_RESET_HOLD_MS=30 -CONFIG_USB_HOST_RESET_RECOVERY_MS=30 -CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10 -# end of Root Hub configuration - -# CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set -# CONFIG_USB_HOST_EXT_HUB_SUPPORT is not set -CONFIG_USB_OTG_SUPPORTED=y -# end of USB-OTG - # # Virtual file system # @@ -2221,8 +1996,9 @@ CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 # # Memory settings # -CONFIG_LV_MEM_CUSTOM=y -CONFIG_LV_MEM_CUSTOM_INCLUDE="stdlib.h" +# CONFIG_LV_MEM_CUSTOM is not set +CONFIG_LV_MEM_SIZE_KILOBYTES=32 +CONFIG_LV_MEM_ADDR=0x0 CONFIG_LV_MEM_BUF_MAX_NUM=16 # CONFIG_LV_MEMCPY_MEMSET_STD is not set # end of Memory settings @@ -2230,10 +2006,10 @@ CONFIG_LV_MEM_BUF_MAX_NUM=16 # # HAL Settings # -CONFIG_LV_DISP_DEF_REFR_PERIOD=5 +CONFIG_LV_DISP_DEF_REFR_PERIOD=30 CONFIG_LV_INDEV_DEF_READ_PERIOD=30 # CONFIG_LV_TICK_CUSTOM is not set -CONFIG_LV_DPI_DEF=217 +CONFIG_LV_DPI_DEF=130 # end of HAL Settings # @@ -2287,6 +2063,7 @@ CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" # Others # # CONFIG_LV_USE_PERF_MONITOR is not set +# CONFIG_LV_USE_MEM_MONITOR is not set # CONFIG_LV_USE_REFR_DEBUG is not set # CONFIG_LV_SPRINTF_CUSTOM is not set # CONFIG_LV_SPRINTF_USE_FLOAT is not set @@ -2299,7 +2076,7 @@ CONFIG_LV_USE_USER_DATA=y # # CONFIG_LV_BIG_ENDIAN_SYSTEM is not set CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 -CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y +# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set # CONFIG_LV_USE_LARGE_COORD is not set # end of Compiler settings # end of Feature configuration @@ -2464,7 +2241,7 @@ CONFIG_LV_USE_GRID=y # CONFIG_LV_USE_PNG is not set # CONFIG_LV_USE_BMP is not set # CONFIG_LV_USE_SJPG is not set -CONFIG_LV_USE_GIF=y +# CONFIG_LV_USE_GIF is not set # CONFIG_LV_USE_QRCODE is not set # CONFIG_LV_USE_FREETYPE is not set # CONFIG_LV_USE_TINY_TTF is not set @@ -2599,6 +2376,7 @@ CONFIG_LV_DISPLAY_USE_DC=y CONFIG_LV_DISP_PIN_DC=16 CONFIG_LV_DISP_USE_RST=y CONFIG_LV_DISP_PIN_RST=5 +CONFIG_LV_DISP_PIN_BUSY=35 # end of Display Pin Assignments # CONFIG_LV_DISP_BACKLIGHT_OFF is not set @@ -2606,60 +2384,53 @@ CONFIG_LV_DISP_BACKLIGHT_SWITCH=y # CONFIG_LV_DISP_BACKLIGHT_PWM is not set CONFIG_LV_BACKLIGHT_ACTIVE_LVL=y CONFIG_LV_DISP_PIN_BCKL=32 -CONFIG_LV_I2C=y CONFIG_LV_I2C_DISPLAY_PORT=0 # end of LVGL TFT Display controller # # LVGL Touch controller # -CONFIG_LV_TOUCH_CONTROLLER=7 +CONFIG_LV_TOUCH_CONTROLLER=1 # CONFIG_LV_TOUCH_CONTROLLER_NONE is not set -# CONFIG_LV_TOUCH_CONTROLLER_XPT2046 is not set +CONFIG_LV_TOUCH_CONTROLLER_XPT2046=y # CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set # CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set # CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set # CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set # CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set -CONFIG_LV_TOUCH_CONTROLLER_GT911=y -CONFIG_LV_I2C_TOUCH=y - -# -# Touchpanel Configuration (GT911) -# -CONFIG_LV_GT911_SWAPXY=y -# CONFIG_LV_GT911_INVERT_X is not set -CONFIG_LV_GT911_INVERT_Y=y -# end of Touchpanel Configuration (GT911) - -CONFIG_LV_I2C_TOUCH_PORT_0=y -# CONFIG_LV_I2C_TOUCH_PORT_1 is not set -CONFIG_LV_I2C_TOUCH_PORT=0 -# end of LVGL Touch controller -# end of LVGL ESP Drivers +# CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set +CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI=y +CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST=y +# CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST is not set # -# I2C Port Settings +# Touchpanel (XPT2046) Pin Assignments # +CONFIG_LV_TOUCH_SPI_MISO=19 +CONFIG_LV_TOUCH_SPI_MOSI=23 +CONFIG_LV_TOUCH_SPI_CLK=18 +CONFIG_LV_TOUCH_SPI_CS=21 +CONFIG_LV_TOUCH_PIN_IRQ=-1 +# end of Touchpanel (XPT2046) Pin Assignments # -# I2C Port 0 +# Touchpanel Configuration (XPT2046) # -CONFIG_I2C_MANAGER_0_ENABLED=y -CONFIG_I2C_MANAGER_0_SDA=19 -CONFIG_I2C_MANAGER_0_SCL=20 -CONFIG_I2C_MANAGER_0_FREQ_HZ=400000 -CONFIG_I2C_MANAGER_0_TIMEOUT=100 -CONFIG_I2C_MANAGER_0_LOCK_TIMEOUT=50 -# CONFIG_I2C_MANAGER_0_PULLUPS is not set -# end of I2C Port 0 +CONFIG_LV_TOUCH_X_MIN=200 +CONFIG_LV_TOUCH_Y_MIN=120 +CONFIG_LV_TOUCH_X_MAX=1900 +CONFIG_LV_TOUCH_Y_MAX=1900 +CONFIG_LV_TOUCH_XY_SWAP=y +CONFIG_LV_TOUCH_INVERT_X=y +# CONFIG_LV_TOUCH_INVERT_Y is not set +# CONFIG_LV_TOUCH_DETECT_IRQ is not set +# CONFIG_LV_TOUCH_DETECT_IRQ_PRESSURE is not set +CONFIG_LV_TOUCH_DETECT_PRESSURE=y +# end of Touchpanel Configuration (XPT2046) -# -# I2C Port 1 -# -# CONFIG_I2C_MANAGER_1_ENABLED is not set -# end of I2C Port 1 -# end of I2C Port Settings +CONFIG_LV_I2C_TOUCH_PORT=0 +# end of LVGL Touch controller +# end of LVGL ESP Drivers # # mDNS @@ -2691,4 +2462,270 @@ CONFIG_MDNS_PREDEF_NETIF_ETH=y # end of mDNS # end of Component config -CONFIG_IDF_EXPERIMENTAL_FEATURES=y +# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set + +# Deprecated options for backward compatibility +# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set +# CONFIG_NO_BLOBS is not set +# CONFIG_ESP32_NO_BLOBS is not set +# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set +# CONFIG_ESP32_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set +CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y +# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set +CONFIG_LOG_BOOTLOADER_LEVEL=3 +# CONFIG_APP_ROLLBACK_ENABLE is not set +# CONFIG_FLASH_ENCRYPTION_ENABLED is not set +# CONFIG_FLASHMODE_QIO is not set +# CONFIG_FLASHMODE_QOUT is not set +CONFIG_FLASHMODE_DIO=y +# CONFIG_FLASHMODE_DOUT is not set +CONFIG_MONITOR_BAUD=115200 +# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set +CONFIG_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_CXX_EXCEPTIONS is not set +CONFIG_STACK_CHECK_NONE=y +# CONFIG_STACK_CHECK_NORM is not set +# CONFIG_STACK_CHECK_STRONG is not set +# CONFIG_STACK_CHECK_ALL is not set +# CONFIG_WARN_WRITE_STRINGS is not set +# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set +CONFIG_ESP32_APPTRACE_DEST_NONE=y +CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y +# CONFIG_BLUEDROID_ENABLED is not set +CONFIG_NIMBLE_ENABLED=y +CONFIG_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y +# CONFIG_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set +CONFIG_NIMBLE_MAX_CONNECTIONS=1 +CONFIG_NIMBLE_MAX_BONDS=3 +CONFIG_NIMBLE_MAX_CCCDS=8 +CONFIG_NIMBLE_L2CAP_COC_MAX_NUM=0 +CONFIG_NIMBLE_PINNED_TO_CORE=0 +CONFIG_NIMBLE_TASK_STACK_SIZE=4096 +CONFIG_BT_NIMBLE_TASK_STACK_SIZE=4096 +CONFIG_NIMBLE_ROLE_CENTRAL=y +CONFIG_NIMBLE_ROLE_PERIPHERAL=y +CONFIG_NIMBLE_ROLE_BROADCASTER=y +CONFIG_NIMBLE_ROLE_OBSERVER=y +# CONFIG_NIMBLE_NVS_PERSIST is not set +CONFIG_NIMBLE_SM_LEGACY=y +CONFIG_NIMBLE_SM_SC=y +# CONFIG_NIMBLE_SM_SC_DEBUG_KEYS is not set +CONFIG_BT_NIMBLE_SM_SC_LVL=0 +# CONFIG_NIMBLE_DEBUG is not set +CONFIG_NIMBLE_SVC_GAP_DEVICE_NAME="nimble" +CONFIG_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31 +CONFIG_NIMBLE_ATT_PREFERRED_MTU=256 +CONFIG_NIMBLE_SVC_GAP_APPEARANCE=0 +CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT=24 +CONFIG_BT_NIMBLE_ACL_BUF_COUNT=24 +CONFIG_BT_NIMBLE_ACL_BUF_SIZE=255 +CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE=70 +CONFIG_BT_NIMBLE_HCI_EVT_HI_BUF_COUNT=30 +CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT=8 +# CONFIG_NIMBLE_HS_FLOW_CTRL is not set +CONFIG_NIMBLE_RPA_TIMEOUT=900 +# CONFIG_NIMBLE_MESH is not set +CONFIG_NIMBLE_CRYPTO_STACK_MBEDTLS=y +CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY=y +# CONFIG_BTDM_CONTROLLER_MODE_BR_EDR_ONLY is not set +# CONFIG_BTDM_CONTROLLER_MODE_BTDM is not set +CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN=3 +CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=3 +CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0 +CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0 +CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0 +CONFIG_BTDM_CONTROLLER_HCI_MODE_VHCI=y +# CONFIG_BTDM_CONTROLLER_HCI_MODE_UART_H4 is not set +CONFIG_BTDM_CONTROLLER_MODEM_SLEEP=y +CONFIG_BLE_SCAN_DUPLICATE=y +CONFIG_SCAN_DUPLICATE_BY_DEVICE_ADDR=y +# CONFIG_SCAN_DUPLICATE_BY_ADV_DATA is not set +# CONFIG_SCAN_DUPLICATE_BY_ADV_DATA_AND_DEVICE_ADDR is not set +CONFIG_SCAN_DUPLICATE_TYPE=0 +CONFIG_DUPLICATE_SCAN_CACHE_SIZE=100 +# CONFIG_BLE_MESH_SCAN_DUPLICATE_EN is not set +CONFIG_BTDM_CONTROLLER_FULL_SCAN_SUPPORTED=y +CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_SUPPORTED=y +CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_NUM=100 +CONFIG_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 +CONFIG_ADC2_DISABLE_DAC=y +CONFIG_SW_COEXIST_ENABLE=y +CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y +CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y +# CONFIG_MCPWM_ISR_IN_IRAM is not set +# CONFIG_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +CONFIG_GDBSTUB_SUPPORT_TASKS=y +CONFIG_GDBSTUB_MAX_TASKS=32 +# CONFIG_OTA_ALLOW_HTTP is not set +# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set +CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y +CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 +# CONFIG_ESP_SYSTEM_PD_FLASH is not set +CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=0 +CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=0 +CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y +CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y +# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set +# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set +# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set +CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 +# CONFIG_ESP32_XTAL_FREQ_26 is not set +CONFIG_ESP32_XTAL_FREQ_40=y +# CONFIG_ESP32_XTAL_FREQ_AUTO is not set +CONFIG_ESP32_XTAL_FREQ=40 +CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP32_PHY_MAX_TX_POWER=20 +# CONFIG_REDUCE_PHY_TX_POWER is not set +# CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set +# CONFIG_SPIRAM_SUPPORT is not set +# CONFIG_ESP32_SPIRAM_SUPPORT is not set +# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set +CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y +# CONFIG_ESP32_DEFAULT_CPU_FREQ_240 is not set +CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=160 +CONFIG_TRACEMEM_RESERVE_DRAM=0x0 +# CONFIG_ESP32_PANIC_PRINT_HALT is not set +CONFIG_ESP32_PANIC_PRINT_REBOOT=y +# CONFIG_ESP32_PANIC_SILENT_REBOOT is not set +# CONFIG_ESP32_PANIC_GDBSTUB is not set +CONFIG_ESP32_ALLOW_RTC_FAST_MEM_AS_HEAP=y +CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=3584 +CONFIG_CONSOLE_UART_DEFAULT=y +# CONFIG_CONSOLE_UART_CUSTOM is not set +# CONFIG_CONSOLE_UART_NONE is not set +# CONFIG_ESP_CONSOLE_UART_NONE is not set +CONFIG_CONSOLE_UART=y +CONFIG_CONSOLE_UART_NUM=0 +CONFIG_CONSOLE_UART_BAUDRATE=115200 +CONFIG_INT_WDT=y +CONFIG_INT_WDT_TIMEOUT_MS=300 +CONFIG_TASK_WDT=y +CONFIG_ESP_TASK_WDT=y +# CONFIG_TASK_WDT_PANIC is not set +CONFIG_TASK_WDT_TIMEOUT_S=5 +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP32_DEBUG_OCDAWARE=y +CONFIG_BROWNOUT_DET=y +CONFIG_ESP32_BROWNOUT_DET=y +# CONFIG_BROWNOUT_DET_LVL_SEL_0 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set +CONFIG_BROWNOUT_DET_LVL_SEL_7=y +CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7=y +CONFIG_BROWNOUT_DET_LVL=7 +CONFIG_ESP32_BROWNOUT_DET_LVL=7 +# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set +CONFIG_IPC_TASK_STACK_SIZE=1024 +CONFIG_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP32_WIFI_ENABLED=y +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_CSI_ENABLED is not set +CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP32_WIFI_TX_BA_WIN=6 +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_NVS_ENABLED=y +CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 +CONFIG_ESP32_WIFI_IRAM_OPT=y +CONFIG_ESP32_WIFI_RX_IRAM_OPT=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y +CONFIG_WPA_MBEDTLS_CRYPTO=y +CONFIG_WPA_MBEDTLS_TLS_CLIENT=y +# CONFIG_WPA_WAPI_PSK is not set +# CONFIG_WPA_11KV_SUPPORT is not set +# CONFIG_WPA_MBO_SUPPORT is not set +# CONFIG_WPA_DPP_SUPPORT is not set +# CONFIG_WPA_11R_SUPPORT is not set +# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set +# CONFIG_WPA_WPS_STRICT is not set +# CONFIG_WPA_DEBUG_PRINT is not set +# CONFIG_WPA_TESTING_OPTIONS is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set +CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y +CONFIG_TIMER_TASK_PRIORITY=1 +CONFIG_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_TIMER_QUEUE_LENGTH=10 +# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set +# CONFIG_L2_TO_L3_COPY is not set +CONFIG_ESP_GRATUITOUS_ARP=y +CONFIG_GARP_TMR_INTERVAL=60 +CONFIG_TCPIP_RECVMBOX_SIZE=32 +CONFIG_TCP_MAXRTX=12 +CONFIG_TCP_SYNMAXRTX=12 +CONFIG_TCP_MSS=1440 +CONFIG_TCP_MSL=60000 +CONFIG_TCP_SND_BUF_DEFAULT=5760 +CONFIG_TCP_WND_DEFAULT=5760 +CONFIG_TCP_RECVMBOX_SIZE=6 +CONFIG_TCP_QUEUE_OOSEQ=y +CONFIG_TCP_OVERSIZE_MSS=y +# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_TCP_OVERSIZE_DISABLE is not set +CONFIG_UDP_RECVMBOX_SIZE=6 +CONFIG_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set +CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_PPP_SUPPORT is not set +CONFIG_ESP32_TIME_SYSCALL_USE_RTC_HRT=y +CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y +# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_HRT is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_ESP32_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +# CONFIG_ESP32_ULP_COPROC_ENABLED is not set +CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y +CONFIG_SUPPORT_TERMIOS=y +CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# End of deprecated options diff --git a/sdkconfig.old b/sdkconfig.old index ed9c0700..5a59220a 100644 --- a/sdkconfig.old +++ b/sdkconfig.old @@ -2,57 +2,44 @@ # Automatically generated file. DO NOT EDIT. # Espressif IoT Development Framework (ESP-IDF) 5.3.1 Project Configuration # -CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 -CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED="Not determined" +CONFIG_SOC_TWAI_BRP_DIV_SUPPORTED="Not determined" +CONFIG_SOC_DPORT_WORKAROUND="Not determined" +CONFIG_SOC_CAPS_ECO_VER_MAX=301 CONFIG_SOC_ADC_SUPPORTED=y +CONFIG_SOC_DAC_SUPPORTED=y CONFIG_SOC_UART_SUPPORTED=y +CONFIG_SOC_MCPWM_SUPPORTED=y +CONFIG_SOC_GPTIMER_SUPPORTED=y +CONFIG_SOC_SDMMC_HOST_SUPPORTED=y +CONFIG_SOC_BT_SUPPORTED=y CONFIG_SOC_PCNT_SUPPORTED=y CONFIG_SOC_PHY_SUPPORTED=y CONFIG_SOC_WIFI_SUPPORTED=y +CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y CONFIG_SOC_TWAI_SUPPORTED=y -CONFIG_SOC_GDMA_SUPPORTED=y -CONFIG_SOC_AHB_GDMA_SUPPORTED=y -CONFIG_SOC_GPTIMER_SUPPORTED=y -CONFIG_SOC_LCDCAM_SUPPORTED=y -CONFIG_SOC_MCPWM_SUPPORTED=y -CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y -CONFIG_SOC_CACHE_SUPPORT_WRAP=y +CONFIG_SOC_EFUSE_SUPPORTED=y +CONFIG_SOC_EMAC_SUPPORTED=y CONFIG_SOC_ULP_SUPPORTED=y -CONFIG_SOC_ULP_FSM_SUPPORTED=y -CONFIG_SOC_RISCV_COPROC_SUPPORTED=y -CONFIG_SOC_BT_SUPPORTED=y -CONFIG_SOC_USB_OTG_SUPPORTED=y -CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y -CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y -CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y -CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y -CONFIG_SOC_EFUSE_SUPPORTED=y -CONFIG_SOC_SDMMC_HOST_SUPPORTED=y CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y CONFIG_SOC_RTC_MEM_SUPPORTED=y -CONFIG_SOC_PSRAM_DMA_CAPABLE=y -CONFIG_SOC_XT_WDT_SUPPORTED=y CONFIG_SOC_I2S_SUPPORTED=y CONFIG_SOC_RMT_SUPPORTED=y CONFIG_SOC_SDM_SUPPORTED=y CONFIG_SOC_GPSPI_SUPPORTED=y CONFIG_SOC_LEDC_SUPPORTED=y CONFIG_SOC_I2C_SUPPORTED=y -CONFIG_SOC_SYSTIMER_SUPPORTED=y CONFIG_SOC_SUPPORT_COEXISTENCE=y -CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y CONFIG_SOC_AES_SUPPORTED=y CONFIG_SOC_MPI_SUPPORTED=y CONFIG_SOC_SHA_SUPPORTED=y -CONFIG_SOC_HMAC_SUPPORTED=y -CONFIG_SOC_DIG_SIGN_SUPPORTED=y CONFIG_SOC_FLASH_ENC_SUPPORTED=y CONFIG_SOC_SECURE_BOOT_SUPPORTED=y -CONFIG_SOC_MEMPROT_SUPPORTED=y CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y CONFIG_SOC_BOD_SUPPORTED=y +CONFIG_SOC_ULP_FSM_SUPPORTED=y CONFIG_SOC_CLK_TREE_SUPPORTED=y CONFIG_SOC_MPU_SUPPORTED=y CONFIG_SOC_WDT_SUPPORTED=y @@ -62,36 +49,30 @@ CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y CONFIG_SOC_PM_SUPPORTED=y +CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5 +CONFIG_SOC_XTAL_SUPPORT_26M=y CONFIG_SOC_XTAL_SUPPORT_40M=y -CONFIG_SOC_APPCPU_HAS_CLOCK_GATING_BUG=y +CONFIG_SOC_XTAL_SUPPORT_AUTO_DETECT=y CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y -CONFIG_SOC_ADC_ARBITER_SUPPORTED=y -CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y -CONFIG_SOC_ADC_MONITOR_SUPPORTED=y CONFIG_SOC_ADC_DMA_SUPPORTED=y CONFIG_SOC_ADC_PERIPH_NUM=2 CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 CONFIG_SOC_ADC_ATTEN_NUM=4 CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 -CONFIG_SOC_ADC_PATT_LEN_MAX=24 -CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 +CONFIG_SOC_ADC_PATT_LEN_MAX=16 +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=9 CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 -CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2 CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 -CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 -CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 -CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=0 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=2 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=20 +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9 CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 -CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y -CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y CONFIG_SOC_ADC_SHARED_POWER=y -CONFIG_SOC_APB_BACKUP_DMA=y -CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y -CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y -CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y +CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y +CONFIG_SOC_IDCACHE_PER_CORE=y CONFIG_SOC_CPU_CORES_NUM=2 CONFIG_SOC_CPU_INTR_NUM=32 CONFIG_SOC_CPU_HAS_FPU=y @@ -99,56 +80,48 @@ CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64 -CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096 -CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 -CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 -CONFIG_SOC_AHB_GDMA_VERSION=1 -CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 -CONFIG_SOC_GDMA_PAIRS_PER_GROUP=5 -CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=5 -CONFIG_SOC_AHB_GDMA_SUPPORT_PSRAM=y +CONFIG_SOC_DAC_CHAN_NUM=2 +CONFIG_SOC_DAC_RESOLUTION=8 +CONFIG_SOC_DAC_DMA_16BIT_ALIGN=y CONFIG_SOC_GPIO_PORT=1 -CONFIG_SOC_GPIO_PIN_COUNT=49 -CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y -CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y -CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y -CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y -CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x1FFFFFFFFFFFF -CONFIG_SOC_GPIO_IN_RANGE_MAX=48 -CONFIG_SOC_GPIO_OUT_RANGE_MAX=48 -CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000 +CONFIG_SOC_GPIO_PIN_COUNT=40 +CONFIG_SOC_GPIO_VALID_GPIO_MASK=0xFFFFFFFFFF +CONFIG_SOC_GPIO_IN_RANGE_MAX=39 +CONFIG_SOC_GPIO_OUT_RANGE_MAX=33 +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 -CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 -CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 -CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y CONFIG_SOC_I2C_NUM=2 CONFIG_SOC_HP_I2C_NUM=2 CONFIG_SOC_I2C_FIFO_LEN=32 -CONFIG_SOC_I2C_CMD_REG_NUM=8 +CONFIG_SOC_I2C_CMD_REG_NUM=16 CONFIG_SOC_I2C_SUPPORT_SLAVE=y -CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y -CONFIG_SOC_I2C_SUPPORT_XTAL=y -CONFIG_SOC_I2C_SUPPORT_RTC=y -CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y -CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y -CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y +CONFIG_SOC_I2C_SUPPORT_APB=y +CONFIG_SOC_I2C_STOP_INDEPENDENT=y CONFIG_SOC_I2S_NUM=2 -CONFIG_SOC_I2S_HW_VERSION_2=y -CONFIG_SOC_I2S_SUPPORTS_XTAL=y +CONFIG_SOC_I2S_HW_VERSION_1=y +CONFIG_SOC_I2S_SUPPORTS_APLL=y CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y -CONFIG_SOC_I2S_SUPPORTS_PCM=y CONFIG_SOC_I2S_SUPPORTS_PDM=y CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y -CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=1 CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y -CONFIG_SOC_I2S_PDM_MAX_RX_LINES=4 -CONFIG_SOC_I2S_SUPPORTS_TDM=y +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1 +CONFIG_SOC_I2S_SUPPORTS_ADC_DAC=y +CONFIG_SOC_I2S_SUPPORTS_ADC=y +CONFIG_SOC_I2S_SUPPORTS_DAC=y +CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y +CONFIG_SOC_I2S_TRANS_SIZE_ALIGN_WORD=y +CONFIG_SOC_I2S_LCD_I80_VARIANT=y +CONFIG_SOC_LCD_I80_SUPPORTED=y +CONFIG_SOC_LCD_I80_BUSES=2 +CONFIG_SOC_LCD_I80_BUS_WIDTH=24 +CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y -CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y +CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y +CONFIG_SOC_LEDC_SUPPORT_HS_MODE=y CONFIG_SOC_LEDC_CHANNEL_NUM=8 -CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 -CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 CONFIG_SOC_MCPWM_GROUPS=2 CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 @@ -159,208 +132,116 @@ CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 -CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y -CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 -CONFIG_SOC_MMU_PERIPH_NUM=1 +CONFIG_SOC_MMU_PERIPH_NUM=2 +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=3 +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 CONFIG_SOC_PCNT_GROUPS=1 -CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 +CONFIG_SOC_PCNT_UNITS_PER_GROUP=8 CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 CONFIG_SOC_RMT_GROUPS=1 -CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4 -CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4 +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=8 +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=8 CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 -CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 -CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y -CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y -CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y -CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y -CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y -CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y -CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y -CONFIG_SOC_RMT_SUPPORT_XTAL=y -CONFIG_SOC_RMT_SUPPORT_RC_FAST=y +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64 +CONFIG_SOC_RMT_SUPPORT_REF_TICK=y CONFIG_SOC_RMT_SUPPORT_APB=y -CONFIG_SOC_RMT_SUPPORT_DMA=y -CONFIG_SOC_LCD_I80_SUPPORTED=y -CONFIG_SOC_LCD_RGB_SUPPORTED=y -CONFIG_SOC_LCD_I80_BUSES=1 -CONFIG_SOC_LCD_RGB_PANELS=1 -CONFIG_SOC_LCD_I80_BUS_WIDTH=16 -CONFIG_SOC_LCD_RGB_DATA_WIDTH=16 -CONFIG_SOC_LCD_SUPPORT_RGB_YUV_CONV=y -CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 -CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549 -CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128 -CONFIG_SOC_RTCIO_PIN_COUNT=22 +CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y +CONFIG_SOC_RTCIO_PIN_COUNT=18 CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y -CONFIG_SOC_SDM_GROUPS=y +CONFIG_SOC_SDM_GROUPS=1 CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 CONFIG_SOC_SDM_CLK_SUPPORT_APB=y +CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y +CONFIG_SOC_SPI_AS_CS_SUPPORTED=y CONFIG_SOC_SPI_PERIPH_NUM=3 -CONFIG_SOC_SPI_MAX_CS_NUM=6 -CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 -CONFIG_SOC_SPI_SUPPORT_DDRCLK=y -CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y -CONFIG_SOC_SPI_SUPPORT_CD_SIG=y -CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y -CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +CONFIG_SOC_SPI_DMA_CHAN_NUM=2 +CONFIG_SOC_SPI_MAX_CS_NUM=3 CONFIG_SOC_SPI_SUPPORT_CLK_APB=y -CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y -CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y -CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y -CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 -CONFIG_SOC_SPI_SUPPORT_OCT=y -CONFIG_SOC_SPI_SCT_SUPPORTED=y -CONFIG_SOC_SPI_SCT_REG_NUM=14 -CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y -CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA -CONFIG_SOC_MEMSPI_SRC_FREQ_120M=y +CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192 CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED=y CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y -CONFIG_SOC_SPIRAM_SUPPORTED=y -CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y -CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 -CONFIG_SOC_SYSTIMER_ALARM_NUM=3 -CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 -CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 -CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y -CONFIG_SOC_SYSTIMER_INT_LEVEL=y -CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y CONFIG_SOC_TIMER_GROUPS=2 CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 -CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 -CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y -CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y +CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64 CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 -CONFIG_SOC_TOUCH_SENSOR_VERSION=2 -CONFIG_SOC_TOUCH_SENSOR_NUM=15 -CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y -CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y -CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y -CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3 -CONFIG_SOC_TOUCH_PROXIMITY_MEAS_DONE_SUPPORTED=y +CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y +CONFIG_SOC_TOUCH_SENSOR_VERSION=1 +CONFIG_SOC_TOUCH_SENSOR_NUM=10 CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 CONFIG_SOC_TWAI_CONTROLLER_NUM=1 -CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y CONFIG_SOC_TWAI_BRP_MIN=2 -CONFIG_SOC_TWAI_BRP_MAX=16384 -CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y +CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y +CONFIG_SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT=y CONFIG_SOC_UART_NUM=3 CONFIG_SOC_UART_HP_NUM=3 +CONFIG_SOC_UART_SUPPORT_APB_CLK=y +CONFIG_SOC_UART_SUPPORT_REF_TICK=y CONFIG_SOC_UART_FIFO_LEN=128 CONFIG_SOC_UART_BITRATE_MAX=5000000 -CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y -CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y -CONFIG_SOC_UART_SUPPORT_APB_CLK=y -CONFIG_SOC_UART_SUPPORT_RTC_CLK=y -CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y -CONFIG_SOC_USB_OTG_PERIPH_NUM=1 -CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 -CONFIG_SOC_SHA_SUPPORT_DMA=y -CONFIG_SOC_SHA_SUPPORT_RESUME=y -CONFIG_SOC_SHA_GDMA=y +CONFIG_SOC_SPIRAM_SUPPORTED=y +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +CONFIG_SOC_SHA_SUPPORT_PARALLEL_ENG=y +CONFIG_SOC_SHA_ENDIANNESS_BE=y CONFIG_SOC_SHA_SUPPORT_SHA1=y -CONFIG_SOC_SHA_SUPPORT_SHA224=y CONFIG_SOC_SHA_SUPPORT_SHA256=y CONFIG_SOC_SHA_SUPPORT_SHA384=y CONFIG_SOC_SHA_SUPPORT_SHA512=y -CONFIG_SOC_SHA_SUPPORT_SHA512_224=y -CONFIG_SOC_SHA_SUPPORT_SHA512_256=y -CONFIG_SOC_SHA_SUPPORT_SHA512_T=y CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 -CONFIG_SOC_MPI_OPERATIONS_NUM=3 +CONFIG_SOC_MPI_OPERATIONS_NUM=y CONFIG_SOC_RSA_MAX_BIT_LEN=4096 -CONFIG_SOC_AES_SUPPORT_DMA=y -CONFIG_SOC_AES_GDMA=y CONFIG_SOC_AES_SUPPORT_AES_128=y +CONFIG_SOC_AES_SUPPORT_AES_192=y CONFIG_SOC_AES_SUPPORT_AES_256=y +CONFIG_SOC_SECURE_BOOT_V1=y +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y -CONFIG_SOC_PM_SUPPORT_CPU_PD=y -CONFIG_SOC_PM_SUPPORT_TAGMEM_PD=y CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y +CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y +CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y -CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y CONFIG_SOC_PM_SUPPORT_MODEM_PD=y CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y -CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y -CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y -CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y +CONFIG_SOC_CLK_APLL_SUPPORTED=y CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y -CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y -CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y -CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y -CONFIG_SOC_EFUSE_DIS_USB_JTAG=y -CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y -CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y -CONFIG_SOC_EFUSE_DIS_ICACHE=y -CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y -CONFIG_SOC_SECURE_BOOT_V2_RSA=y -CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 -CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y -CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y -CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y -CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 -CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=256 -CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 -CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192 -CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y -CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y -CONFIG_SOC_SPI_MEM_SUPPORT_OPI_MODE=y -CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y -CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y -CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y -CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y -CONFIG_SOC_MEMSPI_CORE_CLK_SHARED_WITH_PSRAM=y -CONFIG_SOC_COEX_HW_PTI=y -CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y -CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y +CONFIG_SOC_SDMMC_USE_IOMUX=y CONFIG_SOC_SDMMC_NUM_SLOTS=2 -CONFIG_SOC_SDMMC_SUPPORT_XTAL_CLOCK=y -CONFIG_SOC_SDMMC_DELAY_PHASE_NUM=4 -CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y -CONFIG_SOC_WIFI_HW_TSF=y -CONFIG_SOC_WIFI_FTM_SUPPORT=y -CONFIG_SOC_WIFI_GCMP_SUPPORT=y CONFIG_SOC_WIFI_WAPI_SUPPORT=y CONFIG_SOC_WIFI_CSI_SUPPORT=y CONFIG_SOC_WIFI_MESH_SUPPORT=y CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y -CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y +CONFIG_SOC_WIFI_NAN_SUPPORT=y CONFIG_SOC_BLE_SUPPORTED=y CONFIG_SOC_BLE_MESH_SUPPORTED=y -CONFIG_SOC_BLE_50_SUPPORTED=y -CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y +CONFIG_SOC_BT_CLASSIC_SUPPORTED=y CONFIG_SOC_BLUFI_SUPPORTED=y +CONFIG_SOC_BT_H2C_ENC_KEY_CTRL_ENH_VSC_SUPPORTED=y CONFIG_SOC_ULP_HAS_ADC=y CONFIG_SOC_PHY_COMBO_MODULE=y +CONFIG_SOC_EMAC_RMII_CLK_OUT_INTERNAL_LOOPBACK=y CONFIG_IDF_CMAKE=y CONFIG_IDF_TOOLCHAIN="gcc" CONFIG_IDF_TARGET_ARCH_XTENSA=y CONFIG_IDF_TARGET_ARCH="xtensa" -CONFIG_IDF_TARGET="esp32s3" +CONFIG_IDF_TARGET="esp32" CONFIG_IDF_INIT_VERSION="5.3.1" -CONFIG_IDF_TARGET_ESP32S3=y -CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009 +CONFIG_IDF_TARGET_ESP32=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 # # Build type @@ -372,6 +253,8 @@ CONFIG_APP_BUILD_BOOTLOADER=y CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y # CONFIG_APP_REPRODUCIBLE_BUILD is not set # CONFIG_APP_NO_BLOBS is not set +# CONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set +# CONFIG_APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set # end of Build type # @@ -385,7 +268,7 @@ CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y CONFIG_BOOTLOADER_PROJECT_VER=1 # end of Bootloader manager -CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000 CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set @@ -423,12 +306,10 @@ CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 # # Security features # -CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y -CONFIG_SECURE_BOOT_V2_PREFERRED=y +CONFIG_SECURE_BOOT_V1_SUPPORTED=y # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set # CONFIG_SECURE_BOOT is not set # CONFIG_SECURE_FLASH_ENC_ENABLED is not set -CONFIG_SECURE_ROM_DL_MODE_ENABLED=y # end of Security features # @@ -445,56 +326,30 @@ CONFIG_ESP_ROM_HAS_CRC_LE=y CONFIG_ESP_ROM_HAS_CRC_BE=y CONFIG_ESP_ROM_HAS_MZ_CRC32=y CONFIG_ESP_ROM_HAS_JPEG_DECODE=y -CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y -CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y -CONFIG_ESP_ROM_USB_OTG_NUM=3 -CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 -CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y -CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y -CONFIG_ESP_ROM_GET_CLK_FREQ=y -CONFIG_ESP_ROM_HAS_HAL_WDT=y +CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y -CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y -CONFIG_ESP_ROM_HAS_SPI_FLASH=y -CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y CONFIG_ESP_ROM_HAS_NEWLIB=y CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y -CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y -CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y -CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y -CONFIG_ESP_ROM_HAS_CACHE_SUSPEND_WAITI_BUG=y -CONFIG_ESP_ROM_HAS_CACHE_WRITEBACK_BUG=y CONFIG_ESP_ROM_HAS_SW_FLOAT=y -CONFIG_ESP_ROM_HAS_VERSION=y +CONFIG_ESP_ROM_USB_OTG_NUM=-1 +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=-1 CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y -# -# Boot ROM Behavior -# -CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y -# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set -# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set -# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set -# end of Boot ROM Behavior - # # Serial flasher config # # CONFIG_ESPTOOLPY_NO_STUB is not set -# CONFIG_ESPTOOLPY_OCT_FLASH is not set -CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=y -CONFIG_ESPTOOLPY_FLASHMODE_QIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set # CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set -# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y # CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y CONFIG_ESPTOOLPY_FLASHMODE="dio" -# CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set CONFIG_ESPTOOLPY_FLASHFREQ_80M=y # CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set # CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set -CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y CONFIG_ESPTOOLPY_FLASHFREQ="80m" # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set @@ -569,7 +424,6 @@ CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y CONFIG_APPTRACE_DEST_NONE=y # CONFIG_APPTRACE_DEST_UART1 is not set # CONFIG_APPTRACE_DEST_UART2 is not set -# CONFIG_APPTRACE_DEST_USB_CDC is not set CONFIG_APPTRACE_DEST_UART_NONE=y CONFIG_APPTRACE_UART_TASK_PRIO=1 CONFIG_APPTRACE_LOCK_ENABLE=y @@ -589,7 +443,6 @@ CONFIG_BT_CONTROLLER_ENABLED=y # NimBLE Options # CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y -# CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL is not set # CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set # CONFIG_BT_NIMBLE_LOG_LEVEL_NONE is not set # CONFIG_BT_NIMBLE_LOG_LEVEL_ERROR is not set @@ -597,7 +450,7 @@ CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y CONFIG_BT_NIMBLE_LOG_LEVEL_INFO=y # CONFIG_BT_NIMBLE_LOG_LEVEL_DEBUG is not set CONFIG_BT_NIMBLE_LOG_LEVEL=1 -CONFIG_BT_NIMBLE_MAX_CONNECTIONS=3 +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 CONFIG_BT_NIMBLE_MAX_BONDS=3 CONFIG_BT_NIMBLE_MAX_CCCDS=8 CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM=0 @@ -625,8 +478,8 @@ CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE=0 # # Memory Settings # -CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=12 -CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=256 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=24 +CONFIG_BT_NIMBLE_MSYS_1_BLOCK_SIZE=128 CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=24 CONFIG_BT_NIMBLE_MSYS_2_BLOCK_SIZE=320 CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=24 @@ -638,21 +491,14 @@ CONFIG_BT_NIMBLE_L2CAP_COC_SDU_BUFF_COUNT=1 # end of Memory Settings CONFIG_BT_NIMBLE_GATT_MAX_PROCS=4 -CONFIG_BT_NIMBLE_HS_FLOW_CTRL=y -CONFIG_BT_NIMBLE_HS_FLOW_CTRL_ITVL=1000 -CONFIG_BT_NIMBLE_HS_FLOW_CTRL_THRESH=2 -CONFIG_BT_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT=y +# CONFIG_BT_NIMBLE_HS_FLOW_CTRL is not set CONFIG_BT_NIMBLE_RPA_TIMEOUT=900 # CONFIG_BT_NIMBLE_MESH is not set CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000 -# CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT is not set -CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=y -CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY=y -CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY=y -# CONFIG_BT_NIMBLE_EXT_ADV is not set -CONFIG_BT_NIMBLE_MAX_PERIODIC_SYNCS=0 -# CONFIG_BT_NIMBLE_GATT_CACHING is not set +# CONFIG_BT_NIMBLE_HOST_BASED_PRIVACY is not set +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=y +CONFIG_BT_NIMBLE_MAX_CONN_REATTEMPT=3 CONFIG_BT_NIMBLE_WHITELIST_SIZE=12 # CONFIG_BT_NIMBLE_TEST_THROUGHPUT_TEST is not set # CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set @@ -720,77 +566,46 @@ CONFIG_BT_NIMBLE_HCI_UART_CTS_PIN=23 # # Controller Options # -CONFIG_BT_CTRL_MODE_EFF=1 -CONFIG_BT_CTRL_BLE_MAX_ACT=6 -CONFIG_BT_CTRL_BLE_MAX_ACT_EFF=6 -CONFIG_BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB=0 -CONFIG_BT_CTRL_PINNED_TO_CORE=0 -CONFIG_BT_CTRL_HCI_MODE_VHCI=y -# CONFIG_BT_CTRL_HCI_MODE_UART_H4 is not set -CONFIG_BT_CTRL_HCI_TL=1 -CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=30 -CONFIG_BT_BLE_CCA_MODE_NONE=y -# CONFIG_BT_BLE_CCA_MODE_HW is not set -# CONFIG_BT_BLE_CCA_MODE_SW is not set -CONFIG_BT_BLE_CCA_MODE=0 -CONFIG_BT_CTRL_HW_CCA_VAL=20 -CONFIG_BT_CTRL_HW_CCA_EFF=0 -CONFIG_BT_CTRL_CE_LENGTH_TYPE_ORIG=y -# CONFIG_BT_CTRL_CE_LENGTH_TYPE_CE is not set -# CONFIG_BT_CTRL_CE_LENGTH_TYPE_SD is not set -CONFIG_BT_CTRL_CE_LENGTH_TYPE_EFF=0 -CONFIG_BT_CTRL_TX_ANTENNA_INDEX_0=y -# CONFIG_BT_CTRL_TX_ANTENNA_INDEX_1 is not set -CONFIG_BT_CTRL_TX_ANTENNA_INDEX_EFF=0 -CONFIG_BT_CTRL_RX_ANTENNA_INDEX_0=y -# CONFIG_BT_CTRL_RX_ANTENNA_INDEX_1 is not set -CONFIG_BT_CTRL_RX_ANTENNA_INDEX_EFF=0 -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N24 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N21 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N18 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N15 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N12 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N9 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N6 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N3 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N0 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P3 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P6 is not set -CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P9=y -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P12 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P15 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P18 is not set -# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P21 is not set -CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_EFF=11 -CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y -CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 -CONFIG_BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 -CONFIG_BT_CTRL_BLE_SCAN_DUPL=y -CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DEVICE=y -# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA is not set -# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA_DEVICE is not set -CONFIG_BT_CTRL_SCAN_DUPL_TYPE=0 -CONFIG_BT_CTRL_SCAN_DUPL_CACHE_SIZE=100 -CONFIG_BT_CTRL_DUPL_SCAN_CACHE_REFRESH_PERIOD=0 -# CONFIG_BT_CTRL_BLE_MESH_SCAN_DUPL_EN is not set -# CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EN is not set -CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_DIS=y -CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EFF=0 +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +# CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY is not set +# CONFIG_BTDM_CTRL_MODE_BTDM is not set +CONFIG_BTDM_CTRL_BLE_MAX_CONN=3 +CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=0 +CONFIG_BTDM_CTRL_PCM_ROLE_EFF=0 +CONFIG_BTDM_CTRL_PCM_POLAR_EFF=0 +CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=3 +CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=0 +CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0 +CONFIG_BTDM_CTRL_PINNED_TO_CORE=0 +CONFIG_BTDM_CTRL_HCI_MODE_VHCI=y +# CONFIG_BTDM_CTRL_HCI_MODE_UART_H4 is not set # # MODEM SLEEP Options # -# CONFIG_BT_CTRL_MODEM_SLEEP is not set +CONFIG_BTDM_CTRL_MODEM_SLEEP=y +CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_ORIG=y +# CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_EVED is not set +CONFIG_BTDM_CTRL_LPCLK_SEL_MAIN_XTAL=y # end of MODEM SLEEP Options -CONFIG_BT_CTRL_SLEEP_MODE_EFF=0 -CONFIG_BT_CTRL_SLEEP_CLOCK_EFF=0 -CONFIG_BT_CTRL_HCI_TL_EFF=1 -# CONFIG_BT_CTRL_AGC_RECORRECT_EN is not set -# CONFIG_BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set -# CONFIG_BT_BLE_ADV_DATA_LENGTH_ZERO_AUX is not set -CONFIG_BT_CTRL_CHAN_ASS_EN=y -CONFIG_BT_CTRL_LE_PING_EN=y +CONFIG_BTDM_BLE_DEFAULT_SCA_250PPM=y +CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1 +CONFIG_BTDM_BLE_SCAN_DUPL=y +CONFIG_BTDM_SCAN_DUPL_TYPE_DEVICE=y +# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA is not set +# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA_DEVICE is not set +CONFIG_BTDM_SCAN_DUPL_TYPE=0 +CONFIG_BTDM_SCAN_DUPL_CACHE_SIZE=100 +CONFIG_BTDM_SCAN_DUPL_CACHE_REFRESH_PERIOD=0 +# CONFIG_BTDM_BLE_MESH_SCAN_DUPL_EN is not set +CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED=y +# CONFIG_BTDM_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set +CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y +CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 +CONFIG_BTDM_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 +CONFIG_BTDM_RESERVE_DRAM=0xdb5c +CONFIG_BTDM_CTRL_HLI=y # end of Controller Options # @@ -818,21 +633,35 @@ CONFIG_BT_ALARM_MAX_NUM=50 # TWAI Configuration # # CONFIG_TWAI_ISR_IN_IRAM is not set +CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC=y +CONFIG_TWAI_ERRATA_FIX_TX_INTR_LOST=y +CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID=y +CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT=y CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y # end of TWAI Configuration # # Legacy ADC Driver Configuration # +CONFIG_ADC_DISABLE_DAC=y # CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set # # Legacy ADC Calibration Configuration # +CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y +CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y +CONFIG_ADC_CAL_LUT_ENABLE=y # CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set # end of Legacy ADC Calibration Configuration # end of Legacy ADC Driver Configuration +# +# Legacy DAC Driver Configurations +# +# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy DAC Driver Configurations + # # Legacy MCPWM Driver Configurations # @@ -868,12 +697,6 @@ CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y # # CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set # end of Legacy SDM Driver Configurations - -# -# Legacy Temperature Sensor Driver Configurations -# -# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy Temperature Sensor Driver Configurations # end of Driver Configurations # @@ -881,14 +704,17 @@ CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y # # CONFIG_EFUSE_CUSTOM_TABLE is not set # CONFIG_EFUSE_VIRTUAL is not set -CONFIG_EFUSE_MAX_BLK_LEN=256 +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set +CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set +CONFIG_EFUSE_MAX_BLK_LEN=192 # end of eFuse Bit Manager # # ESP-TLS # CONFIG_ESP_TLS_USING_MBEDTLS=y -CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y +# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set # CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set # CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set @@ -902,7 +728,16 @@ CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y # # CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set # CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set -# CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set + +# +# ADC Calibration Configurations +# +CONFIG_ADC_CALI_EFUSE_TP_ENABLE=y +CONFIG_ADC_CALI_EFUSE_VREF_ENABLE=y +CONFIG_ADC_CALI_LUT_ENABLE=y +# end of ADC Calibration Configurations + +CONFIG_ADC_DISABLE_DAC_OUTPUT=y # CONFIG_ADC_ENABLE_DEBUG_LOG is not set # end of ADC and ADC Calibration @@ -920,9 +755,19 @@ CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y CONFIG_ESP_ERR_TO_NAME_LOOKUP=y # end of Common ESP-related +# +# ESP-Driver:DAC Configurations +# +# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set +# CONFIG_DAC_ISR_IRAM_SAFE is not set +# CONFIG_DAC_ENABLE_DEBUG_LOG is not set +CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y +# end of ESP-Driver:DAC Configurations + # # ESP-Driver:GPIO Configurations # +# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set # CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set # end of ESP-Driver:GPIO Configurations @@ -1002,28 +847,25 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y # CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:Touch Sensor Configurations -# -# ESP-Driver:Temperature Sensor Configurations -# -# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:Temperature Sensor Configurations - # # ESP-Driver:UART Configurations # # CONFIG_UART_ISR_IN_IRAM is not set # end of ESP-Driver:UART Configurations -# -# ESP-Driver:USB Serial/JTAG Configuration -# -CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y -# end of ESP-Driver:USB Serial/JTAG Configuration - # # Ethernet # CONFIG_ETH_ENABLED=y +CONFIG_ETH_USE_ESP32_EMAC=y +CONFIG_ETH_PHY_INTERFACE_RMII=y +CONFIG_ETH_RMII_CLK_INPUT=y +# CONFIG_ETH_RMII_CLK_OUTPUT is not set +CONFIG_ETH_RMII_CLK_IN_GPIO=0 +CONFIG_ETH_DMA_BUFFER_SIZE=512 +CONFIG_ETH_DMA_RX_BUFFER_NUM=10 +CONFIG_ETH_DMA_TX_BUFFER_NUM=10 +# CONFIG_ETH_IRAM_OPTIMIZATION is not set CONFIG_ETH_USE_SPI_ETHERNET=y # CONFIG_ETH_SPI_ETHERNET_DM9051 is not set # CONFIG_ETH_SPI_ETHERNET_W5500 is not set @@ -1090,17 +932,21 @@ CONFIG_HTTPD_PURGE_BUF_LEN=32 # # Chip revision # -CONFIG_ESP32S3_REV_MIN_0=y -# CONFIG_ESP32S3_REV_MIN_1 is not set -# CONFIG_ESP32S3_REV_MIN_2 is not set -CONFIG_ESP32S3_REV_MIN_FULL=0 +CONFIG_ESP32_REV_MIN_0=y +# CONFIG_ESP32_REV_MIN_1 is not set +# CONFIG_ESP32_REV_MIN_1_1 is not set +# CONFIG_ESP32_REV_MIN_2 is not set +# CONFIG_ESP32_REV_MIN_3 is not set +# CONFIG_ESP32_REV_MIN_3_1 is not set +CONFIG_ESP32_REV_MIN=0 +CONFIG_ESP32_REV_MIN_FULL=0 CONFIG_ESP_REV_MIN_FULL=0 # -# Maximum Supported ESP32-S3 Revision (Rev v0.99) +# Maximum Supported ESP32 Revision (Rev v3.99) # -CONFIG_ESP32S3_REV_MAX_FULL=99 -CONFIG_ESP_REV_MAX_FULL=99 +CONFIG_ESP32_REV_MAX_FULL=399 +CONFIG_ESP_REV_MAX_FULL=399 # end of Chip revision # @@ -1112,17 +958,18 @@ CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 -# CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set -CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y -CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR is not set # CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set # end of MAC Config # # Sleep Config # +# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y -CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND=y # CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y @@ -1148,18 +995,12 @@ CONFIG_RTC_CLK_CAL_CYCLES=1024 CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y # end of Peripheral Control -# -# GDMA Configurations -# -CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y -# CONFIG_GDMA_ISR_IRAM_SAFE is not set -# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set -# end of GDMA Configurations - # # Main XTAL Config # +# CONFIG_XTAL_FREQ_26 is not set CONFIG_XTAL_FREQ_40=y +# CONFIG_XTAL_FREQ_AUTO is not set CONFIG_XTAL_FREQ=40 # end of Main XTAL Config @@ -1179,8 +1020,6 @@ CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y # CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 # CONFIG_LCD_ENABLE_DEBUG_LOG is not set -# CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set -# CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set # end of LCD Peripheral Configuration # end of LCD and Touch Panel @@ -1210,8 +1049,6 @@ CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 CONFIG_ESP_PHY_MAX_TX_POWER=20 # CONFIG_ESP_PHY_REDUCE_TX_POWER is not set -CONFIG_ESP_PHY_ENABLE_USB=y -# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set CONFIG_ESP_PHY_RF_CAL_PARTIAL=y # CONFIG_ESP_PHY_RF_CAL_NONE is not set # CONFIG_ESP_PHY_RF_CAL_FULL is not set @@ -1224,44 +1061,12 @@ CONFIG_ESP_PHY_CALIBRATION_MODE=0 # # CONFIG_PM_ENABLE is not set CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y -CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y -CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y # end of Power Management # # ESP PSRAM # -CONFIG_SPIRAM=y - -# -# SPI RAM config -# -# CONFIG_SPIRAM_MODE_QUAD is not set -CONFIG_SPIRAM_MODE_OCT=y -CONFIG_SPIRAM_TYPE_AUTO=y -# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set -CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y -CONFIG_SPIRAM_CLK_IO=30 -CONFIG_SPIRAM_CS_IO=26 -# CONFIG_SPIRAM_XIP_FROM_PSRAM is not set -CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y -CONFIG_SPIRAM_RODATA=y -# CONFIG_SPIRAM_SPEED_120M is not set -CONFIG_SPIRAM_SPEED_80M=y -# CONFIG_SPIRAM_SPEED_40M is not set -CONFIG_SPIRAM_SPEED=80 -# CONFIG_SPIRAM_ECC_ENABLE is not set -CONFIG_SPIRAM_BOOT_INIT=y -# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set -# CONFIG_SPIRAM_USE_MEMMAP is not set -# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set -CONFIG_SPIRAM_USE_MALLOC=y -CONFIG_SPIRAM_MEMTEST=y -CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384 -# CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set -CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 -# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set -# end of SPI RAM config +# CONFIG_SPIRAM is not set # end of ESP PSRAM # @@ -1274,47 +1079,29 @@ CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 # ESP System Settings # # CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 - -# -# Cache config -# -CONFIG_ESP32S3_INSTRUCTION_CACHE_16KB=y -# CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB is not set -CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE=0x4000 -# CONFIG_ESP32S3_INSTRUCTION_CACHE_4WAYS is not set -CONFIG_ESP32S3_INSTRUCTION_CACHE_8WAYS=y -CONFIG_ESP32S3_ICACHE_ASSOCIATED_WAYS=8 -# CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_16B is not set -CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_32B=y -CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_SIZE=32 -# CONFIG_ESP32S3_DATA_CACHE_16KB is not set -CONFIG_ESP32S3_DATA_CACHE_32KB=y -# CONFIG_ESP32S3_DATA_CACHE_64KB is not set -CONFIG_ESP32S3_DATA_CACHE_SIZE=0x8000 -# CONFIG_ESP32S3_DATA_CACHE_4WAYS is not set -CONFIG_ESP32S3_DATA_CACHE_8WAYS=y -CONFIG_ESP32S3_DCACHE_ASSOCIATED_WAYS=8 -# CONFIG_ESP32S3_DATA_CACHE_LINE_16B is not set -# CONFIG_ESP32S3_DATA_CACHE_LINE_32B is not set -CONFIG_ESP32S3_DATA_CACHE_LINE_64B=y -CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=64 -# end of Cache config +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 # # Memory # -# CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM is not set -# CONFIG_ESP32S3_USE_FIXED_STATIC_RAM_SIZE is not set +# CONFIG_ESP32_RTCDATA_IN_FAST_MEM is not set +# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set +# CONFIG_ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY is not set + +# +# Non-backward compatible options +# +# CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM is not set +# end of Non-backward compatible options # end of Memory # # Trace memory # -# CONFIG_ESP32S3_TRAX is not set -CONFIG_ESP32S3_TRACEMEM_RESERVE_DRAM=0x0 +# CONFIG_ESP32_TRAX is not set +CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 # end of Trace memory # CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set @@ -1329,8 +1116,6 @@ CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y # # Memory protection # -CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y -CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y # end of Memory protection CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 @@ -1341,40 +1126,41 @@ CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 CONFIG_ESP_CONSOLE_UART_DEFAULT=y -# CONFIG_ESP_CONSOLE_USB_CDC is not set -# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set # CONFIG_ESP_CONSOLE_UART_CUSTOM is not set # CONFIG_ESP_CONSOLE_NONE is not set -# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set -CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y -CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y CONFIG_ESP_CONSOLE_UART=y CONFIG_ESP_CONSOLE_UART_NUM=0 CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 -# CONFIG_ESP_INT_WDT is not set -# CONFIG_ESP_TASK_WDT_EN is not set +CONFIG_ESP_INT_WDT=y +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +CONFIG_ESP_TASK_WDT_EN=y +CONFIG_ESP_TASK_WDT_INIT=y +# CONFIG_ESP_TASK_WDT_PANIC is not set +CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y # CONFIG_ESP_PANIC_HANDLER_IRAM is not set # CONFIG_ESP_DEBUG_STUBS_ENABLE is not set CONFIG_ESP_DEBUG_OCDAWARE=y -CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5=y # # Brownout Detector # CONFIG_ESP_BROWNOUT_DET=y -CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0 is not set # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y CONFIG_ESP_BROWNOUT_DET_LVL=7 # end of Brownout Detector +# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y -CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y # end of ESP System Settings # @@ -1396,7 +1182,7 @@ CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y # CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set -CONFIG_ESP_TIMER_IMPL_SYSTIMER=y +CONFIG_ESP_TIMER_IMPL_TG0_LAC=y # end of ESP Timer (High Resolution Timer) # @@ -1405,10 +1191,10 @@ CONFIG_ESP_TIMER_IMPL_SYSTIMER=y CONFIG_ESP_WIFI_ENABLED=y CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y -CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0 -CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=16 -CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=32 +# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y # CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 @@ -1418,7 +1204,6 @@ CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y CONFIG_ESP_WIFI_TX_BA_WIN=6 CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP_WIFI_RX_BA_WIN=6 -# CONFIG_ESP_WIFI_AMSDU_TX_ENABLED is not set CONFIG_ESP_WIFI_NVS_ENABLED=y CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 @@ -1433,21 +1218,17 @@ CONFIG_ESP_WIFI_SLP_IRAM_OPT=y CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 -# CONFIG_ESP_WIFI_FTM_ENABLE is not set CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y -# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set CONFIG_ESP_WIFI_GMAC_SUPPORT=y CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y # CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 +# CONFIG_ESP_WIFI_NAN_ENABLE is not set CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y -# CONFIG_ESP_WIFI_EAP_TLS1_3 is not set # CONFIG_ESP_WIFI_WAPI_PSK is not set -# CONFIG_ESP_WIFI_SUITE_B_192 is not set # CONFIG_ESP_WIFI_11KV_SUPPORT is not set # CONFIG_ESP_WIFI_MBO_SUPPORT is not set -# CONFIG_ESP_WIFI_ENABLE_ROAMING_APP is not set # CONFIG_ESP_WIFI_DPP_SUPPORT is not set # CONFIG_ESP_WIFI_11R_SUPPORT is not set # CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set @@ -1511,7 +1292,6 @@ CONFIG_FATFS_API_ENCODING_ANSI_OEM=y CONFIG_FATFS_FS_LOCK=0 CONFIG_FATFS_TIMEOUT_MS=10000 CONFIG_FATFS_PER_FILE_CACHE=y -CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y # CONFIG_FATFS_USE_FASTSEEK is not set CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 # CONFIG_FATFS_IMMEDIATE_FSYNC is not set @@ -1528,7 +1308,7 @@ CONFIG_FATFS_LINK_LOCK=y # # CONFIG_FREERTOS_SMP is not set CONFIG_FREERTOS_UNICORE=y -CONFIG_FREERTOS_HZ=1000 +CONFIG_FREERTOS_HZ=100 CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set @@ -1564,10 +1344,11 @@ CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y CONFIG_FREERTOS_ISR_STACKSIZE=1536 CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y -CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y -CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y -# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set -CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y +# CONFIG_FREERTOS_FPU_IN_ISR is not set +CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y +CONFIG_FREERTOS_CORETIMER_0=y +# CONFIG_FREERTOS_CORETIMER_1 is not set +CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set # end of Port @@ -1589,7 +1370,6 @@ CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y # CONFIG_HAL_ASSERTION_SILENT is not set # CONFIG_HAL_ASSERTION_ENABLE is not set CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 -CONFIG_HAL_WDT_USE_ROM_IMPL=y CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y # end of Hardware Abstraction Layer (HAL) and Low Level (LL) @@ -1806,7 +1586,6 @@ CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y # mbedTLS # CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y -# CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC is not set # CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set # CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y @@ -1841,13 +1620,9 @@ CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 # CONFIG_MBEDTLS_ECP_RESTARTABLE is not set CONFIG_MBEDTLS_CMAC_C=y CONFIG_MBEDTLS_HARDWARE_AES=y -CONFIG_MBEDTLS_AES_USE_INTERRUPT=y -CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y CONFIG_MBEDTLS_HARDWARE_MPI=y CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y -CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y -CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_HARDWARE_SHA=y CONFIG_MBEDTLS_ROM_MD5=y # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set @@ -1967,12 +1742,9 @@ CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y # CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set # end of Newlib -CONFIG_STDATOMIC_S32C1I_SPIRAM_WORKAROUND=y - # # NVS # -# CONFIG_NVS_ENCRYPTION is not set # CONFIG_NVS_ASSERT_ERROR_CHECK is not set # CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set # end of NVS @@ -2048,14 +1820,6 @@ CONFIG_SPI_FLASH_BROWNOUT_RESET=y # # Features here require specific hardware (READ DOCS FIRST!) # -# CONFIG_SPI_FLASH_HPM_ENA is not set -CONFIG_SPI_FLASH_HPM_AUTO=y -# CONFIG_SPI_FLASH_HPM_DIS is not set -CONFIG_SPI_FLASH_HPM_ON=y -CONFIG_SPI_FLASH_HPM_DC_AUTO=y -# CONFIG_SPI_FLASH_HPM_DC_DISABLE is not set -CONFIG_SPI_FLASH_SUSPEND_QVL_SUPPORTED=y -# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 # end of Optional and Experimental Features (READ DOCS FIRST) # end of Main Flash configuration @@ -2066,10 +1830,10 @@ CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 # CONFIG_SPI_FLASH_VERIFY_WRITE is not set # CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y -# CONFIG_SPI_FLASH_ROM_IMPL is not set CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y # CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set # CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set # CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 @@ -2087,15 +1851,12 @@ CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORTED=y -CONFIG_SPI_FLASH_VENDOR_TH_SUPPORTED=y # CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_GD_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set # CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set -CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP=y # end of Auto-detect flash chips CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y @@ -2173,28 +1934,6 @@ CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y # CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set # end of Unity unit testing library -# -# USB-OTG -# -CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256 -CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y -# CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set -# CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set - -# -# Root Hub configuration -# -CONFIG_USB_HOST_DEBOUNCE_DELAY_MS=250 -CONFIG_USB_HOST_RESET_HOLD_MS=30 -CONFIG_USB_HOST_RESET_RECOVERY_MS=30 -CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10 -# end of Root Hub configuration - -# CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set -# CONFIG_USB_HOST_EXT_HUB_SUPPORT is not set -CONFIG_USB_OTG_SUPPORTED=y -# end of USB-OTG - # # Virtual file system # @@ -2257,8 +1996,9 @@ CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 # # Memory settings # -CONFIG_LV_MEM_CUSTOM=y -CONFIG_LV_MEM_CUSTOM_INCLUDE="stdlib.h" +# CONFIG_LV_MEM_CUSTOM is not set +CONFIG_LV_MEM_SIZE_KILOBYTES=32 +CONFIG_LV_MEM_ADDR=0x0 CONFIG_LV_MEM_BUF_MAX_NUM=16 # CONFIG_LV_MEMCPY_MEMSET_STD is not set # end of Memory settings @@ -2266,10 +2006,10 @@ CONFIG_LV_MEM_BUF_MAX_NUM=16 # # HAL Settings # -CONFIG_LV_DISP_DEF_REFR_PERIOD=5 +CONFIG_LV_DISP_DEF_REFR_PERIOD=30 CONFIG_LV_INDEV_DEF_READ_PERIOD=30 # CONFIG_LV_TICK_CUSTOM is not set -CONFIG_LV_DPI_DEF=217 +CONFIG_LV_DPI_DEF=130 # end of HAL Settings # @@ -2323,6 +2063,7 @@ CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" # Others # # CONFIG_LV_USE_PERF_MONITOR is not set +# CONFIG_LV_USE_MEM_MONITOR is not set # CONFIG_LV_USE_REFR_DEBUG is not set # CONFIG_LV_SPRINTF_CUSTOM is not set # CONFIG_LV_SPRINTF_USE_FLOAT is not set @@ -2335,7 +2076,7 @@ CONFIG_LV_USE_USER_DATA=y # # CONFIG_LV_BIG_ENDIAN_SYSTEM is not set CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 -CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y +# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set # CONFIG_LV_USE_LARGE_COORD is not set # end of Compiler settings # end of Feature configuration @@ -2500,7 +2241,7 @@ CONFIG_LV_USE_GRID=y # CONFIG_LV_USE_PNG is not set # CONFIG_LV_USE_BMP is not set # CONFIG_LV_USE_SJPG is not set -CONFIG_LV_USE_GIF=y +# CONFIG_LV_USE_GIF is not set # CONFIG_LV_USE_QRCODE is not set # CONFIG_LV_USE_FREETYPE is not set # CONFIG_LV_USE_TINY_TTF is not set @@ -2635,6 +2376,7 @@ CONFIG_LV_DISPLAY_USE_DC=y CONFIG_LV_DISP_PIN_DC=16 CONFIG_LV_DISP_USE_RST=y CONFIG_LV_DISP_PIN_RST=5 +CONFIG_LV_DISP_PIN_BUSY=35 # end of Display Pin Assignments # CONFIG_LV_DISP_BACKLIGHT_OFF is not set @@ -2642,60 +2384,53 @@ CONFIG_LV_DISP_BACKLIGHT_SWITCH=y # CONFIG_LV_DISP_BACKLIGHT_PWM is not set CONFIG_LV_BACKLIGHT_ACTIVE_LVL=y CONFIG_LV_DISP_PIN_BCKL=32 -CONFIG_LV_I2C=y CONFIG_LV_I2C_DISPLAY_PORT=0 # end of LVGL TFT Display controller # # LVGL Touch controller # -CONFIG_LV_TOUCH_CONTROLLER=7 +CONFIG_LV_TOUCH_CONTROLLER=1 # CONFIG_LV_TOUCH_CONTROLLER_NONE is not set -# CONFIG_LV_TOUCH_CONTROLLER_XPT2046 is not set +CONFIG_LV_TOUCH_CONTROLLER_XPT2046=y # CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set # CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set # CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set # CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set # CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set -CONFIG_LV_TOUCH_CONTROLLER_GT911=y -CONFIG_LV_I2C_TOUCH=y +# CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set +CONFIG_LV_TOUCH_DRIVER_PROTOCOL_SPI=y +# CONFIG_LV_TOUCH_CONTROLLER_SPI2_HOST is not set +CONFIG_LV_TOUCH_CONTROLLER_SPI3_HOST=y # -# Touchpanel Configuration (GT911) -# -CONFIG_LV_GT911_SWAPXY=y -# CONFIG_LV_GT911_INVERT_X is not set -CONFIG_LV_GT911_INVERT_Y=y -# end of Touchpanel Configuration (GT911) - -CONFIG_LV_I2C_TOUCH_PORT_0=y -# CONFIG_LV_I2C_TOUCH_PORT_1 is not set -CONFIG_LV_I2C_TOUCH_PORT=0 -# end of LVGL Touch controller -# end of LVGL ESP Drivers - -# -# I2C Port Settings +# Touchpanel (XPT2046) Pin Assignments # +CONFIG_LV_TOUCH_SPI_MISO=19 +CONFIG_LV_TOUCH_SPI_MOSI=23 +CONFIG_LV_TOUCH_SPI_CLK=18 +CONFIG_LV_TOUCH_SPI_CS=21 +CONFIG_LV_TOUCH_PIN_IRQ=-1 +# end of Touchpanel (XPT2046) Pin Assignments # -# I2C Port 0 +# Touchpanel Configuration (XPT2046) # -CONFIG_I2C_MANAGER_0_ENABLED=y -CONFIG_I2C_MANAGER_0_SDA=19 -CONFIG_I2C_MANAGER_0_SCL=20 -CONFIG_I2C_MANAGER_0_FREQ_HZ=400000 -CONFIG_I2C_MANAGER_0_TIMEOUT=100 -CONFIG_I2C_MANAGER_0_LOCK_TIMEOUT=50 -# CONFIG_I2C_MANAGER_0_PULLUPS is not set -# end of I2C Port 0 +CONFIG_LV_TOUCH_X_MIN=200 +CONFIG_LV_TOUCH_Y_MIN=120 +CONFIG_LV_TOUCH_X_MAX=1900 +CONFIG_LV_TOUCH_Y_MAX=1900 +CONFIG_LV_TOUCH_XY_SWAP=y +CONFIG_LV_TOUCH_INVERT_X=y +# CONFIG_LV_TOUCH_INVERT_Y is not set +# CONFIG_LV_TOUCH_DETECT_IRQ is not set +# CONFIG_LV_TOUCH_DETECT_IRQ_PRESSURE is not set +CONFIG_LV_TOUCH_DETECT_PRESSURE=y +# end of Touchpanel Configuration (XPT2046) -# -# I2C Port 1 -# -# CONFIG_I2C_MANAGER_1_ENABLED is not set -# end of I2C Port 1 -# end of I2C Port Settings +CONFIG_LV_I2C_TOUCH_PORT=0 +# end of LVGL Touch controller +# end of LVGL ESP Drivers # # mDNS @@ -2727,4 +2462,4 @@ CONFIG_MDNS_PREDEF_NETIF_ETH=y # end of mDNS # end of Component config -CONFIG_IDF_EXPERIMENTAL_FEATURES=y +# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set From 41e6b8f887aa8f8fddf5240feb745e8b4ad8f27c Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Thu, 31 Oct 2024 11:27:12 -0600 Subject: [PATCH 55/58] Config Touch Settings --- configs/sdkconfig.crowtech7inch | 6 +++--- configs/sdkconfig.waveshare7inch | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/configs/sdkconfig.crowtech7inch b/configs/sdkconfig.crowtech7inch index 82eb0a5f..ec0350af 100644 --- a/configs/sdkconfig.crowtech7inch +++ b/configs/sdkconfig.crowtech7inch @@ -2663,9 +2663,9 @@ CONFIG_LV_I2C_TOUCH=y # # Touchpanel Configuration (GT911) # -# CONFIG_LV_GT911_SWAPXY -# CONFIG_LV_GT911_INVERT_X is not set -CONFIG_LV_GT911_INVERT_Y=y +CONFIG_LV_GT911_SWAPXY=y +CONFIG_LV_GT911_INVERT_X=y +# CONFIG_LV_GT911_INVERT_Y # end of Touchpanel Configuration (GT911) CONFIG_LV_I2C_TOUCH_PORT_0=y diff --git a/configs/sdkconfig.waveshare7inch b/configs/sdkconfig.waveshare7inch index 20de1cf0..e4144d6d 100644 --- a/configs/sdkconfig.waveshare7inch +++ b/configs/sdkconfig.waveshare7inch @@ -2663,9 +2663,9 @@ CONFIG_LV_I2C_TOUCH=y # # Touchpanel Configuration (GT911) # -# CONFIG_LV_GT911_SWAPXY -# CONFIG_LV_GT911_INVERT_X is not set -CONFIG_LV_GT911_INVERT_Y=y +CONFIG_LV_GT911_SWAPXY=y +CONFIG_LV_GT911_INVERT_X=y +# CONFIG_LV_GT911_INVERT_Y # end of Touchpanel Configuration (GT911) CONFIG_LV_I2C_TOUCH_PORT_0=y From 311eed6bb9ebe5de45728cf29b64070fd944c918 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Thu, 31 Oct 2024 11:51:25 -0600 Subject: [PATCH 56/58] Fix LCD touch --- configs/sdkconfig.crowtech7inch | 4 ++-- configs/sdkconfig.waveshare7inch | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configs/sdkconfig.crowtech7inch b/configs/sdkconfig.crowtech7inch index ec0350af..c7e7404e 100644 --- a/configs/sdkconfig.crowtech7inch +++ b/configs/sdkconfig.crowtech7inch @@ -2664,8 +2664,8 @@ CONFIG_LV_I2C_TOUCH=y # Touchpanel Configuration (GT911) # CONFIG_LV_GT911_SWAPXY=y -CONFIG_LV_GT911_INVERT_X=y -# CONFIG_LV_GT911_INVERT_Y +# CONFIG_LV_GT911_INVERT_X +CONFIG_LV_GT911_INVERT_Y=y # end of Touchpanel Configuration (GT911) CONFIG_LV_I2C_TOUCH_PORT_0=y diff --git a/configs/sdkconfig.waveshare7inch b/configs/sdkconfig.waveshare7inch index e4144d6d..70a6c914 100644 --- a/configs/sdkconfig.waveshare7inch +++ b/configs/sdkconfig.waveshare7inch @@ -2664,8 +2664,8 @@ CONFIG_LV_I2C_TOUCH=y # Touchpanel Configuration (GT911) # CONFIG_LV_GT911_SWAPXY=y -CONFIG_LV_GT911_INVERT_X=y -# CONFIG_LV_GT911_INVERT_Y +# CONFIG_LV_GT911_INVERT_X +CONFIG_LV_GT911_INVERT_Y=y # end of Touchpanel Configuration (GT911) CONFIG_LV_I2C_TOUCH_PORT_0=y From 5aac4f1d57d56f6ed58bf31f51cf1e454b75b5f3 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Thu, 31 Oct 2024 12:10:07 -0600 Subject: [PATCH 57/58] Final Touch Fix --- configs/sdkconfig.crowtech7inch | 4 ++-- configs/sdkconfig.waveshare7inch | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configs/sdkconfig.crowtech7inch b/configs/sdkconfig.crowtech7inch index c7e7404e..38102d19 100644 --- a/configs/sdkconfig.crowtech7inch +++ b/configs/sdkconfig.crowtech7inch @@ -2663,9 +2663,9 @@ CONFIG_LV_I2C_TOUCH=y # # Touchpanel Configuration (GT911) # -CONFIG_LV_GT911_SWAPXY=y +# CONFIG_LV_GT911_SWAPXY # CONFIG_LV_GT911_INVERT_X -CONFIG_LV_GT911_INVERT_Y=y +# CONFIG_LV_GT911_INVERT_Y # end of Touchpanel Configuration (GT911) CONFIG_LV_I2C_TOUCH_PORT_0=y diff --git a/configs/sdkconfig.waveshare7inch b/configs/sdkconfig.waveshare7inch index 70a6c914..37c581c9 100644 --- a/configs/sdkconfig.waveshare7inch +++ b/configs/sdkconfig.waveshare7inch @@ -2663,9 +2663,9 @@ CONFIG_LV_I2C_TOUCH=y # # Touchpanel Configuration (GT911) # -CONFIG_LV_GT911_SWAPXY=y +# CONFIG_LV_GT911_SWAPXY # CONFIG_LV_GT911_INVERT_X -CONFIG_LV_GT911_INVERT_Y=y +# CONFIG_LV_GT911_INVERT_Y # end of Touchpanel Configuration (GT911) CONFIG_LV_I2C_TOUCH_PORT_0=y From 611d3386ad8bba2090c38ceeb2ccc9087ecdda78 Mon Sep 17 00:00:00 2001 From: Spooks <62370103+Spooks4576@users.noreply.github.com> Date: Thu, 31 Oct 2024 12:13:54 -0600 Subject: [PATCH 58/58] Update ST7262.c --- main/vendor/drivers/ST7262.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/main/vendor/drivers/ST7262.c b/main/vendor/drivers/ST7262.c index 1140aa0d..e39808a4 100644 --- a/main/vendor/drivers/ST7262.c +++ b/main/vendor/drivers/ST7262.c @@ -207,10 +207,12 @@ esp_err_t lcd_st7262_init(void) // Turn on the display ret = esp_lcd_panel_disp_on_off(rgb_panel_handle, true); - // esp_rom_gpio_pad_select_gpio(2); - // gpio_set_direction(2, GPIO_MODE_OUTPUT); +#ifdef Crowtech_LCD + esp_rom_gpio_pad_select_gpio(2); + gpio_set_direction(2, GPIO_MODE_OUTPUT); - //gpio_set_level(2, 1); + gpio_set_level(2, 1); +#endif ESP_LOGI(TAG, "ST7262 LCD panel initialized successfully"); return ESP_OK;