From 560a6b7de9e1f0f6ecc09bdc0c1b94dcb4dd0950 Mon Sep 17 00:00:00 2001 From: Fabio Baltieri Date: Thu, 8 May 2025 21:07:44 +0100 Subject: [PATCH] shields: add two shield definitions for modulino boards Add two shield definitions for the the modulino buttons and smartleds modules. Signed-off-by: Fabio Baltieri --- .../arduino_modulino_buttons/Kconfig.shield | 5 +++ .../arduino_modulino_buttons.overlay | 27 ++++++++++++++++ .../doc/img/arduino_modulino_buttons.webp | Bin 0 -> 24094 bytes .../arduino_modulino_buttons/doc/index.rst | 30 ++++++++++++++++++ .../arduino_modulino_smartleds/Kconfig.shield | 5 +++ .../arduino_modulino_smartleds.overlay | 24 ++++++++++++++ .../doc/img/arduino_modulino_smartleds.webp | Bin 0 -> 22442 bytes .../arduino_modulino_smartleds/doc/index.rst | 29 +++++++++++++++++ 8 files changed, 120 insertions(+) create mode 100644 boards/shields/arduino_modulino_buttons/Kconfig.shield create mode 100644 boards/shields/arduino_modulino_buttons/arduino_modulino_buttons.overlay create mode 100644 boards/shields/arduino_modulino_buttons/doc/img/arduino_modulino_buttons.webp create mode 100644 boards/shields/arduino_modulino_buttons/doc/index.rst create mode 100644 boards/shields/arduino_modulino_smartleds/Kconfig.shield create mode 100644 boards/shields/arduino_modulino_smartleds/arduino_modulino_smartleds.overlay create mode 100644 boards/shields/arduino_modulino_smartleds/doc/img/arduino_modulino_smartleds.webp create mode 100644 boards/shields/arduino_modulino_smartleds/doc/index.rst diff --git a/boards/shields/arduino_modulino_buttons/Kconfig.shield b/boards/shields/arduino_modulino_buttons/Kconfig.shield new file mode 100644 index 00000000000..1389b0d5036 --- /dev/null +++ b/boards/shields/arduino_modulino_buttons/Kconfig.shield @@ -0,0 +1,5 @@ +# Copyright 2025 Google LLC +# SPDX-License-Identifier: Apache-2.0 + +config SHIELD_ARDUINO_MODULINO_BUTTONS + def_bool $(shields_list_contains,arduino_modulino_buttons) diff --git a/boards/shields/arduino_modulino_buttons/arduino_modulino_buttons.overlay b/boards/shields/arduino_modulino_buttons/arduino_modulino_buttons.overlay new file mode 100644 index 00000000000..96c84cbfb43 --- /dev/null +++ b/boards/shields/arduino_modulino_buttons/arduino_modulino_buttons.overlay @@ -0,0 +1,27 @@ +/* + * Copyright 2025 Google LLC + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include + +&qwiic_i2c { + modulino-buttons@3e { + compatible = "i2c-device"; + reg = <0x3e>; + + modulino_buttons: modulino-buttons { + compatible = "arduino,modulino-buttons"; + zephyr,codes = , + , + ; + }; + + modulino_leds: modulino-leds { + compatible = "arduino,modulino-buttons-leds"; + }; + }; + +}; diff --git a/boards/shields/arduino_modulino_buttons/doc/img/arduino_modulino_buttons.webp b/boards/shields/arduino_modulino_buttons/doc/img/arduino_modulino_buttons.webp new file mode 100644 index 0000000000000000000000000000000000000000..c003d3358a59a3843bbefc44f5c44711fd1ec16a GIT binary patch literal 24094 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 literal 0 HcmV?d00001 diff --git a/boards/shields/arduino_modulino_buttons/doc/index.rst b/boards/shields/arduino_modulino_buttons/doc/index.rst new file mode 100644 index 00000000000..3d5f428b1d9 --- /dev/null +++ b/boards/shields/arduino_modulino_buttons/doc/index.rst @@ -0,0 +1,30 @@ +.. _arduino_modulino_buttons: + +Arduino Modulino Buttons +######################## + +Overview +******** + +The Arduino Modulino Buttons is a QWIIC compatible module with three buttons +and three LEDs. + + +.. image:: img/arduino_modulino_buttons.webp + :align: center + :alt: Arduino Modulino Buttons module + +Programming +*********** + +Set ``--shield arduino_modulino_buttons`` when you invoke ``west build``, the +buttons will be available through the input subsystem and the LEDs through the +LED subsystem. + +For example, + +.. zephyr-app-commands:: + :zephyr-app: samples/subsys/input + :board: arduino_uno_r4@wifi + :shield: arduino_modulino_buttons + :goals: build diff --git a/boards/shields/arduino_modulino_smartleds/Kconfig.shield b/boards/shields/arduino_modulino_smartleds/Kconfig.shield new file mode 100644 index 00000000000..8ae10346405 --- /dev/null +++ b/boards/shields/arduino_modulino_smartleds/Kconfig.shield @@ -0,0 +1,5 @@ +# Copyright 2025 Google LLC +# SPDX-License-Identifier: Apache-2.0 + +config SHIELD_ARDUINO_MODULINO_SMARTLEDS + def_bool $(shields_list_contains,arduino_modulino_smartleds) diff --git a/boards/shields/arduino_modulino_smartleds/arduino_modulino_smartleds.overlay b/boards/shields/arduino_modulino_smartleds/arduino_modulino_smartleds.overlay new file mode 100644 index 00000000000..8873c1312bb --- /dev/null +++ b/boards/shields/arduino_modulino_smartleds/arduino_modulino_smartleds.overlay @@ -0,0 +1,24 @@ +/* + * Copyright 2025 Google LLC + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include + +/ { + aliases { + led-strip = &modulino_smartleds; + }; +}; + +&qwiic_i2c { + modulino_smartleds: modulino-smartleds@36 { + compatible = "arduino,modulino-smartleds"; + reg = <0x36>; + chain-length = <8>; + color-mapping = ; + }; +}; diff --git a/boards/shields/arduino_modulino_smartleds/doc/img/arduino_modulino_smartleds.webp b/boards/shields/arduino_modulino_smartleds/doc/img/arduino_modulino_smartleds.webp new file mode 100644 index 0000000000000000000000000000000000000000..7e5d6c5a54bb2e410051cf4f52c75858b755675b GIT binary patch literal 22442 zcmV(+K;6GmNk&GZR{#K4MM6+kP&il$0000G0001w0RZ;^06|PpNV5w7009O%3P9;? zG+n^GE}+hxS{3T01IXQWb`gPF7rucD_r^~1{iJje(i*l42o@4UT;v3cFR%zK(7bu` zW~69G`}SY((J_OUP;gds&BkU^m9X`bjx zR~F^`N7>@c+=-9MgDdG&F$aM;`tiF?Wzx~~aNZtYjX#Xi&F9mN=?)oJ8WcL{ADB+H z19G7nB(N#>Lrf>+66SEk^&?)D`ya<}4@gc!a=e~*8-6D`w4pk5ecF_oL#Auh^;tzQ zAoL=krZ|~39JuZlvn-C*6ob&bCB>oTtaUVb>(v>1?S7J`45*b`PUA?z zI|45hhZB-Rih1&nnO8I5C|87!(~oU*pv

