From fd70199c479bd1bc8d100c750d52ff49ae906d98 Mon Sep 17 00:00:00 2001 From: Amerlander Date: Fri, 11 Oct 2024 07:27:27 +0200 Subject: [PATCH] upstream mb v7.0.42 --- docs/reference/music/built-in-melody.md | 51 ++++++++++++++++++ .../music/built-in-playable-melody.md | 50 +++++++++++++++++ docs/reference/music/is-sound-playing.md | 38 +++++++++++++ docs/reference/pins/analog-pin.md | 32 +++++++++++ docs/reference/pins/digital-pin.md | 43 +++++++++++++++ docs/static/download/full-reset.gif | Bin 0 -> 147872 bytes docs/teachertool/catalog.json | 4 +- editor/flash.ts | 38 ++++++++----- editor/patch.ts | 31 +++++++++-- libs/core-mini-codal/music.cpp | 2 +- libs/core-mini-codal/music.ts | 5 +- libs/core-mini-codal/pxt.json | 12 ++++- libs/core-mini-codal/shims.d.ts | 2 +- libs/core/enums.d.ts | 5 ++ libs/core/music.ts | 2 +- libs/core/pins.cpp | 18 ++++--- libs/core/pins.ts | 20 ++++--- libs/core/shims.d.ts | 13 ++--- package.json | 4 +- pxtarget.json | 7 +-- targetconfig.json | 3 ++ theme/style.less | 30 +++++++++++ 22 files changed, 358 insertions(+), 52 deletions(-) create mode 100644 docs/reference/music/built-in-melody.md create mode 100644 docs/reference/music/built-in-playable-melody.md create mode 100644 docs/reference/music/is-sound-playing.md create mode 100644 docs/reference/pins/analog-pin.md create mode 100644 docs/reference/pins/digital-pin.md create mode 100644 docs/static/download/full-reset.gif diff --git a/docs/reference/music/built-in-melody.md b/docs/reference/music/built-in-melody.md new file mode 100644 index 000000000..62c7994eb --- /dev/null +++ b/docs/reference/music/built-in-melody.md @@ -0,0 +1,51 @@ +# built In Melody + +Get a melody string for a built-in melody. + +```sig +music.builtInMelody(Melodies.Dadadadum) +``` + +A collection of built-in melodies are available. You choose one by selecting the name of the melody. + +## Parameters + +* **melody**: A melody name. The available melodies are: + +>* `dadadum` +>* `entertainer` +>* `prelude` +>* `ode` +>* `nyan` +>* `ringtone` +>* `funk` +>* `blues` +>* `birthday` +>* `wedding` +>* `funeral` +>* `punchline` +>* `baddy` +>* `chase` +>* `ba ding` +>* `wawawawaa` +>* `jump up` +>* `jump down` +>* `power up` +>* `power down` + +## Returns + +* a [string](/types/string) that contains the melody. + +## Example + +Play the built-in melody for **blues**. + +```blocks +music.startMelody(music.builtInMelody(Melodies.Blues), MelodyOptions.Once) +``` + +## See also + +[start melody](/reference/music/start-melody), +[built-in sound effect](/reference/music/builtin-sound-effect) \ No newline at end of file diff --git a/docs/reference/music/built-in-playable-melody.md b/docs/reference/music/built-in-playable-melody.md new file mode 100644 index 000000000..320d32f9a --- /dev/null +++ b/docs/reference/music/built-in-playable-melody.md @@ -0,0 +1,50 @@ +# built In Playable Melody + +Get a playable sound object for a built-in melody. + +```sig +music.builtInPlayableMelody(Melodies.Dadadadum) +``` + +A collection of built-in melodies are available as [playable](/types/playable) sound objects. You choose one by selecting the name of the melody. + +## Parameters + +* **melody**: A melody name. The available melodies are: + +>* `dadadum` +>* `entertainer` +>* `prelude` +>* `ode` +>* `nyan` +>* `ringtone` +>* `funk` +>* `blues` +>* `birthday` +>* `wedding` +>* `funeral` +>* `punchline` +>* `baddy` +>* `chase` +>* `ba ding` +>* `wawawawaa` +>* `jump up` +>* `jump down` +>* `power up` +>* `power down` + +## Returns + +* a [playable](/types/playable) object that contains the melody. + +## Example + +Play the built-in melody for **blues**. + +```blocks +music.play(music.builtInPlayableMelody(Melodies.Blues), music.PlaybackMode.InBackground) +``` + +## See also + +[built-in sound effect](/reference/music/builtin-sound-effect) \ No newline at end of file diff --git a/docs/reference/music/is-sound-playing.md b/docs/reference/music/is-sound-playing.md new file mode 100644 index 000000000..d61d49b86 --- /dev/null +++ b/docs/reference/music/is-sound-playing.md @@ -0,0 +1,38 @@ +# is Sound Playing + +Check if sound is playing at any sound output. + +```sig +music.isSoundPlaying() +``` + +### ~ reminder + +This function requires the Calliope mini 3 hardware. If you use this function with a Calliope mini 1 or 2 board, you will see the **927** error code on the screen. + +### ~ + +Sound is played at the built-in speaker or at the selected audio output pin. You can check if any sound is currently being played at any of these outputs. + +## Returns + +* a [boolean](/types/boolean) value that is `true` if sound is being played at the built-in speaker or at the audio pin. The value is `false` otherwise. + +## Example #example + +Stop all sounds if any are currently playing. + +```blocks +if (music.isSoundPlaying()) { + music.stopAllSounds() +} +``` + +## See also + +[set built-in speaker enabled](/reference/music/set-built-in-speaker-enabled), +[set audio pin](/reference/pins/set-audio-pin) + +```package +music +``` diff --git a/docs/reference/pins/analog-pin.md b/docs/reference/pins/analog-pin.md new file mode 100644 index 000000000..01f7b6c6d --- /dev/null +++ b/docs/reference/pins/analog-pin.md @@ -0,0 +1,32 @@ +# analog Pin + +Get an analog pin number for a pin identifier. + +```sig +pins._analogPin(AnalogPin.P0) +``` + +## Parameters + +* **pin**: a pin identifier for an analog pin (`P0` through `P20`). + +## Returns + +* a pin [number](/types/number) for the pin identifier. + +## Example + +Set an analog pin variable for `P1`, read pin `P1`, and show the input value on the LED screen. + +```blocks +let myPin = AnalogPin.P1 +basic.forever(function() { + let value = pins.analogReadPin(myPin) + basic.showNumber(value) +}) +``` + +## See also + +[analog read pin](/reference/pins/analog-read-pin), +[analog write pin](/reference/pins/analog-write-pin) \ No newline at end of file diff --git a/docs/reference/pins/digital-pin.md b/docs/reference/pins/digital-pin.md new file mode 100644 index 000000000..f58c57e00 --- /dev/null +++ b/docs/reference/pins/digital-pin.md @@ -0,0 +1,43 @@ +# digital Pin + +Get an digital pin number for a pin identifier. + +```sig +pins._digitalPin(DigitalPin.P3) +``` + +## Parameters + +* **pin**: a pin identifier for an digital pin (`P0` through `P20`). + +## Returns + +* a pin [number](/types/number) for the pin identifier. + +## Example: football score keeper + +This program reads pin `P0` to find when a goal is scored. When `P0` +is `1`, the program makes the score bigger and plays a buzzer sound +through `P2` with ``||pins:digital write pin||``. Use pin variables +to set the read and write pin numbers. + +```blocks +let score = 0 +let readPin = DigitalPin.P0 +let writePin = DigitalPin.P2 +basic.showNumber(score) +basic.forever(() => { + if (pins.digitalReadPin(readPin) == 1) { + score++; + pins.digitalWritePin(writePin, 1) + basic.showNumber(score) + basic.pause(1000) + pins.digitalWritePin(writePin, 0) + } +}) +``` + +## See also + +[digital read pin](/reference/pins/digital-read-pin), +[digital write pin](/reference/pins/digital-write-pin) diff --git a/docs/static/download/full-reset.gif b/docs/static/download/full-reset.gif new file mode 100644 index 0000000000000000000000000000000000000000..96b30a047a7dd19199f4e58f2fbb5e50e21c8fb6 GIT binary patch literal 147872 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

r~Kt1pi2fV6r`w3P))U_T;R0fF=eafFs;P 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

D|= z+c(Aw*LqjESP&j?80B*Bmfpz|*`2y_YTlBN>aK>5_OirjmBfu%*kw zoG0g1+=2K?k#}qcc*Qww;sDwuQx%CPIBey?xX~842ZF@<-aN=gKya}}O)L4m9oO^u zMQxAEmRs*;Z5b6yl8do&w8cT-fCUbj*EEpQzBk64cFljY8g@MqN>7_;O_plGA%;2U zP28(BWf^9oXcl^&ENlXRFogH0ygwF+sn@T+&+F9#xst0`eB^YgeR!i>YR3PD^hIo1 zKM{L}_-N)P|LrZHgn5v62L4X3l~BmpLYBJyfrk7Bu(5M9}FE-0Bh_z%gD~E zMm%9{1Drd#V=_hw_YaT9#)}ks3HDdqZMv2_h&7Pk>6#w~3>wh5LBBK)4~e;QXtutJ z;ZVrLM&j0F01*mxqoEF=ovp~<%C#5cgw013#%&8pi4s$d_sW7e)s^ZGy%QlU4AEdf zddu?)>*4OdSv0V&FkFeo=V_fTs2LI-A6Z`Pwed?(=Fi1RRy)dp$+cl0@F|U0_@syA_t0MO0u@0=#zcENBFYY1uUSB5UR$w{kEf7LS1`cSKhg%5y5eu8o+#l>P zF?cAz0wzv{lCn&$L1>8Q2;&?Gb5q&3;?;+EElXJ>*YpcFW1tNZcGxfS61j0S+RT${ zuu;L-FOcoblJ6P$@=@Ga5_rP9tjTksw|w<}8 ztfS@I@RY_2x^G&sW$GzyLN48*fVD{cOBs!iHJfwNxrhpg1+o}WUSch465T)vkWOWO z7-qr_L_z^`5+)4=-NGT+Z8E_pc>Y4AMc(DW?w?lqtjT?CqBcz@Qqd>Tkynnx` zQt_%@LBCfaqQ5%7nIA>ajctJ!jl*Lh-Scs`OGc%tpt&kxzA90q46ml4K!ew{vPVx# zasN%UO zTsw2eD|AWwv{xI^H;qNz0!Wr}hON&0?uzuVJ}szF!c*mkFDsptBAFEwbSexCKux#G z4lxRKI!g5_eJ4LbWiJ%MoK)16#0rN0NK^JZg(^Ue@p9+;Kp*7>Vp*@Y0_O)NPlKn{d!F$0pFGEV zPtZ<_z|Iy?llmu7T+Yqq9lYtG$jVZVtD-`767r&b@Zp5YH%6YR`5uoo00ZqnMV=bn zckEM@Avg`s{;Ar9iXb(3=sLZlT8B5SVMtJ`<;+HXb64GYP8`cx>Uft2t6Twl7K%8OtNB z=>MgSxz$RX8~bxQR>2~f=+Vt?t9kQJ`+B$Bv_?&apOv9aT(U}eT^WzglZUJxYy8Lf zfIlyx?ReOYI+kA~^Vv92OgIZ{LS{jWlpmUEJ$Bt1x-Fvx7v(dk8mD+8#_m~rc`IbZ zqDIL&V&^%Vx1w#d^pV$vSb{jR(gnW@3k#m)XlC#f|1Z}fV^&)Mto{<>|&Hn7h znQ<}}x{;c-9|+N~o#nFn$-JzeYHSdcW8^0)t<*95j8tm z&P)tXMaKsOVnoXzIVN8HW(#K(kM~Tm4}srL@DLUYc+!T)o=j|OLo=d%XW<6NI>?c@ zC9u`c6VVCpry9pN#`mVVdw1qUCEU9KNZu@f`#SG4^tYy znu}P}c5&CYXGT>T@wm_c9ySBnNlU2lxQDV8oW18|*7{{`IX3&s^#V3E{jlQt`ZF-{M|gHXmr8yC6Hd>fXDaly`@ z1!6I~H>G8qT>3sgZ#6n7zMYLQPIiI1#o*sDx7VPJ;AAJeU;#R;9a}e|6@~Vd zuxe`b#2V(aYB-Q=4JG&Y+DMRTBQ%0v6*gcWS6T*MoPknmu#s;!S8x~FOfrI3U+FnS zm2yW2=$hCo<00+SdSO4kM|Etv7Ia%EzoTzNiU;V9? zcJS_>4&P3@(_(#L`nT#4MzhVP&Yh&YZJoR~V+|Xv0#130Z`3>h25)!$EXCRdkc@$L zy<%x6ugsm!{4wZ$~e+H`@iH46hI~u*iV!?)xJ0U9q;_%Wtk4w8#SGm zbAR?QU7K&l#eXSpk3R$Y;LbCT~j%G*7e-fd-jIjD*H#ciHt}C7>4z$jzm`WD>)VIH;#mB1ylK5 z{?WQJrINsg+>S{XS(*@Q0|)J4`;SwT1%zC?)%y8M-G!r$VR)uLHr?4@R)>9l&0F>X zLo(>TigUmhL}Jv*@41K9`S#>-lBvn}!%L|*ud+!@Xom5YP7oC*$81BHpwq{O2f_@) zjDn}6miy1m7fJ0-?{m6j9;+{>oFb?W0=?bzxRbW`^>xe6^e*r!JNTKWCf-h--3yh)D|=d#y|!d{ACxGMed!s; zx@&{ysXx>MZd|cnO1OR{V4g56+w}flG57wBdz>ed?&AF6b9QHy!IbV3!HcbFd+UTr z9IuPN<=p$mUU9f@d?VwtK!0H2=K)?sH{XQ$Q$6t#BalH}ev$7Y30J}>2=`SwG3Wa{ zH~!wizssI_?b}zqkFg^<-FX-3d=Y;^0Of0p3gR(h@EPtNz8%w~llD#_CX@tS+3Ws8 zcg1o}cpD~^(Kq@e|Fz{Yf3|9VS?0Ia2QkN z!%Hgit*B{YY`(VN!|Pl3%?w&a3|%WfzA2qr{Y7ydXz{KJ51*}`KXr=tCjO=jZC*~{ zizk8Iz<}RariBOYYD&Gi61^gN7v3s(tKtuA4=U#|xNXQb_aEYo`Q%@!@QcFroc0D= zy~}^&w1RTkpUfIK1`4>#^c$V3V3G*^oEzZ+$bI%BB?-FLT+n7b1n$tOSi-y3CDLk#`s=XTdS>k@gb52NGxuq2|- zeK}H*B%F???4$Wgsn4CSli0@5d`OfIrZ^MBd* z+_uR7%f5T_M&&7|l5)&eI%tM`_#gXT(3kpP-#uzk`3i~gEUxoCzl#22-=TC$mBk}@ z3jeQt522TgW^r&YocR7=-%Dz@H@{`7xBc(@_M2&6b%~rrJZU(sq1N|>dhcKEjXsbc zb4^HWe0r7t+V?)W&&vE|5B6PsKjlW(ZuLL*eX+mx*WV%dic*0w|Ih6)zQ=2o1a(zA zQ{@l#T~&Bx^{c1m&SImM=f>=VeP>W>s5#1V-B{%ssDJ4=5n#xW{Xh9F@e&Ut`~TQ?!v!G1<0UZFl-`1n2N#tj1;zfT zAtgBJk@vssI~0rfA-`2D%5eF~*PMon0-#dONqn1uMr_|6?0YA9H(5RUB|!MidqnsD zvhUOi9FM#o?0d$0Yez_6RxJ{Y68Inco{lDH{%H9cx?67jYn~yz`}Pa zZ~ys@4V%+M@@?Ji`A%8WAwUy=U8G_ZQgw2Ey(0oSadZ@1E@YGgV(s1>JlOZ$e|2MO zz482nPoKGTe+kU^*KXGQ>qqBPw<#tng7`Laa@0os!sxq9Ajp7j_yzb6?2m3DeY0`yx;cUet(v*A1 zYHP1%{lUKbY6LSs+`?x@h`k?*OZbm{HY=jfLRMk@B-w*~clvZsGA%w)+vERP z+Wg?rgMGK^3D}>_o?lJa*uUwAB4OZW!)xx?8DdVG?+m^qZu`FF{sA z!GZ)|V3_T-Ryw`%w-h)QcM%WvJsvMC<%9k5o{yHXRlsymmtyx42a~RXrpJF+|2m9_qYOo>YEr%(n0O*-8(?8hvU(LKuER|^l zI|dK-eKhg;T;Az*ah*8VQ4+eJMVn~5N+#JU2}qjHCa0kF!Y09K(DFZV`XHA^opkePC+MHyki4R$AXq zcCxbAwg83k9*~)Oj`8zJt$apA8YWMtVEL% zI>?rl0~8CkE$(&FA4|Xgro)><04MvZa%4ZE(8#H;`NB%%Z- z+^SckNIkfBoNZEvKyV{ZZRBz|L84l0>(8x~hEF1RpFM>KoVHSSxJo&j>k(`o+x#AlgJbbH z^3*32>$Ke2I7mmaKE`RQt6gwL6#7-L!Pb6Cj>v;v1DW#{zI}I@B@;RCTe`o#XaX#j zfhEY6v1n?V-mYq!4bl&DyxdG7l9f_N zPl+2fVyOJ|3H2XJWp19`hdU#=eJb0yXyrIo#Sa}6DX;l851UsiY?eoU7HS}*;>dOX z8nFvqb{P8K?LY<|jX5yMRrt9B2y^P5^_rcBMjts-n@sk+2kKr!A zbB-EkrdsXvtQ|qTZN8LR*m(^W9wtPawZB^2bnvoRj5~->$ssr;ifz0xr4PVoqgrS5 zmZFEn*yz-AV(SaNFOEZ7f0S6oO$x>eb3>ao)2y|nb+qBO5m=b;Pa!aj&EoM%lxCsx zLaGwymZy>+T$I$x7ma4|%wQ_(hIt{brdTn8mIUCbAK><~3n3>)sf7^{0;#J!M;|6U zWyzfntO=2DXMESbmG@h{O!Wo&EoBx)8ra({0P^61#k&;lSOyW!^IC(053PY6SrWix zE*R9C?VlTlV3`+j_^U{IQo9>V(p}SV*aL|uPSSf{hC%^{^B<$n~q5}GzrczE( zz~j!{@GFAEb3xD+Vk@Msl|&%kijP=@!+Ix-d<&6tfehmfIF3Y;!u>^nA&^|a(V@0e z^Lu=FF!6{z^A=1iB9u5Oh+Tp5aWR~#Jd^}ZAT|vXK*Me&0Q&NpiV^^N6s)=n(YTBx zb8`~243ZS0{4j+uLBk(SA(pyePzyqYE|xYLwwVftN5a*3!YEsirYQ0!#c<1FxOENU z?O&J~5_G|WglT$B$p#~UAa`&0cfH7+h=w&Gs2;+Zi6<2%9pT!Vz~KV#N^|kyi1B_Xm|nzY0f3A zUjlB(gWIHohdpf~>=sE2kD{_f)eDh_%EQ0aAY#z)DoVJj0&&?XQFBfdVQ?^Q5{hO8 zMY$3?Vo$zl55IPG5wD0RgU5n%gCEPwWq83ew_+qvF$LbR33U9IPB^9p(TIYF*~9Hn ziqxra9u)kr8-dLMUk4|uk0gL95+rz&;F=K>Nw}063gU^e6eB@Ynu)hH@MDD}`IUHz z+$37wIFh6UN+tl(UVfVqAdIn0!bwWz{F$(+F2GT6)rHG&8B;88F@q zsgba+UgA59;fk1}OoZfTVctw=aMpxRR+kUyXb)`uCF!jzZb7-&_5)$0B3fil?^B6+a56PWr?FC4Ds;BDa!9 z!W(PDn@s_GRWST9OEQ;6G9T`iBL0LF!IOji>ND+1j&%~Q{iPtHndp%sId*hzVGrEy zWq|}d8?ln_>Rlk@OP&HoI!Y7OTjbg07LtJDXe|ruqe*dlVQkcJ_FmZgX!45Tf`_d@ zf?jfJj1l}_ZQs>MoYzmd1^^cz}1q9T);{R<0;V*y1D~b^dMhPF`i@TOc zR}kDN!mk+%DBzJI!9{OdZ~)CXJdV(TM^N0H(lFq+jhb+gU;;CaGAXx2zvwbD$wGqQ z^3)cb6h;tg`3VUl2=s>1cOAG`d0Hmb+i1 z0=1%GYRitIOx2c>xKJR#?kRxd5CD7xl81yNB<_KzqS;oEMpix2o zs!aj@(uG;T2tS@RV2$AG$Tzh1Awn2oBY&w&W~sl&G=f`jqW#`=GC?^Q0ZGQRHhw`} zfB%3i^F4W*L|Ujj@q2#aI z@0@-U5cMPcFKRR0>Q-~T17Ng*nN{P#^(B^mx8*;${oxeN3}qqmMvHnP0%FVd)Kz+q_z#FwlvM3c3vH{NwFsW zl-fV2%$#5r4ehG_o$5~XFB+(Lz#VUC;X;bAxL5BGyVQBE4?iCPxL@DYpp0QQPMuZ3 zotqV{XVqb$wB3|I0^Hn=blxxHx$W3VT^|~{HgiF8PNY8!V3|L9C@b(mZcV9@?JbhH z)&7mRaC}>W=1R$)O<-m4NEa5cuhbt-V-IWIC4Xl^i&5%rbn4w~!3l3D1-bQin84*O zf}@V`Bb{g?lyPfRJSz@~lW+TxPIOR<9)~0RRY%y2{{U%lF)mXFAI0wp%bG9GU~49W zzgGJGT7sAUkxECxjtPd~!2oDQzilqDqX=EB6YOTU{jWcrdtz_s+%Uv(7{LpHCSgN4 z$-mE2Gr+JkHQ?m5z#rd-)}M`>X^w=#N5Ps+)SPg7OgW65hLXUUJ_Rs{!#lXngXJqS zGQBd21df3%WBKUdOJ8B5w-k*QLs@Vv+z|lv%Gfh!2KSsn)uVBOigCp~*zXybreD$C zEw!Wt%!m>GyP;|5anU9L60|Tu z=^2|YasidJntE3=ia3;%bS)GM(X;JTL{(Sz@Uf+ar99fv|6PupbM)DWWx`%TqZ?#5hcl zfjyWs4-R+*+8{!cf5$j@I1A1t9?Y2sVKnF4_7=do5O>a;ZjH&#+?n5>VGkuKuj_b= z+XC!(T8fF_=fHT|9?Yda3djlXg3bSQBgS!?8x)1t-Vx`RF8pL#f_(vX#ld@qhhL+Y zl)T|k3E;+pNjG4*^$3g|53g6HA)se+bWEeUGXsB2m#*ixkvON8^W z!?bgjD|jC+KI3%{FU>WsP*p5lsjd?xVUsSqX7&)!#?$c+;*r8vC!JYUmRDPz5ah%r zJ{?>Y(cI|HStmKd?~(vs1kmx{6KmWP+tI^wd2qjQt{NTVm}iAuAL4f(;;hoaqv~>_ZX4Wg!C@@{xv!cet zpwWc`$71G;TDYIg!({10yK@=3?Q2vLqe}x3nV; z_R0{)WZbaWIc}CAXdY&{gRcpminIxWM#&{Xf=Zp9J~XuR>e@Mbu*6hF;byD(bneb{ba|4F!M0l^tn9h?vTxlMhI;>rl0DMl2!tYY+`}E-ZH*NQv+&B7b_gGBe z+GNai6J~%IhQT3XF&NHad=DYxGC{R0w?zir+Xfqqtjfkx@xNW49$Ax5WaNloF&tf2 z{K%nOYBMvsp^Sb))}C)TwmA?_%Id44FOjF7EWr!iV|Qawd&qBFGi%4UwTm?i)C#VX z%^&jHltOQbEo-`Xi#O4G3R{xU5{HS_hPuf;;~KXOr4*j2ebX4`KW|yCE6QYl(w?od znp_%Nwnve1>pcxQTB{5d1_c^0T0$gQaZ?m7e>2*~B{L;_x(+>c82_qkEmJ@1sX9U< zNkQ6{tbuWEX0UGBY;>1!S#Ak0Ti~A;>RF(&Ly)d{vhGLsakGh=-F>m!nW=KYup@80 zLdUt4D8Ql{dq;IGWfb1wcYc>k8J$yHi&n2=1`N}KP)&IO*T@WR2`qe_I0*K4Y}ljs zT&o8xr_UUR^KcO=gp&AtU0tBV4AvVnlO@DbpBBh8!`IuzMjoYC>3jMhaI`DAC zksNK)c3y(#bz*av$G>4Y7y%C~KkL;$9+J>kqrn#PzD~PtbTp|mN1b%3Ny+jw+cWSG z#wy_D91VJO_m@W!&Z#g=25I$Rl=8bR(vG=Ze^)W7rt3M8_;6^AR~sWK zPXKHvuWEUYsp!<>=DL(`4+7VmF-SUjavK<@T;b6hU))Acaok%rPa;w(CMJSP%lY}< z$C7oY2XQTvnGpEzP3i&LCAxBe=Bxz9UTY~+IR<~@Vi^3vUy4lYX`d)$M3TBjGJj|k7P<+}kkZGLm7H@5^_rN-!{S;#!C#+T>ov@;ngESQ?1uwUgP8R?^NDuy_ zOSPUnlu1)O`Ms%c+3xfAl78Kgm!LA~@~?0J+qL}~qnxip;Tx?whhp3f}i2kGUTH!ePR zAb;27{FQXq_O%W{w@&rZTDNZfDn9q#t8cf*!WC`)Cw4C{{M&NHF}JQG%8>~kW6TKx zo|7xajc45(5dr7BHbtKgV_l|1w-*o;4PMI(H=^D@M;PzDr|2c<50*Z81y*im2N}C; zfBzlhyHo#G$Zub8KWkU(4~00FX6M1I^T}8jG~g_ks4?I&*H`?$K(h#QpT67GwApiU z(NuVUSN8gl!~$si{4sW~lQ+c1LXLd8S=SaCf?$cl;V9;rGt~(FF_Y7}IfapgiLHk+ z>5z$?%1gl_2*b;sv_MT2V6KgaI@2F=K@JAe#Ghf2i18I7&Ql?V2pCH86vl&6kiw$Z zl%CUG#Z7ZXvN_tLH1jP0Unv=x%``&|#~%fwr)5Eb@YtQSRZ4_`9N*i&5f1GP6f>8f z>HqKss=zX6fAKL1vz3SY^bdlsP~zhENrDHcJjQ`8Vl^XIga|Bo=EK7> zc^gRien>w}N0sCyL|i>EnHRyH&t4)guN@Cc_!_qK#4rsV)_Ck!@v*>URI~3gg*f$K z*7infM)`Ll33^+5g=dXK)H<3ttw%?hHSMdgo!A&#VN&7cs-|iQW}PTwW^7X+?@_Rp zueR4MAWbMcMB<$u@#k$7D1B?s;0zfeOQC03Btc)@uWlVM(qFVi3g`$NWr+ZKE=oZD zkr>gRzK7`AEBu(&Smwb0@+7K5CW%5J<~_~_D$zx`m(5ne@01D^~ z*OZi}v{LV-3wRgk#AD^PV-iV=euQ!;+0|(;+>sVzk8EqG>W`x%hKeOk9si~)3Fm(q zcT#U$;E(Lp_~uUZovOf4&tYl;y+8K-_swIq)R&W!pLO%SmmeD;A|Kuc43-ppcq*fM zI9RI{&k!c{mF5I0-1PdC%=_-m`lV!6=-aCD4DDSJ(^`XRQ9Vp90>*6faOOzd#^dv+ z@P*fqC(u^+$#Owwdu!R4mt$7iKZ~3f99Po9s(*fRQ!${B4B{}JT$s!pZ{HItNgtX% z|K!#ZU~3xw=GB_mJ7}(GshPT?+Nyw{n<1e1WgMI7v}tNuP6yZFWp1A{J!93vf{6#y zSJUHaqQ?4XxbGguW&+vI(hxicegXRO*1nT}ej7LQ$u2M6neFFRg-HZp?+Pme`M%*r zEQE+hse_h?TC+{wh9z|+{4GrWLvEH8Tt#U>giYL@>EVp>`Yo@mH{IUXR?Z>VVD*=S z(L8&XBi2&iT0m^Hvpu7nE(owp=NHe=pt~;kgl2u2H#ai~liBQ@)L-{(SulY)@c5`W zQ;trb%13na5f<`??Z^>!oP|tVY76bA@t=xjyZx-@>1i8*AZ~K4hk2m224UeQo?0)l z#jH05R$}7nB{HY(IbDxmKQU|Wk9bWdF5uISN1HY>VU6`N{*s7Tz0L#5NJcb}cN%S2p(5ZDwcJ)!$j@3~|Da(JK!fFGzv1rqcHr}4b*jSAjWU1AvOGOcA1LjPkYZ7$~4 zkNn~y8VL1%u@2(#te{9_Fe#)F6U#a$GPCRqvzDG-`6G_&edG)^k-u%s@5_hR=IA>w-xKQ0{$BSVD|Rz!K6KxGcTZ zKW6TOW{94;rTHYJE$>YZt&tIlbANpogdP<)IP4fw!Ck)9p{KmPGTaV-k?ly;Y|(hL z)J=@#-z593tm$sAI{^#%n=(lVWBr)TLikb$@E-OD%byt+@ZyrE3A9_ZstkiMP&q%DO&uZMA@izR_F1Wd~jHe2C|!;$6^py$t| zEt0Wc!$4x|VD9lq8;J;EKv^vcWGy6<0t2bS+VvlWS|3V%Se6dxMp^){YXG4ZhvDd9 zJex#p<$jiz5+F4vNB~cSp$7hAluRZJ#IGPL>ln{ zQ5j_hj`#|WurZ0YW|tF4#$1t9GLloPzT*+{xl8O8yD^OK8AcGy`_5;c-1M;8GrJe4m+QPL*L0-q=hteug zXkmN#<9qubx$doS_g%1W7(sxAVuce!083n2KPrzl&V0J1 z+Mk{ut<-^3ibaANO=5pHD4+BwjSfe$4WnwFsZ^7y>_b$>75XEW`^N1RI{WFRFO@r+ zxs?{NEy;b?k)H%hj8q(Z9(ycgdk~QoRH$n@Zbc!-N#I<4v z*$eftp~Ee5Ixy)%1JeZb6VEybrUw>p@g5^V%l*h%r>MEu!H-+*R)CHeBxofJGW2Y4 zF-=v!A23h}R`3`|R_F^(RQc2mD4hpu=Bs@e#ydP6#PRKDTL(WD>Ppp6@0N)&qa2Dy z%bwssGV;|I-1<`v!|lOQY+LGS&%lozQbLz^a6!$9Z(YIAXWJ^%?jAQZ3V>G%^ig!AlK3E?c zqWEw}3~-~A!=p3aU8@ipohFuizyl4(gMgROSH#6)a2K<*A~ zr#kWRaLmS*R-He}-ZRSZ3~Y{`jN#E^(v8}0m~7wHN-ow#^Gw8Tg`04KJp-bkq7XBF z{Z2#OcnkfM;c+p4{g7e(C#n#Is;Tytskmi*H08+U>C~wT)U^r~%xcieYY=Czj@gkg zKzmO|qYR>OY2(7dR*jGdXPrp0>G;N}kLA<#lruqq>5rGwk;~H`7HFaez_Ff?@D80% zar&uf{SU=cX&V{o9pF^asEj?ZpbErI6=ES8I5~#$`TOpJa`bQFH#HMhO-sA8Tgg!8)x0G$*r4nq*o$7BfM}c{5W;+Gmq$s`(fV z6GVZQMwlV$aN>i+Lgcd1uqjOsZj@vkL|Qk>nPuVqz)T9-INx(@Y9bvogbNvDg|yR| z25T%p0-`u&Az$wns({*m0-~C$z{TSx!ONxzhstc8W({!DSc%2Xs>LUCsFgj`Hm>1h zICyJg@t1?~N3d35)#AXNeroe#tbx|2L$mWZ>NZ=*<%HIivtbBIBQ;0kL(TA~?%_Mr zjMEO?n<^CSY$=n|EbekB5jLF4K8*XC1~+iNaRCJih-$}KO0*b?_f|*SFA}oR5Q4O< zdFEn=)l*R;AR_(sa1d2sRFSFW&!~k9vY}Y^Av9|6M7Di>eZU<@c6ojfJ#0?@mU;?T zOZ^$h>TbXSsg}V$0?@;s_P46mv>ZhaJ<5uyJ6)}fS{-2=!%zpta0ysX2gC`pTDAkM z1@F@fJqXu1&07unUKM5#1roSTERJ8UiLuc<{-i)zio&aok>;`~l(cSVHxkW?IrFsn z$+X@oVe;6(`Wx6xnT_TZNHKc?wV@kZcDMe!2dEYiJ%by?TNs@$W82W9T=H=(vU#D( z-o`K@oh~azztG|vxW{yprr|Tb3DH#R@|xu)jk;Nkbtl*&5Ni2Qo#rArBckjEQBHx; zDfyc%BVljOmt+U^YZX9MXRrTghU&hL!Z<^4%y+{=Zh+ut}MB2aKdxRz5{s96OKcwd>&OR9jVMR-17rr}T%VB*I5KsR2l2Q0i5)#|XeGdToD@Suu zc+B$f(%>qXbm}-xv92W;xdl4;H{FP7>~ZI_BMw}4?>;)_wRch9fOc%(b@?_nOM zQ((5@)_;l(7DZ6DMAx&ZNH+2F6b&Tvi)@cecU}3q8y|q2Sx{;DlfYz??^@w*Hho1PY+8r{!3mTYcBAwUm&?5 z!BdPrPrZ}2ynwS5;X_gHrgAWDLEdV_xAy#zs5xkan|$iH_UZD4PCj}OE(Z--p4~Bj}lqkdHm)#@puJU8};1;?FyLj z4*m${mq#9HD)=f;`_TLiv6S*_I>^a6xV;2E9`0g7Fx=sX_>BqXc=6nhH)VfI-DgxN zDl6K2Diq@3jyGBKnhiyY`4Ut(m9V#T!8VThyRuZ^g7W>l5lMbgm~OtcX;(PpwYEi3 z;2{y%>Rb`JdSW_xZb|2My7fYSb-{FXSh?;*b({o!!JHkkR! z0Xn;V@_0B$ir9?mf91EjMwJ}n#ad~lYl3G_CVxESx1W2|rKTS8TgQ3X^JlY_j#D81 zzH`p`5=C@-$(swV#RlxF+_9Yt7c~$P55eW+U4(9nroi}R<{%&P+vLZBIy}M8H~aDM z>>u*mccz0m^4wyF=>O!msZWH;udB@7l-rG!?rBx;%{!{^?C;$O$}BcVT8GQu3b`+J ze&Dlv((v+hD=k~O?9aQ}v)x&U_0s-lwzGrPt^`8$``hmQt*Kv;Px3@>6F1k!%FN&W zxw|D+-a0tQX8nJ9Y9p2S}i=*D6Wm@M%u6l;`-z zN7B0&*{P4Ec_P!!&L}xE(C-Z$Lb=%9ICyA^Cos!D(Y!LxHmp$3%P|WcLq9i9eHxi( zYp{#S&Ho-|XjkAueV$YJ9r%^IIQ%VLtv}w}%Ua8TO*5wOkn4Km(ujNNin16_?3(hK zf=I`T6qWZMWm36iYO8YCcVeo?>+|?(6+Kp5Jd>jyx$2l^t}qnTHXM=z8xN&p8rxd@ zkWJm#<^nBLYlUu3sK3`g;e#Npm4Z=vd9teU2I{2tS?TSnj#4>Vp)RnF=`SZvI}0J} zZ{ce7J>z!to=(P@Ax&@g3}Vyj4mYRLB!4^Nv<$STTKsW1*kt(Gc_SXH+kc-rMfw<| zh0{D-#$McNyCkmAFiOgTlZ!6fHEpx&w+pQuV;GOA8&8d5{A;6{SLh`s5-mbc^Gmk@pI1leh5?$AV|J!H& z8Ml53XBHPPW*z3Ov$&d;p_!KFrreb}RV!|#{$1Y$Mwl*4tUe2IbOe_AcYkMpv?lXZ z2_Vd|7#%1zyc(;N-@B<7vvwJsrb=R*oMmtNX2*1+SPpgTlWJU5svgv~Z^&jD93ogr zLiM)s#;ND0)*VxSc<5)v?2?|Fi~8THRI4Eo+<=cO$LFuC6m(iS(n|hLVOZ0egju;%S#6}q&iq$-Te9N(0_}bx5jAx*s12#BV-AUq=uLRR&f4bSI72-ly5Z+N7E;-mC(Qk+@w`Ke2SUuL#)$00#R|QB~Ii8+Y?yAXj18CFc4Cbph(al@##n$#;+DVLBv9- zlyLNy|1Ao^%aJ{8VUEf@a$$gP=Tkk`tfF+`+*L!kFgVy?(e-_b7wXBJbu&N}eo;u1 zlyI5cW~~gx^y0v$c**SVQLnJBs#WGR(!CO$isy_F*wywV(Khz%v@`LK)5zygWo>MC zf(XWm$`2umocR+_H5E)7F={T0)%18z?Y^EW#R?ou__Y?wubG~3&q2b@m8wdonGtor zON%2m3e}~bj~}97XB(K(d0d~7HPZPg$jAjoensb?hlPv#7*B(c-N2R+MNdJ;t0Mh| zs@{&XOjl?^^hxkyv<(*Sg6x5-0>Ogxmzs)Q?|SGynf*|iBf0_cBXQO$= zV?kJfg_=2KvC+}d9bbWHA9B}&zw%qzYo>TG`m^(E&zX$%5+&J0KX|6x5JkZd;#)_j zDE|r0r4dqWyhs4JSA_%<4Dr3k!ezJJhW&j*`Bf2xV)hY&n#!kJ>q$bZxgr6S>$)1@ z0qjOGNg%tnNZ{NdE9vrkfhUiEVd&1<_`7&hjuC@8_owVC%@fA60F!i26bm6@2dX(t z!WC=CH!kFZZ)jm*c-_%RIROw#TYQIXkmjzBbAG1golqBZjUev3BI7zPls=U6p@ zTuvED5tYoe1asS&o$|(zIV1&rX2D@mjaTr- zV9$btp7*!*fx+M0j5+3*d1AR2dY=Z;ReC5sc$yGa(b?@5A9GM!>8;T+ty1bg*_P9W zC{y#^Wk@S=em2ziXZ}%~^_at9M41ebcar`|zz+O{pH7&W79J`57VDiPn?q}W{lQdS z%pwW2SWnUjvO(F>@DzCnU2yEdUohseX^HP>!?3$CrQUFFI0opQo2L8KGjK3CPWAJV zi!o53z6j85z0v7$kInwZ9TwiH*DyX7!Aid>JL?SP{lZ#KTf~O>axqBt=}#ddn2j`0 zqaW8!IV$<&t@ep*G(Nd#NMlvMq;UY6Lfli%d4z64HdZu~&9{JX>p|59pd(_-6#Mjz z=VVK#he!NrJrNT}jk)Q23zg+0m?<%(vf4~YIqBiO{o&h7xVU=@z8rXMiccMZB8DRE zk8=+p8aU#T8PTakG-G?J@iVKQ83{|?99qm1{RfI^f4cTcdRI>Ki+)WaQT9rMHe^<-wjAnAjWCKLWN59U<$hNjEfP2BD^Y%0?ufZt#bf zv63-=<1+1bgwE|9qAZ#t8%c^n(L9Zxj3d8|gB-r?{ys_T`wqgb2RLIbZ&6HVdzsQZ zh>{B(LF!bb*)tBZj|SpZygkOkj|Y5Xthd_7**uKlRpR~S6+d%rm#$NZCS*^K6t~Iq zi!$NFoiWuAcLq6dl|U8Jxo1i=IaMz-Pq?CU%~N+p@Q0HI&8~SupE6B zBO9}a)1_A^8t!5>XExPzAm{_w5ssz_hY-oBitM9B(t)tZRam}e(2=!zC-I;8AF6m2 zI;<7Yb)r;S6iW^4dqOeyV;D)V5rq{Sc2gFm=B6rb6ya~Mc-4mT_BRqTm}MC2na&sG zxlv#DvOp*{KRN2N!|+_QD$~8{zW;`r>^F+-jVE}czvNK+YkHUI!(6*)5p-EB8zXe$ zl?U+#nGk>se*?~0u4`JUGDk>pq(ZQuuQQOxLIxYKrBuEBA@&_DBFL&rRH-Spp{LD6 zz>m5TVuTufT)V@->Y&*58fYPD*Z?i8FTFxR7zHwA)7w|&egsacUhQE+K?&Yt_|V?< zvq$mlI>#&f_@C6)p`C27hJ12Tei)-ll`170u%>h>jNPE_i_#GXOu6Wq4XscD>#{^^ z_n~#}vBVEhe}i;Xbx|WsD8}S%z1D4I@bk@+?@-QBIfD0$^kC@*#&I^Z?049h8O#_2 zH(ANnqonjoCi_FgWyGkuG-)}N!nRDtWuUOFgtpTrM~l*JYEu>uh{Y&#qfI`cKjb@L zv4g+TMv0{Es4!YjEjmE!o*O9a$a|nCSU(pp!gLkc^$^^!?J9)3W>*-?EgRUbrAmd? zaViW$K+(!&2;1)T0Dr(savVc@zbV)6<%XMXYv0aJ2wD>8S~zjXNN}QdtBalJb__T< zc^qN6ccZyf;1s+VGXt2?-^w*&Y>K)~WkIazV@tJo0vBm)7SAzmt7>n@7{$6RrDv@0 z+jUBV6e39{)l+WxX|;B5EmUFaigp~RYzifMDoc)XiK-PRK^xZ;f1ZFEs=!6STS^0^ z8(E1L%m8YQ@E-hqXjBxfx@g_J59;|C8ueW(zzUm^9F`=GS$NBN zV7edufo@N&iPzxBM(uQ8L%Z&!G~6h5L&?3?bbs_ne{1PPEnfFMa<~SD;4y+cJe>(W z1cQ$*wt)#+NgSD+7~|5g2YNN;SrMb?&huOmOZ*gqWp!vRB5ycum4^7S`eTf7-0|Jj! zfbl>q)_FkaPk<>_Z@3#lJd&1jNVqr`5Co;>jr8VY7OhHFS8&xU#xy|jz>SJO7T&-j zs-p?`qph1^A`SpCu&Nm4!;Z0NF$d+6LNGQFO}qYkME(%=07!0vMY9Y`ZeRp^bxVDr z-XL<@pIks~KUxH$DyAF_g{g{)HfioN=8VwE^C}NI!XB4lH(o*EPez(cd)DVw5h1U^m)Cf+a6U z5PFe6QWvR{VK@#j3SQ3@&~TD?OoD;h))(+PJ9?`I)BME|B^D18KjPP8Qe9HC67@#! z$AVX^P#$U)M**=?@vf>0ZYpKM5BL7y3H}}ni%@%Zn0vGm02V``GpIB5c_V3#K+aKP zKwed#V21v7?Z@B0)hSiKKSKZfZ6S$5ABMwzhJ#-kpc|#ZN)ABLsz|*2Di6+K(kg&x z)ru}r9^|Oyb2#iW7$sWAm&No)9UzK;{Z@B~UV0e=dIkj!Va;8SJsMI4mVLQuDO1A} zRo@@Ih(%vo9SdUk?w5t!Hu zrO4>1Mj5Z3{Dtb_byA(cnotIUm&*7MYPa6%Mq=B+XiAHf`xidOW*`J{faZ zvB6;1b)Ni@)N1vEqa;HQB;jR#YPWv7yl3CK!HO1O zeVRORbw4d_|GNP{7+BIseO22HtX_oDGX$GR%$PEq0RmAfhWTP%FwL^7~e`+t3@%Xa6 zI?C)vhx)+T$90SpTtVtQ0BvqT?^Nll$$JisJfEZOhLxSGwg$j@yV>izO)0w7hXP# zOCtRY1ASaBR8ONEID}tdumb-j`)Z*S*U$YU!0?E*U@cUTDjF{u9JDv%Z2`vVmqOU| zc)J~|Ut&cnpIs#uBF2@+caFPSy z+AWCQzz_QYlOK9iWQS2oup}%hNyf_;l|icB&4`K1(Scr72Y{C<>O2*dIGUF#gHm)4 zf=XhbG3uy{#-4LJ)i?^67?E5?e|tibl$e5?Walr9IoZz&|1|bhab}|88Bh<5`sn@+ zfgj%Z*D9i?m&!*?BI`j=#LH>Ht4}5FqBAOz%AM*uYbPiHTB7e#YwKj$q{4a4l&VR)5IS=Ca96&$d|94jn zM`PWw{h#itvXR99isLgj->0%Zh~vK=b4)&z=S?K*+aJpFAhVHT4T`FnLRnwUf%=Zx zC(#NK1i$F~>hufYY5X4b$DgVr5~V%Nv&$O(Tb^H=>S|niZSzJrvjMT*5J9ec?YnKH zzff=cUva!=R9n&NBmeAk&Tm?t)dpQ!y{)#bL1!(SNuM&F$)4yW zFihd>WX~TtN+MV6>$AVCniZB@#Ob@%@lc+>;JUF7gm%`+~ z{)3C4D0pu?mex(nE0nc{&TOhto z3N`zrd4@3agFT+BdzmazM;D(yTVC_Q9&da&p&uz7j_+udZ#GGm1}VI<$R`edu*W<9 z=Gs+r|M0TL&eapX=KYaf5oMaOHaImokD9#0bdqas-iw>EZtnAWAzKkCxCJdZhd zKPNqao+i&NmY?4)>yxQVT5am#KGGA8>B2KESopui@qdGtOkKi#$scO}6-VujlHa~` z=)!Mujs8a*Z=PiSAdYVoa-0WIdv+uVH41WZm-!8Wk91pw`*BUNw1Jqa>a zuG61?{v(cW9f}%~co4^v&Ug)SwMr-x@KLgYSbz0doB(leC5M!_{66cj3L&)(M@eg2 zBk|}&u(j#VNET+5*hSvYkJOM=E^KVZI&pUo;0U_po}7CcMQGFTvZh0Jb7$gR&ek5Quk z5y$Ummp+K&YeH7NChd52FARC2CL|qqjZS|wNwPnRT zi&G&!Y>nQDE(ga1J*F2Y^OJqHj$Npn*KK3FdHf$O{1Pi|0P2z`A?nIBVkg&(=U-PcEf=o5PsUh`g4je> zz(0dM+Kb*PH*vDKWA|aD92Hbfy#zMPKrQya`X`xeuK|RQ6Nw^Q36YQ5Up03+{}p%5 zF7~HN>z=Zg(;lJK?njbk>A#FWn}KPd3i{J8p5`h~Mm zD#q04DgQWIBISdWdS8PBS2dmeQ^oTecIB}F0o^HrjzpEkCKwN5{!EA{ruNuD+b0SzqWQW2w|c|5{J>xl!+ui!?CvSi z#_+fA*XKP$#KK;1Wz`M(i{8PVrTa_1E=#~LFxOI(48jT`yR{)dfeb5jK8WRUK-IiN zuY<;awoVlE48R3}3UfbO&r1Raj$=e%8xM7My(PS}E|LGKvv0MlnJx7%bNye%b=k{d zNUApq$+|&+g*8GM;2kS4v+=)r>roHAb#O?9-EaEh#HTZx)cuza<@vT`C+#izZw?`1$zayD`~UEP8clr8SYY6iM?!LAYoPm=C{8a*<`B%CIAqvO5Y#90%c>vMwn=j^` zAjGpfP^CrVVokx-?qUG=_iAp%GApWmq=TAzm%eXp>KGGR8N)V^#hllX+U`hYBC=!qC;kt8rVNta3HQ=o8-LFF* z`@SXO6Xct%yC|c&5Y}=Cg108!NkF@3VKH2a1*gKxAWoSIV=C2Vt$d<7v9bm}I2#f1 za4{k*UVm95U4J43(O|6FNW`T2b-ri9PTu>rnuPQ3ov)6IPk$)eQpqXruBC4X4T`jt z8!`HCBg$R9c<*y};7IhK5AxX!OI+EdlB2FKBB_{771PmZDE3D&V(62MQ?If^^RG(7 zSIgPd6Q!7q7h!3ScQBE?$~Gr)NI?KKMsK{5@6~A+Pv}u~s)T^MCFEIU*fJ(x3aa^b z9|^IVRY>!#S}F z*7#>X{V+QnK7faK-WMtU4|qtuOzl75AtT;THF}krulWD+{dacaa`ykv>=YM3{NVjG z%d`LZ03MRIU+MPVnv%Kg07c9wwPL8qv10JHzj|?rkTzbWExl>CUk#|Y+JqX9dc_ZczTirT8 z(WA>UcCveQwph;Gpz>H&t54-|u~1&NNbWIS`$%4^5!+}%9Gv(h_7D48X$OmS?5T3+ zIp8!3P(5e5)OXXW)YQn!&3G*nvx;;9#mS|NyEEsVJX-03>fE4T%g-}yYFt=zVdvC3 zqI8#^v_!5KT=t3w9h7GTBYo)D3te$Ew?bJT)fZ8CAKGUq4nhnavm-`$_p5%jxmZw) zoo;3*jwy5Gl^PoGyN04xWNTc9oy`qI(2?`G1sMhyxx*&h+(+B4y0n#bnskzF)OA*$ zG#m3h!gpaf;%C8MQVnnfj_Pt#cX@S+3$X>uJ|=25Iq%gaW+@J*W4qOTRdM@SpI?xb z{A3X2-(0n$+vnl*ji~yGn6(&#+rUbRg}Z}|jeWM5)ms69cP<~?zS52JF1DC#JxcN( zxwn%}6V*Q05-`DeB3L()(FMs-EU~HM5O&J)daCVvE5%V`mO4L#(=>)!C-25s%h@WEPbGb=ti3W1^f-PX)e87SQQ@ zTljb!d$%>0$o7k>R0rAIoo1hvlA&lQVk|Z1JB^v>UZZE5&Rz{0H%M* z&!X%by{aCo^@EP9iXfE^ht_^X1L5M!twGHFwa21vRij4MztpO|S^0PE^_Z#MBnldQ z-A~6VOb0AMNy&MW*GD~n?r)CAMKHIgOI}L1JJl>!DB0IIEo$#&zpJ5TC>8WZ$ndn+ z`Kgynf5Rq_clc>w9>g$#`CODpUm1=J0*Vb4g~x~+gUAs0nggmbk3S&4FLRSrm`Ix{9CN<4QxISj2yO8g>bm-8dX#`VNlMa4vf=sIQUsV!$m z`zVsKEOYW|Q~jtnLyI4qS(z8W!Gu5AblM6AO_tN%vjKL}y*T5y@qk4jEwlU43=Hj# z@v>~XWiXI=%=WoPRRWnYe+&TIW=NU2Ub{h5A`Wz-@*@1@gpNK}?#jZ363j)5cQ+Gg z$E(blyfu84S;wtOYP(-U>GlQLhSoCI7*{j~nH%IZRSOp(m64aJ(zS)D} ztx$T9L^7=sq4Z)3XUgf%>JT~&`k1($50PJQiw@RelC+Om{1orQ@PnV-7IvDWcNP#g~I^XT4@|{=z*Lx z>j^TL?6CLrw!dvL@Zwtx8e{L_^uW{QvNNy)$ut!#3LD5Ze*bl^*Jj8h6clE!pX1)1 zV_@sy-#q`ls=eo(`c8}UyPwNz*)&|V&3N#F3hNmXnjw`t5mZdWD*2F12`Jyot8AKV zQH3*~NX^Ngg~%5FiRsWu3Mw`PYcq4(SA-bHHCXFe;+8IL+n+9vSi%8@1JCUtx{cN+ zcDIQ8@3Ii?Skc6-dOPOI)a4ey zNmqhKMrG}t`2}V|1Lrt%=Z)Qu^bU@*UlUBS29D9ZtZdFCo$z=Cd%*accT|Jkz<~j} zh||BK*OBe&D54A{tE!K*WT&wBTXR`Av&k=b9*IAjG6Mbnie;z9$8r4yB-^a8K2yb` zAsLE^a=vCmakrJbCGWs~<}Xk~aY1-C1;*-uoKJdBp>|9eW=rO*Jtl}E%f_Gg%zbZt zJzvz5wMKrR?Ps$s!Rz4q>xxXaU%Qrs@OZETfN1`7 zbCB9+q=)10UPAT_%Z%rMzkhVFvb5ZTkAII|+hfdfM+j+@m zk>KNe=2AgMB%d6B&8`-(Rbn(@W#oEgD(l$fLA4}r~qwU4E+((PpX_s-z<>U!JwnAG+ykbOW|60kEz)s15d>%|!?W9~0MzPrEp7;&3qM{q|I30jWu*TbdJ zBaMm#GPjcObZTuFlW!kG@~K0<$w0OP!}0aQF?vD0dEqNgo)}iG*R3=^AW@_U3W~Zg zk@2voi!kz&upQiR=H3v{Fey7CDj+b5Lq8ZB7}CG=!t`kfEp2#H84^p30H+)oyA&vX z@#5!G0Iq0MkbcxyRkTBF80#e|;W#KfE`$LA;fzF)4ijLNqxNe<3<9GK^P^4n$e%sdNVR4iZyykBl~6j-|?w_gaqr$`ki2DAt-65{Rjb!#V+C zSQD}kkaXT~y~rTuUT@bR8m^!~R4-X&9>k~DlUO}2g*F^}m>`=r0e3#}d45Rm9*T`N zhNCq$nl_Pam|G zcx(xq@d;hyDP5+dvUrJwVqu0Ey6@t>l_moBoRV?LK-0a+SLvi%cu95$h)!Kh>oI8$ zYy5E?nNUo;nQ5Apb5LM!8YZ1o_?Xl@5;DD?*4B#(;n6x{C2+$yr?Z)n&2^>|xg@SF z$M1|2Y+jO@C_|_YG9_&w)EcR~moZ`EAmXJ|=i^lQmt;z1DMNMfrh#c2Jh3c#*&s4( z%CFhNliAdCAQnij#LHOXrHr1)tcAL)r+kpldqDHa^u+kYb(w6tE7CZd45|Yxr+NrE zUslLO3KJcHu|~>Y(>zEU(M!5ylBFCKK8U*ugct&PAQS0mBv7$J>LG;{SET=xNn{de zNRI({-t>EF)L~;%za0H}=~D4GupVTfBpIaSW)Lw}h$;jp3xb1z5MWsI0?3f*S7dFI zIjei|bXR%A>Dh{9MZ_7oT2~-UI>EauQdL$6`ij&Ub4)bBM>F-NIJ7%QS)*wEGB0jD z^CF#e@rpFFwP>K=6$XO!#g=@T)h|a$dI_MC7fMq)eRU*iAS)Y_ym&DwJ%z3(ur-x8W(`&Y zKJyA$q6!Z4NuiW!Cc9=b0eyx^Vg>YCIgxU6@) zGENiXFj=6&4|y?#E3i@l0#*&lLC|yrE$Ov+niT#{m3X!_3>o#aZ}R;2<4ZLmv%C%7 z!Buq)uW-pq%GZId^o^0oM!6}}EA!;X4ap0WbyK_vRad0wzADTR&g+Jz#Nj6W;4)NR zS%h4MAU|ZdFB3$Tg>!-n1`?)tvy2}!$02Jh>SJo-{Yk$zVu@u`tYj}twQS}mc=Dxh zr#GD@(tryaU8hQHor~c0xwHA%*z?Ka_z7CQ8CX6g_zbj!jU}tgfm?-TqLazDbuBFu z)gD)*hrOP-Lv2joXjm*Var+uMF-ghzVj0GL)dUT3`SJer{oW5w&=6=@Awjz`Z~F~D z8IKl(?rXeIe>hBw?we^H`m&R=uz+Ab5vw0{$Qy?lg7?UFrEf%kc$s#8K<3rEGsubn$^}V5v7~YYY0D5gx@au29t^8Ko>q?s64$gYkNaz&v=)l*pqrmC z6)e!+>D(K`RzOS^m$;nLlb2|%0csK@aNzB`ZAk2K^0yY~%Kb)jz>2)+dn5QQOwT3` z8`;JAvkQdZ-N-;|bJ%Bw*DbId1}R5H(e%C%@Gt1=_nyy6Xw3V-2Z_w{XV{PW?i3!y z({8mNHkQ_?$7SAWVC$LYsF{JP3z*-0m!9o9qyg$=^lVH%`XkEr( z|KRGkLAR590^4p$-j?Kv_AZ&^53Ue{{&%;H)L#*v*kYa|h<8@9kle4{Mm>W^{X+p8 zNqo3&M>U>cef&oaLBGzC33bCkVu>t=!`S8CoT0}z1M#L42{2NqA*h!AG37{c*b~NG~PEn9JWdfasRqGq;87W>Q0WXIm*tB3Gm2hZ<;dJIWoe+VBOKG*8`tG${s zdI%q6n(fvI3+9QZexWjlQ?6m0BnhIM;x38MshTA+Oa|L#W{dxU=s`d~nw z0zuv@BeApWx`F{>Tdz}Dyix?O_;;rMH}x0-yzBQnD6P;bqUJK4{omB%{%((D5KXyB zm9yj*&Q!!dwdU*YldXv?fu*+z7uCk8oO;;Xi23S``W&|(A0Es3?&Vb&Vz7m8{my?s zgbz=S*B<#D7}n?U3=R(7ZT-?nD%HI2yV|_K<}Gu(dMjh;e?Kp?9tGN^VGh+li(`r; zGO4pd-oUx6qxQ`9Z39Uh@p4d@Fz3wxS`|Dh|1Ua0n@JNfb(@Bq{CHa_oz+3>p-h|m zTW;d1G>mbS_s*Ol{cm_S4F$>GD+);GpuYAbO*~+MMhCao* z@Vl0m(~1qFHNCC)4kD8^9S&-9gUKeqm`MG@dPXU_gBn7EL%zCPehj1$^t{;hu({hH zo3Ame-DMrtD$e$^l>ksS)RsX6z@weXO%!OsFtVn1;(kTe)eNlc9jdgFOv6aVcLB;I z+o@W@5RB~bQJ)RtoM$~Qg5eKz|5=ex^ec97L(e)ttMHrqOo0d8Lvlw;$8ib$pOJYr zH;<&~?+okRxY!K8dw`_cEo?WmnbG4n?yDmbhcAG!lh3pnevJ@Xe5*whU-vn@zX^A1 z8e?Rr`1e8K-)$RPUsX{%#WPBeQ>AB}&(^$?>T)MP>!}N!Eg1cWdTi>{EVbAqm9pY5 zL37I2CKoF2{ZW3}Hh#sm(gVT8LMVy#3BllT3JlQOocJF48nfBsU1dqr>s?3XdASkK zQz9FXDD(SrV;x(uI^^TYtPEH7K&4)fOzBz&;{)~hdjHY1{^Yk>48<5xldo9xTFba1 zkcMJiY#59LbR^MYszd?uspg+`@X<70w+#0EJZ1So*Kgt3H#`7CfK#{Q3;Rgm` zy-m-GadB`CRXo*C8KmnM(O&ju#9(>vp<=tf^pydmLiKJ{$+#jwoEG7 zS)RZo0B5){tx%(uEWK9$%HJ=|j``HpGP`i(_&5aDiF32(71b|iCwhbB2 zj%;UQg?%HWqMwjAz6mQOa<1Zfyr*s7M_@8^>LuTN@MQXuEIkO-&a#2!Sh|8+ZzTn@ zWQrC|ziM;*p4>E*7p-P5x|IICscKxA*xja(0i)cbEP1#2B#wT1IyJB(O!<$qlPT5f zmXR)~;HK%z5A*B4e+L#R#M0VuEDztu;d}{m;-~pWfSFSn$a(DLRJrm!zPh{1K4m|= zlCA{?4(xp=@8Yh9^_ds*OCWbRJ?GyMGXBp-XlhjUqAz%buJKB|;h70|B9&$$}i+jUnrF>aR$Tab}`fNqQWb>hi zO84ML895nz!Phfz2uu%>bNGO(;S40VUIGz!ik=VGZtgMPdw2g*Nu5O|b{9KH&=t}d z`%o}4?3Uar4d`Fx8LnN3{keI}T#gD^es&x!B0p!C_RFl}`&qkYM`h07rxj8KvKNZ7 zBP=COfw*NrvmdvZFRygGhC&`6IYbOYa?{Qim#WY3+dQ8aTx+Zl4ovDqJQ|@9_Sf@W z*(p0Go%|9wJLYZ~=v$#4P+RLYv*Z&Dj5yizy3dqG8i*1(|Iz1kma1kj=8wN!ir8$Oe8pjy4A|J;)Df7BcN=I(dc-g399W3G3jr+J_ z(?VnwF^eAKl27048h`@B1f`!V?c1df#ZZjy>xV%}%(;ez2IVfn=R_=Tn=_ZaY6b zd*NN1kX-jsr^wOqIK+NjU5^(mE|vu8=#K0C%|CI#I7Vp9h2-3(Mb@?2(RK7`c-WU@ zxj4fJJs=Ojk8v+Dm<_0r4yw2$eI*g?7GOb*7iU0~T()Qv%x#~^Yd>3;Jcr|fl(uF8 z=r^CcGVBq|FQS4^h%rM5vY`0Z3lEO~JN@T`5yq+I*!B`q_TAp3>8z3UyH54g8P?Qk z(>tz8V?Jf3G}pa^qCtFD3u5l7(O5Xff>Op|i%&;#toZA#E^G)v`{`tK9#PWHs4qB9 zJZ{k#TAJ&Lw7cF|Z{x)E2}|QHY|-b0raLxKRJKBVkqtJs6uI_~)G}s_o#VJ2qT4e1 zP2G|M96&g!^A1laoR zRW&^Sud#L0T&}$_e!?5;OFUZnD+mWph({odTPmayrh_Y`L(ruc<8L?~V@qjfZMS2X z0|7QIh6?AWrQ(ydW~xz27SI?KXn@tLs_++$bfjW*Cj1R)&y5E)3fEvDqjhy7(c*ec zeW7ncu~^+hqG$lmh6SF2d%e~Fn7xvI{wluO@KLpG9G~uUf0J1r0{0wRQ(#$*>yccSUDlibpwrDs*LQxNliXHF#uh=#QQ$UOT-*s|M3t?a!bs>% z606PI9Q0MF2)6k0(%zJ>RTxdvWmaw}GNYl4RqD;0`g{b%>ys5bMu2^Eepq?=Yx3x= zsFG3+rHao`3_yhyMTk)bVU(*Wj8%S^sYG#BJz#lTy#em6COKqfqYjqJoTAfTtFknd z*iUOXj8r(lTF*4gY0j#x%>lT2q!sB|>gFXEeri7q6gAJp-1;PHqm?cxs;MrF;V&RS z48RB}S&#Iq4I%(&m(`vfmp%_Jc0|jK8`LrU6RWq!!`L+B9Fx}fHDs++Ur&Oz9O{Fn z9x%iizq08N*Y)41!`itT=&@uP>6{GegPwQ~yxSu+I?uv!NpW)M{O oC#RH$EF7u=`r9NnT9FNH>~55KBc%M(q+p-`j|CYJ2$28(0FhfgfdBvi literal 0 HcmV?d00001 diff --git a/docs/teachertool/catalog.json b/docs/teachertool/catalog.json index 12481b5a0..2dfb2f16a 100644 --- a/docs/teachertool/catalog.json +++ b/docs/teachertool/catalog.json @@ -3,7 +3,7 @@ { "id": "35610CA0-38F8-4CCE-BAB9-99593DB3358A", "use": "responds_to_events", - "template": "Responds to at least ${count} different events", + "template": "Responds to at least ${count} different event(s)", "description": "At least the specified number of event blocks are present.", "docPath": "/teachertool", "maxCount": 1, @@ -38,7 +38,7 @@ { "id": "2CA4A5DA-4690-4514-97F5-2FE145AB3A59", "use": "uses_led_coordinates", - "template": "Uses LED coordinates at least ${count} times", + "template": "Uses LED coordinates at least ${count} time(s)", "description": "Uses blocks with LED coordinate inputs at least the specified number of times.", "docPath": "/teachertool", "maxCount": 1, diff --git a/editor/flash.ts b/editor/flash.ts index b1c37aaa6..705f71cca 100644 --- a/editor/flash.ts +++ b/editor/flash.ts @@ -6,6 +6,8 @@ const dataAddr = 0x20002000; const stackAddr = 0x20001000; const FULL_FLASH_TIMEOUT = 100000; // 100s const PARTIAL_FLASH_TIMEOUT = 60000; // 60s +const CONNECTION_CHECK_TIMEOUT = 2000; // 2s +const RETRY_DAP_CMD_TIMEOUT = 50; // .05s const flashPageBIN = new Uint32Array([ 0xbe00be00, // bkpt - LR is set to this @@ -270,7 +272,7 @@ class DAPWrapper implements pxt.packetio.PacketIOWrapper { private async getBaudRate() { const readSerialSettings = new Uint8Array([0x81]) // get serial settings const serialSettings = await this.dapCmd(readSerialSettings) - const baud = (serialSettings[4] << 24)+ (serialSettings[3] << 16) + (serialSettings[2] << 8) + serialSettings[1] + const baud = (serialSettings[4] << 24) + (serialSettings[3] << 16) + (serialSettings[2] << 8) + serialSettings[1] return baud } @@ -334,7 +336,7 @@ class DAPWrapper implements pxt.packetio.PacketIOWrapper { await this.setBaudRate() // only init after setting baud rate, in case we got reset await this.cortexM.init() - if (resetOnConnection){ + if (resetOnConnection) { log(`reset cortex`) await this.cortexM.reset(true) } @@ -351,12 +353,20 @@ class DAPWrapper implements pxt.packetio.PacketIOWrapper { } private async clearCommandsAsync() { - // before calling into dapjs, push through a few commands to make sure the responses - // to commands from previous sessions (if any) are flushed. Count of 5 is arbitrary. - for (let i = 0; i < 5; i++) { - try { - await this.getDaplinkVersionAsync(); - } catch (e) {} + try { + await pxt.Util.promiseTimeout(CONNECTION_CHECK_TIMEOUT, (async () => { + // before calling into dapjs, push through a few commands to make sure the responses + // to commands from previous sessions (if any) are flushed. Count of 5 is arbitrary. + for (let i = 0; i < 5; i++) { + try { + await this.getDaplinkVersionAsync(); + } catch (e) { } + } + })()); + } catch (e) { + const errOut = new Error(e); + (errOut as any).type = "inittimeout"; + throw errOut; } } @@ -407,8 +417,8 @@ class DAPWrapper implements pxt.packetio.PacketIOWrapper { await this.io.reconnectAsync(); } - await this.clearCommandsAsync() await this.stopReadersAsync(); + await this.clearCommandsAsync() await this.cortexM.init(); await this.cortexM.reset(true); await this.checkStateAsync(); @@ -438,11 +448,11 @@ class DAPWrapper implements pxt.packetio.PacketIOWrapper { // via the webusb events } - private recvPacketAsync() { + private recvPacketAsync(timeout?: number) { if (this.io.recvPacketAsync) - return this.io.recvPacketAsync() + return this.io.recvPacketAsync(timeout); else - return this.pbuf.shiftAsync() + return this.pbuf.shiftAsync(timeout); } private async dapCmd(buf: Uint8Array) { @@ -456,12 +466,14 @@ class DAPWrapper implements pxt.packetio.PacketIOWrapper { // response is a left-over from previous communications log(msg + "; retrying"); try { - const secondTryResp = await this.recvPacketAsync(); + // Add in a timeout, as this can stall if device thinks communication is complete. + const secondTryResp = await this.recvPacketAsync(RETRY_DAP_CMD_TIMEOUT); if (secondTryResp[0] === buf[0]) { log(msg + "; retry success"); return secondTryResp; } } catch (e) { + pxt.tickEvent('hid.flash.cmderror.retryfailed', { req: buf[0], resp: resp[0] }); log(e); } throw new Error(`retry failed ${msg}`); diff --git a/editor/patch.ts b/editor/patch.ts index 0edb9133f..b63fb8d57 100644 --- a/editor/patch.ts +++ b/editor/patch.ts @@ -25,7 +25,6 @@ export function patchBlocks(pkgTargetVersion: string, dom: Element) { .concat(pxt.U.toArray(dom.querySelectorAll("shadow[type=device_get_analog_pin]"))) .concat(pxt.U.toArray(dom.querySelectorAll("block[type=device_set_analog_pin]"))) .concat(pxt.U.toArray(dom.querySelectorAll("block[type=device_set_analog_period]"))) - .concat(pxt.U.toArray(dom.querySelectorAll("block[type=pins_on_pulsed]"))) .concat(pxt.U.toArray(dom.querySelectorAll("block[type=pins_pulse_in]"))) .concat(pxt.U.toArray(dom.querySelectorAll("shadow[type=pins_pulse_in]"))) .concat(pxt.U.toArray(dom.querySelectorAll("block[type=device_set_servo_pin]"))) @@ -52,7 +51,6 @@ export function patchBlocks(pkgTargetVersion: string, dom: Element) { case "pin_set_audio_pin": return oldPinNode.getAttribute("name") === "name"; case "device_set_analog_period": - case "pins_on_pulsed": case "device_set_pull": case "device_set_pin_events": case "pin_neopixel_matrix_width": @@ -68,9 +66,12 @@ export function patchBlocks(pkgTargetVersion: string, dom: Element) { const valueNode = node.ownerDocument.createElement("value"); valueNode.setAttribute("name", oldPinNode.getAttribute("name")); + let nodeText = oldPinNode.textContent; const pinShadowNode = node.ownerDocument.createElement("shadow"); + const [enumName, pinName] = nodeText.split("."); + let pinBlockType; - switch (oldPinNode.textContent.split(".")[0]) { + switch (enumName) { case "DigitalPin": pinBlockType = "digital_pin_shadow"; break; @@ -79,11 +80,33 @@ export function patchBlocks(pkgTargetVersion: string, dom: Element) { break; } if (!pinBlockType) return; + + // If this is one of the read/write pins, narrow to the read write shadow + if (blockType === "device_get_analog_pin") { + switch (pinName) { + case "P0": + case "P1": + case "P2": + case "P4": + case "C4": + case "P10": + case "C10": + case "P16": + case "C16": + case "A1_RX": + case "P18": + case "C18": + pinBlockType = "analog_read_write_pin_shadow"; + nodeText = `AnalogReadWritePin.${pinName}`; + break; + } + } + pinShadowNode.setAttribute("type", pinBlockType); const fieldNode = node.ownerDocument.createElement("field"); fieldNode.setAttribute("name", "pin"); - fieldNode.textContent = oldPinNode.textContent; + fieldNode.textContent = nodeText; pinShadowNode.appendChild(fieldNode); valueNode.appendChild(pinShadowNode); diff --git a/libs/core-mini-codal/music.cpp b/libs/core-mini-codal/music.cpp index fb61d4c8c..bc5253345 100644 --- a/libs/core-mini-codal/music.cpp +++ b/libs/core-mini-codal/music.cpp @@ -71,7 +71,7 @@ void setBuiltInSpeakerEnabled(bool enabled) { */ //% blockId=music_sound_is_playing block="sound is playing" //% group="State" -//% help=music/volume +//% help=music/is-sound-playing //% weight=0 bool isSoundPlaying() { #if MICROBIT_CODAL diff --git a/libs/core-mini-codal/music.ts b/libs/core-mini-codal/music.ts index d667ba792..5f824d334 100644 --- a/libs/core-mini-codal/music.ts +++ b/libs/core-mini-codal/music.ts @@ -12,13 +12,12 @@ namespace music { * Gets the melody array of a built-in melody. * @param melody the melody name */ - //% weight=60 help=music/builtin-melody + //% weight=60 help=music/built-in-playable-melody //% blockId=device_builtin_melody_playable block="melody $melody" //% toolboxParent=music_playable_play_default_bkg //% toolboxParentArgument=toPlay //% duplicateShadowOnDrag //% group="Melody Advanced" - //% advanced=true export function builtInPlayableMelody(melody: Melodies): StringArrayPlayable { return new StringArrayPlayable(getMelody(melody), undefined); } @@ -28,7 +27,7 @@ namespace music { */ //% blockId=melody_on_event block="music on %value" //% help=music/on-event weight=59 blockGap=32 - //% group="State" + //% group="Melody Advanced" export function onEvent(value: MusicEvent, handler: () => void) { control.onEvent(MICROBIT_MELODY_ID, value, handler); } diff --git a/libs/core-mini-codal/pxt.json b/libs/core-mini-codal/pxt.json index f153769c4..610b7597e 100644 --- a/libs/core-mini-codal/pxt.json +++ b/libs/core-mini-codal/pxt.json @@ -3,8 +3,7 @@ "description": "The mini codal core library", "dependencies": { "core": "file:../core", - "microphone": "file:../microphone", - "one-time-pairing": "file:../one-time-pairing" + "microphone": "file:../microphone" }, "disablesVariants": [ "minidal" @@ -24,6 +23,15 @@ "touchmode.cpp" ], "yotta": { + "optionalConfig": { + "microbit-dal": { + "bluetooth": { + "open": 0, + "security_level": "SECURITY_MODE_ENCRYPTION_NO_MITM", + "whitelist": 1 + } + } + }, "userConfigs": [ { "description": "Project compatible with Calliope mini 3", diff --git a/libs/core-mini-codal/shims.d.ts b/libs/core-mini-codal/shims.d.ts index b0462d7d0..1419a06f3 100644 --- a/libs/core-mini-codal/shims.d.ts +++ b/libs/core-mini-codal/shims.d.ts @@ -42,7 +42,7 @@ declare namespace music { */ //% blockId=music_sound_is_playing block="sound is playing" //% group="State" - //% help=music/volume + //% help=music/is-sound-playing //% weight=0 shim=music::isSoundPlaying function isSoundPlaying(): boolean; diff --git a/libs/core/enums.d.ts b/libs/core/enums.d.ts index 5c8ad093c..f273ca108 100644 --- a/libs/core/enums.d.ts +++ b/libs/core/enums.d.ts @@ -696,10 +696,15 @@ declare namespace input { //% blockIdentity="pins._analogPin" //% block="C19 (A0 SCL)" blockHidden=true A0_SCL = 119, // MICROBIT_ID_IO_A0_SCL + //% blockHidden=true + P19 = 119, // MICROBIT_ID_IO_A0_SCL //% blockIdentity="pins._analogPin" //% block="C20 (A0 SDA)" blockHidden=true A0_SDA = 120, // MICROBIT_ID_IO_A0_SDA + //% blockHidden=true + P20 = 120, // MICROBIT_ID_IO_A0_SDA + //% blockIdentity="pins._analogPin" //% //% block="Motor Mode" blockHidden=true diff --git a/libs/core/music.ts b/libs/core/music.ts index 5c805d039..35e82d550 100644 --- a/libs/core/music.ts +++ b/libs/core/music.ts @@ -322,7 +322,7 @@ namespace music { * Gets the melody array of a built-in melody. * @param name the note name, eg: Note.C */ - //% weight=50 help=music/builtin-melody + //% weight=50 help=music/built-in-melody //% blockId=device_builtin_melody block="%melody" //% blockHidden=true //% group="Melody Advanced" diff --git a/libs/core/pins.cpp b/libs/core/pins.cpp index 85b88c6b4..859d13c9b 100644 --- a/libs/core/pins.cpp +++ b/libs/core/pins.cpp @@ -265,10 +265,15 @@ enum class AnalogPin { //% blockIdentity="pins._analogPin" //% block="C19 (A0 SCL)" blockHidden=true A0_SCL = MICROBIT_ID_IO_A0_SCL, // SCL + //% blockHidden=true + P19 = MICROBIT_ID_IO_A0_SCL, //% blockIdentity="pins._analogPin" //% block="C20 (A0 SDA)" blockHidden=true A0_SDA = MICROBIT_ID_IO_A0_SDA, // SDA + //% blockHidden=true + P20 = MICROBIT_ID_IO_A0_SDA, // SDA + //% blockIdentity="pins._analogPin" //% //% block="Motor Mode" blockHidden=true @@ -464,11 +469,12 @@ namespace pins { */ //% help=pins/on-pulsed weight=22 blockGap=16 advanced=true //% blockId=pins_on_pulsed block="on|pin %pin|pulsed %pulse" - //% pin.shadow=digital_pin_shadow + //% pin.fieldEditor="gridpicker" pin.fieldOptions.columns=4 + //% pin.fieldOptions.tooltips="false" pin.fieldOptions.width="250" //% group="Pulse" //% weight=25 //% blockGap=8 - void onPulsed(int name, PulseValue pulse, Action body) { + void onPulsed(DigitalPin name, PulseValue pulse, Action body) { MicroBitPin* pin = getPin((int)name); if (!pin) return; @@ -806,7 +812,7 @@ namespace pins { */ //% help=pins/spi-write weight=5 advanced=true //% blockId=spi_write block="spi write %value" - //% group="spi" + //% group="SPI" int spiWrite(int value) { auto p = allocSPI(); return p->write(value); @@ -818,7 +824,7 @@ namespace pins { * @param response Data received from the SPI slave (can be null) */ //% help=pins/spi-transfer argsNullable - //% group="spi" + //% group="SPI" void spiTransfer(Buffer command, Buffer response) { if (!command && !response) target_panic(PANIC_INVALID_ARGUMENT); @@ -843,7 +849,7 @@ namespace pins { */ //% help=pins/spi-frequency weight=4 advanced=true //% blockId=spi_frequency block="spi frequency %frequency" - //% group="spi" + //% group="SPI" void spiFrequency(int frequency) { auto p = allocSPI(); p->frequency(frequency); @@ -856,7 +862,7 @@ namespace pins { */ //% help=pins/spi-format weight=3 advanced=true //% blockId=spi_format block="spi format|bits %bits|mode %mode" - //% group="spi" + //% group="SPI" void spiFormat(int bits, int mode) { auto p = allocSPI(); p->format(bits, mode); diff --git a/libs/core/pins.ts b/libs/core/pins.ts index b02490574..4a6366053 100644 --- a/libs/core/pins.ts +++ b/libs/core/pins.ts @@ -1,9 +1,9 @@ /** - * Control currents in Pins for analog/digital signals, servos, i2c, ... + * Control currents in Pins for analog/digital signals, servos, I²C, ... */ //% color=#A80000 weight=30 icon="\uf140" //% advanced=true -//% groups=['Analog', 'Digital', 'Servos', 'Pulse', 'Pitch', 'i2c', 'spi'] +//% groups=['Analog', 'Digital', 'Servos', 'Pitch', 'I²C', 'SPI', 'Pulse'] namespace pins { /** @@ -20,6 +20,7 @@ namespace pins { //% weight=17 //% blockGap=8 //% advanced=true + //% decompilerShadowAlias=digital_pin_shadow export function _digitalPin(pin: DigitalPin): number { return pin; } @@ -34,8 +35,11 @@ namespace pins { //% pin.fieldEditor=pinpicker //% pin.fieldOptions.columns=4 //% pin.fieldOptions.tooltips="false" + //% group="Pins" + //% weight=16 //% blockGap=8 //% advanced=true + //% decompilerShadowAlias=analog_pin_shadow export function _analogPin(pin: AnalogPin): number { return pin; } @@ -101,22 +105,22 @@ namespace pins { } /** - * Read one number from 7-bit I2C address. + * Read one number from 7-bit I²C address. */ //% help=pins/i2c-read-number blockGap=8 advanced=true - //% blockId=pins_i2c_readnumber block="i2c read number|at address %address|of format %format|repeated %repeat" weight=7 - //% group="i2c" + //% blockId=pins_i2c_readnumber block="I²C read number|at address %address|of format %format|repeated %repeat" weight=7 + //% group="I²C" export function i2cReadNumber(address: number, format: NumberFormat, repeated?: boolean): number { let buf = pins.i2cReadBuffer(address, pins.sizeOf(format), repeated) return buf.getNumber(format, 0) } /** - * Write one number to a 7-bit I2C address. + * Write one number to a 7-bit I²C address. */ //% help=pins/i2c-write-number blockGap=8 advanced=true - //% blockId=i2c_writenumber block="i2c write number|at address %address|with value %value|of format %format|repeated %repeat" weight=6 - //% group="i2c" + //% blockId=i2c_writenumber block="I²C write number|at address %address|with value %value|of format %format|repeated %repeat" weight=6 + //% group="I²C" export function i2cWriteNumber(address: number, value: number, format: NumberFormat, repeated?: boolean): void { let buf = createBuffer(pins.sizeOf(format)) buf.setNumber(format, 0, value) diff --git a/libs/core/shims.d.ts b/libs/core/shims.d.ts index f748c4167..0f9d277f5 100644 --- a/libs/core/shims.d.ts +++ b/libs/core/shims.d.ts @@ -788,11 +788,12 @@ declare namespace pins { */ //% help=pins/on-pulsed weight=22 blockGap=16 advanced=true //% blockId=pins_on_pulsed block="on|pin %pin|pulsed %pulse" - //% pin.shadow=digital_pin_shadow + //% pin.fieldEditor="gridpicker" pin.fieldOptions.columns=4 + //% pin.fieldOptions.tooltips="false" pin.fieldOptions.width="250" //% group="Pulse" //% weight=25 //% blockGap=8 shim=pins::onPulsed - function onPulsed(name: int32, pulse: PulseValue, body: () => void): void; + function onPulsed(name: DigitalPin, pulse: PulseValue, body: () => void): void; /** * Get the duration of the last pulse in microseconds. This function should be called from a ``onPulsed`` handler. @@ -962,7 +963,7 @@ declare namespace pins { */ //% help=pins/spi-write weight=5 advanced=true //% blockId=spi_write block="spi write %value" - //% group="spi" shim=pins::spiWrite + //% group="SPI" shim=pins::spiWrite function spiWrite(value: int32): int32; /** @@ -971,7 +972,7 @@ declare namespace pins { * @param response Data received from the SPI slave (can be null) */ //% help=pins/spi-transfer argsNullable - //% group="spi" shim=pins::spiTransfer + //% group="SPI" shim=pins::spiTransfer function spiTransfer(command: Buffer, response: Buffer): void; /** @@ -980,7 +981,7 @@ declare namespace pins { */ //% help=pins/spi-frequency weight=4 advanced=true //% blockId=spi_frequency block="spi frequency %frequency" - //% group="spi" shim=pins::spiFrequency + //% group="SPI" shim=pins::spiFrequency function spiFrequency(frequency: int32): void; /** @@ -990,7 +991,7 @@ declare namespace pins { */ //% help=pins/spi-format weight=3 advanced=true //% blockId=spi_format block="spi format|bits %bits|mode %mode" - //% group="spi" shim=pins::spiFormat + //% group="SPI" shim=pins::spiFormat function spiFormat(bits: int32, mode: int32): void; /** diff --git a/package.json b/package.json index be61ef5f0..b3dd04bcd 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "typescript": "4.8.3" }, "dependencies": { - "pxt-common-packages": "12.0.3", - "pxt-core": "10.2.16" + "pxt-common-packages": "12.0.4", + "pxt-core": "10.2.39" } } diff --git a/pxtarget.json b/pxtarget.json index 9d2b074d4..3203c24a2 100644 --- a/pxtarget.json +++ b/pxtarget.json @@ -22,7 +22,6 @@ "libs/settings", "libs/flashlog", "libs/datalogger", - "libs/fonts", "libs/audio-recording" ], "cloud": { @@ -207,7 +206,7 @@ "codalTarget": { "name": "codal-microbit-v2", "url": "https://github.com/calliope-edu/codal-microbit-v2", - "branch": "v0.2.67-calliope-rc1", + "branch": "v0.2.68-calliope-rc1", "type": "git" }, "codalBinary": "MICROBIT", @@ -602,6 +601,7 @@ "dragFileImage": "/static/download/transfer.png", "connectDeviceImage": "/static/download/connect.png", + "disconnectDeviceImage": "/static/download/full-reset.gif", "selectDeviceImage": "/static/download/pair.png", "connectionSuccessImage": "/static/download/connected.png", "checkFirmwareVersionImage": "/static/download/firmware.png", @@ -679,7 +679,8 @@ "teachertool=1": { "appTheme": { "hideMenuBar": true, - "workspaceSearch": true + "workspaceSearch": true, + "noReloadOnUpdate": true } } }, diff --git a/targetconfig.json b/targetconfig.json index 8b3606038..08ca1eeaa 100644 --- a/targetconfig.json +++ b/targetconfig.json @@ -375,6 +375,9 @@ "RGB" ] }, + "microsoft/pxt-apa102": {}, + "microsoft/pxt-radio-firefly": {}, + "microsoft/pxt-ml": {}, "tinkertanker/pxt-alphanumeric-ht16k33": {}, "tinkertanker/pxt-continuous-servo": { "tags": [ diff --git a/theme/style.less b/theme/style.less index c976f3b2c..9683f6b26 100644 --- a/theme/style.less +++ b/theme/style.less @@ -83,6 +83,36 @@ } } } + +.time-machine-header { + background-color: @blue; +} + +.time-machine-preview { + // Loading div that appears while projects are importing + & > div { + background: #e8e8e8 + } +} + +#root:not(.hc) .tutorial-menu { + .ui.circular.label.selected { + background-color: @purple !important; + color: #e8e8e8 !important; + border: 1px solid #e8e8e8 !important; + + &:focus, &:hover { + background-color: darken(@purple, 20%) !important; + } + } +} + +.menubar { + .ui.menu .brand .ui.logo { + height: 1.1rem; + } +} + // Safari Only for iPad and iPhone second rule @supports (-webkit-touch-callout: none) { #mainmenu .right.menu {