!p|#}RZ{kzw5(b<6ikhP`(q-(-M}mv z!D7SBM<;St`JQyXDu4K%nC^hNGT>cBpqQu4;1s9~qRzZq>FNH*j4X`+?nsyfgbi|C z%``{D!TF6lZVMgl`h!y~!0AV;G~Cls5fFy~t7>?P#i+6w9C}@8AA4a%`mI2LVAf7p zqFFnU2dj{KhpDNOM`*?o(IIVv+?%%)wxb59L_{?i2BzklaxT5^RFmisSm+t=J|Bc z3TE?u(oN`!qrjx&)QkWsVS%z?9s@!U97X|n35q61gOCuBg|fhh#Rg+d zoZR-fWMG+ycu{#;Ko-Lr;L<@y+hflRIfNRdvezV%r#HbRUZJ(V5xusl);udD+&}&Sa3}p!nBDX`C24X1} zg4htvgTy5hL031DojA0xmpU7y=ZFnpyw{yL#KGQ$)K)MnM|8@~FHp3sFaZ)OuDVaD z1EhpOdSL6?TiOOm5qnEKTA^)gazfDAV-~J7U`Y~pc(FuHId-#l8o{jN*mw&S=BEOJ4-L;9qMGRoG5*ZV zcSbUAS`mph4bcR-yjUT%1TPhUz$&!uGtF2Rx=L%;9iUPWV^f&@=Q%&xAxJ|AzkPK8 z-r~YM+Gj+82+C8;j!`Xv5VR>Q@S&O4&`}A|&K;ySo<21hw#C$~S5xo#9>oSJ1}S;N z4k~vAm5KK-*PtL1^zIz9)nc=db*FI*bM8go!`mR&7i38>y{YO9eA&RFE4;>Lc+O(R z3x0AmoVlGfm{~5HA{MQ9)%UoM1$z1<$J)d;aHAYI>paPsk3KQN(Fw#w5+#zaFLh($ zu0VC(uMCik3G4y9ZLZA;<>O!${0tOqo>&6^Z}%SBg|Xqo(X#Sp5*Zl~b_buPpE{87 zQH>R3qXqRC=+GLE(DE|_<6+v^LH!e>(yTuzs+Tc=+vouQoe*C}9qRE>{lLeVFujfs zWaF;lzk8teWMt!`@hcmCi5*gZ-|j<4F}?>|OT>T8juR{2VRJn`rv3Cm{qa6m#lxz4 zR5$AJVg7-E`iDhT|6oHlw5Wf;y_ft0FFybDz~gV`$i@eLb~L{Hod(~04lg~e{ycRcmh+w{C!RIjo{+WSvd{jS2Q2(GZe;Xe|eh)LN+nHn_TVYH2r8oCI)rt`3a`YP%nP{wQh_de%J0)W+AXAxo4UPsz zEYMV2!@Uhk=Dp863n&ze&PHW#4eP5Rb}=**uj!U!%N!eL2-4jpw#e1cpg|=(`%AUS zQXsW6Mp*DFJa>p?i&%8_sAi!{q!?)59V+AR?)VV#8JtlBtf_qh>?f&Z?Ja;kx+GL( zhgd)u3zS}iG}B}tz-km_52}f8RjHv(se0KEuK^br^p$%Dk`%9*W~zk6;k3+lAp|t? zm;0W21Kxg_Dsgh(b5qqnc8|@F+fb4^^_k}a$ZaU8$L@inJu2<707(<^m>#~sCRPkp zY5RW&?i#yhX3^xc$3Qm7a{+?1eZ2LM2BjS;@VuH*H0d=W)(T15B5!O3h=|fXJ^Rgj zu%iM|o!X{3wSS+rqzc{x=`$uw08QN3t_q=mYs*q0 zbn;dGrvmvla*6&(ADUD|P~m*<#LcV)XgV<*WzBo>42!FL?OQr?EiTaZ!~t{Z?C*e> zg@wJAmT9aIj)y;zOJT)_v4961^Xo_ecp4ojI*kSyx9Eeo`5~@gbOaH8kmffpl3~DO zq5CU%Rih(3jfMVD11H`uUJA&_8-au0X}K_GZ`&pb z9NIh5#vvZsmF6hl8`G^hN(gPIIYh{w`lwL;aA}k?=qM$$SqlAOb7;Dw)825YF@o+F zAf0~1L%X6UX*Fv>O42J5!5!%=14r$iobIq9>?mUPo@c3YloXl*F*Fbv2(2fqt9esUi>UlC9n0ktuqICNdXWKbG<1Yt$q zAX8Fk0Cy(5D@S2yloPg%fD~Gm_Nnm&enrK^y<6<6Uxuc{Ars1megbJFIkY23aNTNI zx}!J*vvf}yLUd>cw;E|kM%}d6rM5x->Baqy9rx&w<}1XsYN%KM6d%9$Q^N^NgEo?A+-f7$_Dz|}6->uK#-@vR$B*fU2a%1k*!Myc0 zr#DCGbC6#PPy4qyzdjU^L333&EMGvV++AiU4&Ru*wKRv^dfHe-KtCMZqpin|3-090 zt}y&l(!ebxZuo4MoZC~qOB8nwcy>2`G_nZ$P_apJ|y?>SWg8jE*{bA;H(q47H*m|-4o&K}f zkNd}$PpgkH|GS>D|Mx#|{q+Bl^%DN))eq>i=PT(&&n*#b56j(@=~()G8K1jdeey@FYQaARw@Y+ zwI(>3PI{Mek^pEDP&}7BDgfa=pOwktIBh?9Hs2Q`k8V*Q@i>oT%Zwq@qN^k-+bjmyd5-`#0k-hFH=kZ7~T_{>Ysp+d_CRz|mn3)!RL z_r?6_CdtosnRLSUx2{Y+-oFR*rt(+j~=tyk>|9z0v zsWOBdWa#*742qo0Bv{s5;?Rt-Cq;PzrIwh(S)XB}0js=*Qi_jER=In%s>anotZNNq zkF5y$ghAr6SVIc&KXmTFJNnR(k$hm!^;Tn3KCy48N+M59IzOc@w-j&jtUhH6U_Ulw zGJ0UvvRz_SXn%(sC0!?TcM}$o2+_>0ThH!&0!IB9Oe;FmKostdR(xf+MZgVXsU76* zExV+tL+gAmJReGz-pk+I(iW^J!f5VE0Fk0&dhQg#@M%!zJU8Xo7rtp7>A4C7SPrWE z0(lU5qyV5Zy=4XteVS)sf(BD^{PNesdMeBY&Ii{s-HV1w8LO-&%)kA4 z&QEpI9L@%Myz(f5r-2%*iso4b3BBZ-#1YAX9>kcnX@Uf)2Clq;3q=GIVH~3gL+umlg5e*CO zV|Fi;PP<~=dweG%@pzgZaf)6lX_eV)n z>WyKsfJ4MNf~4S~=^iAS`S@;u^i*DD-zqJ?2Fj_tT*dK zs09a0a6UnRw53`32)-nL2)lE_be%-H6}T9hRvLcM|!6Vj2v(1mL~bbj<_A@24lb$zpVh~ z-}dqJ(CsHNyLPCOjA7YioBUModl-t|K>Rnk&Mh4#stC(1RzhaLy~_+Qk9@9ttng8=znslk=S#*c&? zaQttcYHPq z;w;t~*e#z>Y^e$ZosG{Cx{YhR$W;;%S}cDWaIlck6+wW084nOx`=rZ`Hk3h10|uKB z5SYt8L1{(ZX+dc^EAlEi@2r-@=fvx(X84vRb{rQiI~bGlUNBvsF%bbI-%ExscQ@E{ zp54{?RJM^5x$~lXgHy1lZGXiGcQ)#0icpi}MbXe`tK((7heIMw*M3jo#J0RIeWf!w zuve=}TRO(L=M65xB%&t!U+$v{r0+gT#!7jBqQ@?f;n8WWMJTyD(Fy&r*!Wgj7`+1C zP!h?rXXjOvxK$X^MjMO{Tl_3v%+uEG-X>bRdW$}};VQvJSs$G6!L+3e)zRt5iTW>{ zAnG!v5+!3m+x8V;qk5ae%v5Q{B%gM-*FJ1u?N*hK=In$+eGBsno%BSr6MMEJ4>9NuhPVIJN4Zah2-mZ&`K=kCytoFyWWH!Qsfd!4m@8E?(RCgSX%gt2 zmMZS`TOp9bolB847$dTR4SW?71#`S(3emaJD&*iV6*0Ibf&UG30oGw9JU*JLlZaNm z@HhO~jCFlk;Q~GwGF0pm_xqRBBB0&XL_YE(-j|1#p;p)kItG{UO=|y7smFnH(5Kba z2!mO}Yr=`8!2@{=(v)3ePKE4)Rh6S^>asviu}XeBgRONxG`hb5_p^$)85YUE{pTY9 z0092}%%)HI)LpZKYI)fbPtXNjo2S+%wwpEo44?G1h0Z9HFWFL~iiG4d4ZgcsZXNHa zLJ8?j&illwzLFq%5K6~BuIB%@F^Pmamn6}0^I|St$LL^d^czdSOdWoV7mz_(8EAT7 zIOIp0)JPkSg#HAYWuUK6x=YehL~bgtjEUUJ@_mI$mA^^4aO<38a9=s6Z4$+rtj^ZP zUFtfoz!IVqhzgT z0hOP8c1D`Y090I6gD3&@P zv+oau2#{PxiM7Td6F2O;Ok3(=W3R55{!dDb?g`2uaZ4zDfh3^sPwkNy`}}%$qTdZ6 z@C6NhcA@Nb)Ho$Zc%9_pi!HQ#;Ug_qXaoUR+PJ&Y7h|ukiCvfj*(DF8xm~r)hI0izSwn;u)bKQyp zx@5lKsrwTB=mQITq!MkErR9eFh1CVdpAqLvR@$V_ujn3)7Es@m*) zXp7Op#~Z92*pD8F)hg$b9UOcLjSbh?hsh*3p%#7kDAC8`vdq*Eg!GLogIa?v?MwqU zOsjPzQb!kc%t*xA7A^cl;jp|#>F1zrpGe{pCj8ZfZ;=mJJSvS=_@W=_AQ;*wL6q0s z1dn^(1g$NPtbFzQjWOe8NU{X$@A|z}k?>X4X=MkC(AHJAB+i&}o_zfP`Bk2U=Bnaf zll1|!c!9la@Qd~`%+03oWZ0I46y9R7>Di3+WateDs8*;3_I>kzy?vCOjf;oQ!fA(Y z((30`Q5X(K5*L0IJiRo*X8JjyhGl27Li%>O{m;M%wOkQJqY>gti zD#f0Xj;P`ZM1Z)0|4FmQC6CUo5G}v2z40rDAQy@Ja>A1*kSm@am6n}16%tsU1!SPy zMZ+D_yzbq_VyTRSQROYPPO!u~9ki*{Z=^$IdyosR!UdRFRK_og>KU`iBo|u>c8M_b zQRiZX7Mf1hW}dsbfnp^=5mJ}ZSZ`2_$EQ*r0UqSf@9IddPHVl|rzrBDc@Ac8FJ>J@ zI|6f(1ad-;VOnBCF{-}yi-A1TxOXz5kRppnm%Iwa_D}-XqH=eB?ljPmH(`kj8=+ei9> z2Aul}r6(;olD&0`>6jS^b-2o}4wH8itial>*(mt9!>or70?YjyWXbz#MJ#nH(k>uk zfR1zBfV=_nI&7AfoBO@b{xage@3wWZ8F;}CP#O4D(Iz7mzyx-aGhV2Lw+J8z--U`l^h#L z4;^Xa;&LZJREyBKj{0L`FUIxzNaz(InKk;{ZBpA1UGIvoOv-N`T&dY5o3yzEJ1?s6qc+nGC$Gf2YA>L(Yxm7K zRX+$@2i7H}?#p2Bhs}%##goY7?)FE?L@w#bn_m{1pIXtwTo#0ur2>+BnJ4F>aVM48 zuo;SC5F{SGlRO%aM#3iWg$hXL)36~Ua-^0%=$bLRK3;4KkxRuqW4)iBT#7Exj=U`l zesd5&lDQN3zSU2JtIZH`27+djK zf3T%oU|A?cYVWaK^4CtSBpo^Kl`Ex^z+=G@*7T^nO)U{^@k+Oke)V~olVc%zxn4cj zYQeLJYyTwyc|DA9hv&4#7;wd&B>Mn&!v0%x-1wT;nfCK8@Bb=^k_r!CWN(_&^4HH& zH9ntZ@01EaRh*iVUP8Kf%3xj5o57P<`4hSlBt+;G@aF233MG57#Mtl>vO>K4-*SnT&kP{fNBRe~R^7zU+;~#R@L*SgH;8#;iLKG-e)Fy%cL9JfmV+3X zgE^>Z#>fmw=*UKz4%82H(CYnUlUo1TD~#@xSG7?N1=_+^bi!5tV_7sMX-sUUjkT4t zm&Ch_bB0qN3j{7|Pp{?)r+T;L01B>*NxDgK1$uZf>-q>_zF%$H3Y4Pit|r#PdX!B& z{%H3-NLMrIUB?nndy4j(>Y|ew4XQ6nR&TSOa!9vJo2)NR^$r` zoJ?h}b$ht}7eTAms7^JsW1H8LP0YAqs4P^!&M4T|IRgLx7SrE^=quUn8_X*f)Zf?( zZ*5AIgW=3z<`xC^uPsT4t4val zi%NI!<0^Pbs_GX4< zS@EB=T;biIv~NVpwSna0C11f)$^=x1@(o5{ihRJ4MHZ8l20ylF?*~;Rqy`Q`6b%2+ z&(PKe&f90YcULqNGy2|fxbHWV5YF1uC^YUvAsZL)c8EEUMgB`NEGc)PYK8)tElt|Sl)g+ z3tk*(W~$LtX5{H7V2=dpfX%b~)j|)Is#Dm`&Wg+|`|O;Q|;RaKIf6qE9}4ZtAgF_lCWPCiw7R14r&@s|vrE za|)dFyqqP^sa1S6wAlea_aLj$lA))qkM~y;Kz**TNtGmz|Pn&XKnt$`KOlv z0JK5CxW0@1Z2xUTaLT(8eQ{cy|MUY7n?R%cy5x1Va_MgF9>;EO`<1SN8UN%?+ihH5 zfC;$PzVDz$#BPiYX#uiI8Uc3L^3hC_R`R|oBPBUyu$9m`MN)!RYyM5s1fCf!7kD;6 zfqGv?10HIWg#fl-8$22+)-jN#1fw(*?g9Fk^m&(F)n{nY_g)nQ*BK??(1U8~qD*sj zzRFs};AM+u({oHh;gfg^DcG?632KIRvML z#VOI5dsSvz;kT&iAx{p?k~nV!hL>9q>nuy9a|YM3Fr?sNCf#ku%{DgRRdS0qxhnV= zL7WJ{C5xk%J(IXjV@rN2Nd!h3utJ+k>ds{qQZv0Jc)$@M{Nds~BMC}WnpuaE!hHNq z<$Y>j_C+|_=7C846cAK^IcwgcA;{iaVJTqZbh~XPlhf3ecF!Y z(5Rk}ayv?#lOcNeURxUwS!Y@bnP0wZ6)x{%`nXd~;tiBl^iK%Kol$b*ktx^n=E_S*qN9xBk`Nkm{;+YDeFu#px`@ zpK$rH0q}NsL$|XM^Pqd!#Mi{2Gb^iv2jQxL<#QV2ENhS}>->2EZ_*D`<6K>7HWmJ;hb#1CD{HEeN>irwf9lT=}u)xiZJwMC^|IMu|hr#PCg z(BolzS=Ud($IDyf;0YfGtCu&T&i%beHEs_5#$PdD+B~qy++d=xkizD3ItM=yVeld1 z?}tf2TZSd0H3bTPQ~?&E&eqE?dfSqF1c^(9$A$j#U@8pd$?Bym^>||*W3VID;Vo6d zeEokLd;e@z5{Z&?K78BG-O9a>CC&m&qnTR;JCd&e$kEpPG`Bj;tOW^Fh?pC2Fz;09 zQ=jm4rOB^ZDff3hN}Ro!DTdwj?%3`U8`0U@Xw%xxBCrGZv=+rTE!LKx*FaMs(NsS^ zUj$IwN*OJ{os^@V9&FH3h6}D-Fq}mc4g2(lGLujd?XU;3W1{9xzd|Hz>ASuDn&eW>0(SSS`(S;|Ks!k-&<$ucI{z#EjAM&}RFTX$^b z31w;Cd~qF_&$GIO{5j>^V0yTjx;_FenRHm96S3if_G&6lp}o#|3F~ zrX@m`UH=MfbKv%0x4d)U0GZGe-)1&jouBkbechHc4zKc;HnPi-{IN!^k`}F4>gsKA zQkq!beYx&bgVZNL(~HoF@C%o4RQeTy3MN1bC+7;rK^S!Xfbbmc=OpQgcYGDGH@9#< zVj0vZB*Ux7oPn=n)D^+j--a{DF8bR$WwGPOr_MLEPKe^G&%%ynKSA+D+apzZulHH6((eoRhju|-r z1z^F3g5l0XT%`^oet^tiY3OFDLnjxmA|KgOS$^;EQpvdt+}0|z4fie@`KgYR!s6(k zcor=-Q)b56PE9yO_?&KJ-X!4&!48+r_i|Lt>#X`W4 zu+@pqd-0F%v|Uw*1L74@VgH) zCsj37QNlw$I#;Ri!qC*k2`w@C`ELJrTT!5VFk|-F>H;k2>zQ>@Tz&!u-1l33Y-Pe5K zmvQ8Ps#EY#S>|{VGq~Zx0AG>MGg3w?<(3LRxc8jP_3ppm z9eDvdg>xrvZIPB^@5-sb2RlI5akG#cK44Dor|O^+rYua#{2nqoN$$fzu$yv`eB|vZ z=||on*2Rq{=mT}Ux9CPQCzfOCH6{nlx|hY>czbwHE#VbOsLA``I~gj729+8NTpl+k zHd>ZkhR9k^G`#8SYW7<4?(7aH*&n7Jj~ zQ=YB1itEP(>Y~cR%52oqDmN+?@x^RAY_2SryL(&#dIOsQWv?yu8xbWZebua22|x2dGlM4VwNT zynjmIIxM>JuKaIS1@0}@n4IP4!GTUR>$`)xQB&8<^zWM z!)1UuD|}{4c)~KjJ7d}*;?INOLz19KWpu;OYFlCGa*YzPwJ#TOex{i*jmGuC05TDU zfqlG`b%jLfdnBR>To1U96@5l9=&DF^^>rP0;h6Bb^O`2YVhPo4a`0rM%vM_*yxb9f z#6wv_oRe4NvIBkseY&g(!|UOQ9Hn0dWiz{rM5 zY78_(B^~yeZCkXyErpfanAxobF;AsCOnPb{hYOFq)EONiFtoZjP1bgWOM4Utenk@< z6hXGmos}8hg)u_Jt!uj5O-H$RE%15eu^eXKEakWf+6DyyjUTlj-kIsyPX68Hp$bw5 z6)GJn{eNj*QbH|l7Ci>V#(KxuZ)+s?iEQ^30`A+fgWcQtGGc*4b2B23dZv?r1t$tP z@&PF4r!pG@4O#sa0*B_RxQXoMU0i;9&C*HJ%S_5UY*aSLLJNzWpf2aZx0Xx;C;%je zEyim1=eA750BNi!29p0nE~rmw<<*Kwo>u#z51%~Ftn>uJRHLNT&u0!z+!z7R@_j*4 zC*FS=nB>=;+{0*STQa0>%n_>f+)(IBLKW%Gay5W~>*jvTXVgTrJ0_(s?FL^3!-o1!x*$g|KhHlpI81|$wv6mJO-(q!lzm?op51~Yitad%lI}pMH*|{mm zbM!w`jAbfdgs!V+fpwVc9R>MaQhc__6mZ?HIMCaplCUlp9Hxa_(hz4b$5O5m-eNnF zf@-->04T2IAJ7K$K?r8S)5D@f97kvv3#c?dTOlR5jBik8=ZUiDjFmDrqW!Ft0qH1J zmpc6pYX@Ny$vGKfCLDbMv~!};jT1&yE?cxJsI@pyWXnvL{EE)d#xwkZg_@0g6q<)U zD(yuC->PowTBoh_74h?N@cRMT_|-OoJ=<*6W^!*F!-htK;d;f}CuzZEG3)J^Oby@6k^W%4={n^eD!Xg=P#8qqoJsA^#DuJ7g* z7@2?ZDc%ew@Ym!*4<=+b6%x{mCHNf$3C@j1$$Nk%!TmhVCPa+^5jW=OU*Ca^10`w3 z+(D0H4@dMPj{eU#1^xP-kSb4MOQM0&w8&;h+YDw>FCaJ@Jq}wgd8A(In+K85-s$ z_gDkOJZPtIu@zh*Oupc{!a^54LK)O--n1uppzw*Lfe|4$?2arcHcXNzNuCYpsceyw z%H;3Ke%8ihu0e=oU=yCEYO^5IuGwQUgiIXrEvqK zqlMP97SIw9R?W$mzui=`redQmD4blio^UvRstGB$k469qSP0;5I*>ceBhfT3!Tmzl zP6xv-WmXZ*#4gZxHZYhav(x?_P79Xrhh{|pgjP_qyD1CB06Gex@06D~m%*@Ao``me zpTb?jL9)V$CV!vXgC^;uQ^Fa2s)G3_MSx&)&?%TOND~z&VAYfl?woU{=xCjvxP+vd z(~=TJ)J_^nt!XY@BRkRtX%Ity?E_8T=|lN3_%;!NP$Z6AmKol>Pe;}>4o3F?+SxVEAS4WV>Q^PU^ z+{v5$IyYUywKz@2_a6)oT#(fc+Ot4BaN(*ocXc2^ouW1&`L4^@043^HrTc{0YQ6>sl7b{- zp~_F4{F1TaHiz0R!OoX^@B7JB?26o6g0EtL*-H9T?Uyg^qfyw|!!IGV#)%PyJ#85DCzdpZy4?LSP$ zLR*&q+tq?kuCF9*RdgEz%*~Fd>anXNIGql>fg@4#&b}9uac~u;((F@>WrmCYuKyxv z>eP^TLvaR*LxO?1@_|TJCJf>|Vh{2>qhcC9L!N!wR92t}#P3CxpGJgMt1Cf-2Xo}B z9i3ZrJZ69$L`vhmtdobfrDJx#96{#eNQ8xZj`}%Hi#6PjHQAxtQKRaZuL0yMf z$lnQ&tjivcWPP(?DEHZC3@-p!QW)F142zg*E}7;_>{YM9O>SF}^N~HZ!TT za6_V~2&4b~ys?0g$PFj>SrKSO zwUz=~Hprt!M?;(bbGcy)1N?17MI5g#4+Ioa+!Xc;H z;rXt(6<#yf)Itta3Rnp@S2eGY5?j9k9Be}0u{W>URm;7|sdO5?WGtu9-)F&;%JE|C zvh_eA_OUJ7PzM+X@*&wm1BbK%WZ3E|Rs}GILCLuaQZoqs8EyY6<90!zA8=5enxkMK|txQwFL zCv1G`W>HQ|LEhA_8ZibvZ-a7kNEq0jEJ5ID&dCDB*nv9`CAF`qMh;VCubTOnCT>)tnq zu=wc;iuZ{0W;4F3XV|qmZlSF%;Jw(aVZ@+T@ zN)R>9k0MOBeVnZdF0rSoN8#a%|DX!#ZVdrZ!e;-|@|*W{_>Q>*(_xVUVa;L^W@V$7 z%t13>`)EC=ZhOA#4z`)1S1h<%Z%DRWQPX-|$k@63Yn@vqi*Bb`ALL3{tqCkZfnyu3 z@TVu^EtrF0PxFplh7@!+TeJ(svN!d<1o>2d*m@5y-BrnoA}QUj(G}y-UTNm2vc7IX z;($`8paT&U!|-zhaK^AAt6coGVCYLLcVEx6z$JzFQBkbzzJ*MVwp`kuGR<1DpEt zH<}`mf3Dl4>$%L@T??RMaOVjR4C?e#cJ;xmAO_ns(Ek+5`l$o11qB#Gsxx7aVFQsy zjFbueah_6SixAVSY+DbBj)^-PrjKBUpVY5I$?1!z?C)ZZsO*4Z?CS}-^|Aj!J`Ji>0N+*Q`A(_C zg@Z4cJQwgxU_sccY*TnA{dmQUB~SwnC(nsiehX*t=%FTl9&{ucyEW-4t(zKzh6zBA z{YsAE{?S4seWI6*=pi!+GEs#y=Pa}dyO0j^cFrHQ7LEkI=so%(B43bdq;mxwX|=5b zqc=+1FxF(zYuR+pL!s<@3qjDMG9372eM3fS^6454Ftv91s1vMXaUXoYFIGN(bXw~d z7xQ|^T&<*4{EsK(ZO19=tv%`S*;AsNynU$XQ+0yM|8$myMy0DOn}g_)w(LjWbSnE@ zur}$DU}+m-7G~^PQ)3RZ@Q z61wY8tdHXC_1-~!FGtf05HQO6Nms|2a-4n2*hjK%OEh^Ri}HxB+mPs?tqKL&V?2{Zu|(#yZ`)e;zv0i|uv0gjQ2i0z>H*y`5CVl<&XrfR?} zI%P3ETVWDFxo%-HkMRzE1=7z41=welabI5p2wuDblmOuSv?tbz9O|D~Z1Ak8f9j>U2RE{+>cUWrkCixhW8+r#ug2%a4FpH(xN`AJf>Q?qVl{|Oyrx6T z1a}?&|Bb8Mg34+kX6C=d%q^uPqB4g2_k4c|i-FgYPc7y(nC;bn|TS>r^`eE{rCW7qHU^mD}vCCaCZYXOKCcjzhY zOc?Nwzts`68JnkK+QmIku=5y2T3hM9sxe87@_8qh+dK#w!fD&nHZQ9w9VOqdK?V*X;QDCuA!J5LUfWP zV-$bED-!~nn%n4j1i5_qI%YkUDrX@Rz!7f5akTRjD}v?IN2p*;)KU{L!l!Mp2XfHG zIjPHHGQe^Q=9ZpULv*1ld*#1fzlUUzM^r8$#i*LJAdgNsP-nZ2f)CRJR^F*@Rew8w zoGUNBl5b9y+P(=0?RlRqaL+TTYaU~UaQ3ii+ajPby1+fc;fxNe5|iH`NTj8!UZ>lu zN5{L|Q zm7Ygy)>kMbV2PTB2lb2u);A9@BV+U0r2}{?(ci@fWP3X71it#L)3#;aHc9<-OGsKF zDh?ia92$vP=uZtam}D1CGy-r^e0@39vskHK4%Cbbc9L8{?lK6{Gn&91?+Ws^Aw0A7 z=jn|6_ai7n>w#ECTxwVxYdf*- z4_3^fNxnus*DPY$tLBS)RZ=KxRWtG2^wah1 ztuN;`KNeU^Dpo~CPHVR6JgDW_SN~;oA@yfk;#6{1HUG}6mtYr!4wR3Y-OaU~;+%04 z{#e0JeIess@lVh;5OxR=Xw>4(k`svWHXW1njYv2qNS}xMTF5`7GF-)+ri8e?-t4zl z%S}PE;qV_01ZUx?RSa~*9b&?w()sK1X*V%|UYGL}u!Q0SwD6eJY9i++;dGg2uyk~n zY|tH+27h5!5*a#*{r6G#?%^5uJMXitBR)Eq$(yH^!f~ypf0#hz&;$H1qNQLUhu=)5{co!!V}lGg>b5%Nh)aotj4(Amn)=LE=Bebs_palB=gd z{JMpsOOjJT4)3J#!;z+o4jufHe_?-c0z@sHx)TkiXq8;sQCT6p6;dCjbJMmNECTXQ zEJe(%@x3we$C65`VryaA0Jk329{&ouk)93 z!FPY4UcA$YY_Gv7L7N9}b`Ii|%zP=_ga1$>gg2@@=pP<~YFC$z=ke1+K4Zax;V`}0 z&sN)9Muu{at=8&4sS#9cyDQ7qFl9tiow9TF{|yai+M;=H0d0w<3a=f$mv5}YF4d4v z^O{p|4%oJZOVTMF+Hw8Ej-mSQ95xi}fc+D%dr^1}RBJG89exWy#CZ#Vwhfo`e%b!p z_w-xEa;|+zr#h}P_0Fj5+ycm5at`Il!=MZbMyA{%6WRXibotkCJ5d481>HIt{rKu5 z|G9P`_d;T&=u9Z5kR`*UxMZhH}&948ltEZ4TFrnc@>dDn7fTDCt*9q zw|Z*jQIZ9S-Ol!QN!|0+^Lb*Hv0;!5Aq`?L=yKjv`q-G$f=xI6?Cukv;fMB8>sqX%0IQl3BRD6Y;3{idl>O6Eylm*t|_t7gQ@hG6zofGNM}E5(10=H7!81 z<%6z%d)doWgm2#2367`6t5bQ^t#bB(r-3cZ3Q3;t5b!Xa;U;DtckL7I5CgDdW? z0~m_ozRm~D7H2W>;j)hQT)aRip%xu0qM=QCkRsa}AWEG#XK^S-p6E@(E+@(1w!~w<5Jx42$!)Rh zju(bay6-s)t?ewEV#ZMk9Ka!d2eGXv4`$|n+e<#FI!Cj)%@ z$@ST`#y9(IVI-NVHA)};Q}>D8O+xTGv`E+b7QWC)AyTTFb*2Ckzm5(~^u z=EYbM+OH>0TOjvYf4Or#3WBI&kCbey zBjJX11c62<40IvTc4>>%^n(?ulnOMXx0!)MO0^WSl+hR(w^Bq`WZ?ZLKhFNra5nRG zYS3)C({}TshPTncVkeTC6MsX2(-Hi$uvkeJbM(q@(|Dqt^w(RPSuCkze>0@xY@rX)>f`c=zbfhE6wSrrr7-{^n=9il1nlR(E20($jG$kAF1 z))ip@y$}u|w^l_pVH+b6&|bdjA4MB2<6yFDIhybRZdtx@Nj_Z-r_Jaqg(&7VFCo*Z zFTjI>bjs7)csQcW7DjJF`^!NlosAY1X#cPQTkoKf4g;ljxCG{*gKB)#F$=UBx76;8 zc&#u2p~))LYC;N{&r7voR}6Ij!>)AxHpd_GKZ>)Zb#x4*tu)tnA~KQ;4W0bn!k?3U z>qe)_e!RJFNW4ue`ZaH?L7MHiOaZzHZ#ZuS@PHSr6y;Y_+^d=8Bb6w!q|Bv+D(uvIQ zPP=6j; zIjUMJPF{fvI!-@K;F6k02Qal97 z^ZAWhD7jQgbMKqwIyUx)CI=^v*K#>;dR}CU7NC*dlbq!aQ$997T8I{h?>-XNg;s&E zIwrLdae?I)J^O4=7`+$m4c>;_0aCZI+AvU1T{F=EM%gfnvxQN&GB0q5XimvfEPyL0 zO!i=@3vq9D(tReWa<4-j4d$V;LtW^!SneIp1~^Of;g$(^l!)(~F_ucACZ|C`yg#$^ z6hc44wzXRGz#6NK$el+ukmBxP&bbXc&?;jp>Halk2-;q->J+uh$!QuB9aKUG0USHUk8RhsSTwll0^6N;B(n_$^w==WbWu zG|w7F=dP9}c^eovO0AAo+_Sg^NArSpMGx~O`n40cXrW5(nKluB6&HoX&A{G8sO_(MeHp5Sz5N~j3Zyze9eb>&QN(QU7U2;rGOE;88|DZS{>uX_DmS0_4mq0pc#JxZI{(8RPHF9^*D_ghe|brR z@qVtTc*u?89!ohIBGZh9I^@aRTl9$+7Coem06`Jlz-Xg`ZuR4irn*>+FY!?Bfd_?I zw2AfbM(l5~O*G;fVZ{+ij)U8rmHN2?(G1%uW`*bN_X;>cqh`8j4yO9iRS$(!`7WEs z45$5(~+UrHtw!k*}_1Y#mvAZ{8sRqFka0b(?^|PCx2?8o47<%~f}KjFX%);n>FSt_J%I;5Ypjm1w< z1(lgOrC5Zf((=kdBV2+p7!m>F0K9Qn@+SsUv_m!Y|CAP}>95F7qV%{=DJ+vy@MaN_ zH2Q$9^ludm%?2?BavPnMMh>lH>ob-`m+w_Z+_Q zNg#<;SPxJx2)9+SZi9x!!o~8@?TACDMYo>ia!} zs-j-Uk&f%XT~^$ZjlOKADUn5}m}!^;O6j`KBL<4O%H+lD}|mW3}R z!jDuxYLUFt7pV5eOP!pb4|Msw{}t(@C>`$Nbj(;MWs=qdVG5sOHKILN+@%NTT6?LO zc0n&rJZGk4Fyr`@R?ope!?QpkWMaBncN@!&J#x8cu~ zI6z+MDD*mS=Q8;nz8_ds8AAO1$B!r0dkl_?F!jr6_K)o+#XOH&p+ku*j|81O8(|eW z3ui3s)VmR4s69Fi-u=0FQ44yewz7ZHxF{b056sJtB~FjNX%(PQ_Fz!|S<$1*r^&m6 zO4V5rng@V%x>$ak{u(}xsdaw~%uCrT9`MV}44~Hy4HPOb5qP*0Vb|YfVMi>Mw0sV4 z6WD|U1UBB$6QAK`a>&(ImrGNxjQ*5=a!Xdr<dn{dU*JFS zkBzu9v`+R+snfuIkC%~=!Fhk$ZhG9lCX;eJNE@rcbG1HKx9ut?8oN&d3TNlY0+Td_ zsU3BrN4(E2GjJk@FmiHO`>=}kxs=tX zr2F(Cd>s*xStxq3=MGyJu=alx8-ZBf@Lopvqg)|U;F6>z_{^s@0b2}kdm1qqrG$}~ z>?Mkq`I5*BP>lhrc<MLn|LhVEOgEQh;Rg zj&H*;70^#Di=y1OYu%zDhp_=aXF`P7VOyIri*wxOjiG_g-jzEl2qzF?HLg&xF9ZHW z;xG%Z4^c{u(S1g?H$~Ub9)#_?nqI2%{@bnBi{8JHQMazA-Rm%V#)RzS0`ss)INz_& zKe}e76>O-`%5LiMx^_e=q50wTDGaS5r*4nhHHJ1><4R@ZDnt!cn~yJS%tj z>#oX(7sDyQ4p(JRBx;PO&bOQY=2XudMvh=xKlLpaj(LJrEf~r!UVw-O8p{ennkFj@ zpU5ID6%|ZFE*&3Rrh5gH*LobkSCGw4OR3$+ZTr6EKC}~5S_}wF#KD_W2ipZ+XQOp$ zzM{$9jH6>fMqkGUVZ*#?T&GnY0M~B^(Oqne-ij5-K#zw=1E>Y(M4+N1`AHj2*8r_r z7pVY}{ZSdYDb~C=H;zE_Mc=@9t*T{UDKg-rz83Uir~*PYWuoORcSjZ3^JaH7-kn1|C=Kdgttc zS7MdO1Z!=!&=1*h9_usysba;6f^1_3Y3RT z*UcSN+Wz})G?UvYBcCr7svDXIp55{m!Jy|o;i(@>DU11n^X*D*IW!r?EP)W9pI+J+ zwpk=gh31Gr*Og~U$#=@B2 znv{2LRIXPIvH)?$O21b{X{IT-Sb=H~_^8K01m_3lJ)POHRGMcyDm^6nOyl;Q_hXJD zbz64K&c9CFAW<_+Fy-O8d{j4Qz68c-RGW%?NHkf7fc=KMwE|m^*+)7+_2e&fDk#i4 zWAs$nP~pAea7QM#huq342Fzppw*$Qz8 zTlQLRU76JMY!M;ezo>HMIH|8iu$~*xK**~dcj1z2!Q!zL2xlIeJpyM&P0St$AVhuGSh5d$G*MpKHK+{J>{7a1yzi; twGP;Fezgf!{Y3|f0{?z&H8nD@x&!t%mfl~seUx!ApY+a0-5JCq7ywXtho1ld literal 0 HcmV?d00001 diff --git a/boards/shields/arduino_modulino_smartleds/doc/index.rst b/boards/shields/arduino_modulino_smartleds/doc/index.rst new file mode 100644 index 00000000000..f0f70ac4d3d --- /dev/null +++ b/boards/shields/arduino_modulino_smartleds/doc/index.rst @@ -0,0 +1,29 @@ +.. _arduino_modulino_smartleds: + +Arduino Modulino smart LEDs +########################### + +Overview +******** + +The Arduino Modulino smart LEDs is a QWIIC compatible module with 8 addressable +LEDs. + + +.. image:: img/arduino_modulino_smartleds.webp + :align: center + :alt: Arduino Modulino Smart LEDs + +Programming +*********** + +Set ``--shield arduino_modulino_smartleds`` when you invoke ``west build``, the +leds will be available through the LED strip subsystem. + +For example, + +.. zephyr-app-commands:: + :zephyr-app: samples/drivers/led/led_strip + :board: arduino_uno_r4@wifi + :shield: arduino_modulino_smartleds + :goals: build