<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="OK$dpnkDvbvOAPJ|w!5{">sytm_dly</variable>
<variable id="5s0aYOA^-XoJ0)ZEX;FK">gpio_pin</variable>
<variable id="mSMZ07_zHKH+BL$Jx6[d">gpio_mod</variable>
<variable id="J)EPm{=Fm7XprOp;AX}V">gpio_val</variable>
<variable id="Hz2J02:8;)#6yKO{TAEG">sytm_beg</variable>
<variable id="D|[4:(.L/@^Y[)zXQ_R;">gpio_adr</variable>
<variable id="Fm5JF@^t7KEr{(BVj[=1">gpio_dat</variable>
</variables>
<block type="mcoc_pack" id="])E%M[PtN{B#k(xGrod2" x="13" y="13">
<field name="CMNT"></field>
<field name="ENB">TRUE</field>
<statement name="PAC">
<block type="mcvm_cpu_asm" id="@*LlCU[#zt$AaI3s(1ny">
<field name="ASM">// ================================</field>
<next>
<block type="mcvm_cpu_asm" id="9sdt.SG=kq;rta2@A,U%">
<field name="ASM">//&#9;blink 3-3-7 beats</field>
<next>
<block type="mcvm_cpu_asm" id="Bf=4Hf$ivJf^0Mue5II{">
<field name="ASM">//&#9;&#9;(c) 2026 1YEN Toru</field>
<next>
<block type="mcoc_pack" id="P|6ozRgvMoOFn}9z}@C%">
<field name="CMNT"></field>
<field name="ENB">TRUE</field>
<statement name="PAC">
<block type="mcvm_cpu_asm" id="0YO*b%FDO7,tY9{GIA!D">
<field name="ASM">//</field>
<next>
<block type="mcvm_cpu_asm" id="+%dm+Ff@j!da9SVCbY`P">
<field name="ASM">//</field>
<next>
<block type="mcvm_cpu_asm" id="?n{AyT5bS{sss?:su7I1">
<field name="ASM">//&#9;2026/06/06&#9;ver.1.00</field>
<next>
<block type="mcvm_cpu_asm" id="vp-hhbW%!N;*WFry4~|-">
<field name="ASM">//&#9;&#9;Blockly for Samarium edition</field>
<next>
<block type="mcvm_cpu_asm" id="BtM*r|IjMqQZ9W!^dHGt">
<field name="ASM">//</field>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<next>
<block type="mcvm_cpu_asm" id=".|Q_mB4xHI.1obYKNBlf">
<field name="ASM">// ================================</field>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<next>
<block type="mcvm_cpu_asm" id="5Lok:{MX9*MVd/B^e8a}">
<field name="ASM"># constants</field>
<next>
<block type="mcoc_math_label" id="n(XW3=_(c)c!7/5TTI5r">
<field name="NAME">msec_ONE_BT</field>
<field name="VAL">400</field>
<next>
<block type="mcvm_cpu_asm" id="Z+TJl].^.F{,S^K@@f9?">
<field name="ASM">// PORT8I8O setting</field>
<next>
<block type="procedures_callnoreturn" id="KP#R%)k8.gL?ypyWeiof" inline="true">
<mutation name="digitalWrite">
<arg name="gpio_pin"></arg>
<arg name="gpio_val"></arg>
</mutation>
<value name="ARG0">
<block type="mcoc_math_number" id="|.3Ob^VHV|=K_:^Zb4pj">
<field name="NUM">gpio_LED_BUILTIN_R</field>
</block>
</value>
<value name="ARG1">
<block type="mcoc_math_number" id="zlfI7!aOIzDnu3oDlU%s">
<field name="NUM">gpio_LED_BUILTIN_OFF</field>
</block>
</value>
<next>
<block type="procedures_callnoreturn" id="HTT[kwj;Q+CCZK|UIWV@" inline="true">
<mutation name="digitalWrite">
<arg name="gpio_pin"></arg>
<arg name="gpio_val"></arg>
</mutation>
<value name="ARG0">
<block type="mcoc_math_number" id="(*V9W=QDNtyjHk?FN#~D">
<field name="NUM">gpio_LED_BUILTIN_G</field>
</block>
</value>
<value name="ARG1">
<block type="mcoc_math_number" id="iz)CCbO~d.q$QY8UMi(x">
<field name="NUM">gpio_LED_BUILTIN_OFF</field>
</block>
</value>
<next>
<block type="procedures_callnoreturn" id="cL.Avk.lSGPb=+ww_LH]" inline="true">
<mutation name="digitalWrite">
<arg name="gpio_pin"></arg>
<arg name="gpio_val"></arg>
</mutation>
<value name="ARG0">
<block type="mcoc_math_number" id="Jo4e=F0SNon.dF@,sVk0">
<field name="NUM">gpio_LED_BUILTIN_B</field>
</block>
</value>
<value name="ARG1">
<block type="mcoc_math_number" id="$h7s+*XCpx@LYo{^D`tu">
<field name="NUM">gpio_LED_BUILTIN_OFF</field>
</block>
</value>
<next>
<block type="mcvm_cpu_asm" id="/wjIT#?oihdo1cjt?Bw0">
<field name="ASM">// forever</field>
<next>
<block type="mcoc_controls_loop" id="H*pE*Wn_e|d$+5];$L)E">
<statement name="DO">
<block type="procedures_callnoreturn" id="6)mOky1:^:tSHs7}w/Fs">
<mutation name="led_337_beat"></mutation>
<next>
<block type="mcoc_pack" id="q^LY4BDgVmA{Q(ga[SqV">
<field name="CMNT">enable, if simulation</field>
<field name="ENB">FALSE</field>
<statement name="PAC">
<block type="mcoc_math_label" id="MW,`O$!D|U1~}4IEAVTi">
<field name="NAME">msec_ONE_BT</field>
<field name="VAL">2</field>
<next>
<block type="mcvm_mem_write" id="U?Xj5-D{5KuD}~KX|#rF">
<field name="SIZ">W</field>
<comment pinned="false" h="80" w="160">finish simulation</comment>
<value name="ADR">
<block type="mcoc_math_number" id="}/!4Sy[?R~o.~(:R)VF^">
<field name="NUM">simfnsh</field>
</block>
</value>
<value name="DAT">
<block type="mcoc_math_number" id="*9{$4/XEv]v4E6)7Tir?">
<field name="NUM">simneut</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
<block type="procedures_defnoreturn" id="vgFuSjg;!j;gz@[WB:t_" collapsed="true" x="13" y="813">
<mutation>
<arg name="sytm_dly" varid="OK$dpnkDvbvOAPJ|w!5{"></arg>
</mutation>
<field name="NAME">delay</field>
<comment pinned="false" h="75" w="220">delay (dly)
&#9;dly: 0~32_767[ms]
&#9;delay at least dly[ms]</comment>
<statement name="STACK">
<block type="variables_set" id="5v(k-5_m${t@|(:;-.MX">
<field name="VAR" id="Hz2J02:8;)#6yKO{TAEG">sytm_beg</field>
<value name="VALUE">
<block type="mcvm_mem_read" id=";1SNq^5f]hk*RUtd~2F4">
<field name="SIZ">W</field>
<value name="ADR">
<block type="mcoc_math_number" id="IF#!@T23DGIv6%T!!Gvp">
<field name="NUM">sytmmill</field>
</block>
</value>
</block>
</value>
<next>
<block type="controls_whileUntil" id="vRN!98%VyP]Msa.CA2G4">
<field name="MODE">WHILE</field>
<value name="BOOL">
<block type="logic_compare" id="KNW@`_)a%(ypN7jW3;QY" inline="false">
<field name="OP">LTE</field>
<value name="A">
<block type="math_arithmetic" id="ofWRNfsP67myv5AGxmod" inline="false">
<field name="OP">MINUS</field>
<value name="A">
<block type="mcvm_mem_read" id="Y-{zR`9kcEG@RcR9lrQ0">
<field name="SIZ">W</field>
<value name="ADR">
<block type="mcoc_math_number" id="X)Q6!y43`nz8-I.Ol}`%">
<field name="NUM">sytmmill</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="variables_get" id="cr1na!3TNWuX#)`n-*5c">
<field name="VAR" id="Hz2J02:8;)#6yKO{TAEG">sytm_beg</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="variables_get" id="x!1Qcv;vUwNpFd{2Qc`A">
<field name="VAR" id="OK$dpnkDvbvOAPJ|w!5{">sytm_dly</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" id="S]Q3pGRq$4.]!sciip@:" collapsed="true" x="13" y="863">
<field name="NAME">gpio_init</field>
<comment pinned="false" h="80" w="160">GPIO library</comment>
<statement name="STACK">
<block type="mcoc_pack" id="b.7HZ[MF,4C=r~L2DnW$">
<field name="CMNT"># constants</field>
<field name="ENB">TRUE</field>
<statement name="PAC">
<block type="mcoc_math_label" id="=}CbC8pEB~c5+#ov$#JN">
<field name="NAME">gpio_INPUT</field>
<field name="VAL">0</field>
<next>
<block type="mcoc_math_label" id="NO3X$=k5+{z@^0m!F74g">
<field name="NAME">gpio_OUTPUT</field>
<field name="VAL">1</field>
<next>
<block type="mcoc_math_label" id="%?9w{HF/Yh;Wd%9k8eD8">
<field name="NAME">gpio_LOW</field>
<field name="VAL">0</field>
<next>
<block type="mcoc_math_label" id="_suttVU@*@$5A32XELTy">
<field name="NAME">gpio_HIGH</field>
<field name="VAL">1</field>
<next>
<block type="mcoc_math_label" id="BZq7u)akA6DCvV7ITm39">
<field name="NAME">gpio_LED_BUILTIN_B</field>
<field name="VAL">0</field>
<next>
<block type="mcoc_math_label" id="H682)aExUCxrU)`8~*[*">
<field name="NAME">gpio_LED_BUILTIN_R</field>
<field name="VAL">1</field>
<next>
<block type="mcoc_math_label" id="%`@a!|nb0,fF.#Wn3z8%">
<field name="NAME">gpio_LED_BUILTIN_G</field>
<field name="VAL">2</field>
<next>
<block type="mcoc_math_label" id="a_|n$x/KxNei(XA=[ir?">
<field name="NAME">gpio_LED_BUILTIN_ON</field>
<field name="VAL">0</field>
<next>
<block type="mcoc_math_label" id="00nFf!/~s+RehF)}x@VG">
<field name="NAME">gpio_LED_BUILTIN_OFF</field>
<field name="VAL">1</field>
<next>
<block type="mcoc_math_label" id="H3A#Z*Q1e)Y]bEgw0-=!">
<field name="NAME">gpio_D0</field>
<field name="VAL">0</field>
<next>
<block type="mcoc_math_label" id="([{B`-)B7qjjMH/fG_.$">
<field name="NAME">gpio_D1</field>
<field name="VAL">1</field>
<next>
<block type="mcoc_math_label" id="|m*,YrI#OypMg%p?#EMt">
<field name="NAME">gpio_D2</field>
<field name="VAL">2</field>
<next>
<block type="mcoc_math_label" id="=-`XkN2pJxN*F9yGiI0p">
<field name="NAME">gpio_D3</field>
<field name="VAL">3</field>
<next>
<block type="mcoc_math_label" id="Zr;`gtJo19Ox!LGm7.Ps">
<field name="NAME">gpio_D4</field>
<field name="VAL">4</field>
<next>
<block type="mcoc_math_label" id="5KVano;v(REx,(=Rkt(n">
<field name="NAME">gpio_D5</field>
<field name="VAL">5</field>
<next>
<block type="mcoc_math_label" id="L_cS#`;3^}N.^tV!qC16">
<field name="NAME">gpio_D6</field>
<field name="VAL">6</field>
<next>
<block type="mcoc_math_label" id="#KTkP-}Hv0)ue;m4knTq">
<field name="NAME">gpio_D7</field>
<field name="VAL">7</field>
<next>
<block type="mcoc_math_label" id="wffJZw:i|@#!3K(oo+nJ">
<field name="NAME">gpio_D8</field>
<field name="VAL">8</field>
<next>
<block type="mcoc_math_label" id="N`$;!%:/9p@o;Eg|0s,-">
<field name="NAME">gpio_D9</field>
<field name="VAL">9</field>
<next>
<block type="mcoc_math_label" id="=s^F{N3Ke,}x}Xp88[:S">
<field name="NAME">gpio_D10</field>
<field name="VAL">10</field>
<next>
<block type="mcoc_math_label" id="Kh{M+4{r*_z`L|P~}TKd">
<field name="NAME">gpio_D11</field>
<field name="VAL">11</field>
<next>
<block type="mcoc_math_label" id="Xu`[m3mt[sD(Mz~WsBfe">
<field name="NAME">gpio_D12</field>
<field name="VAL">12</field>
<next>
<block type="mcoc_math_label" id="dL0)nJE~[`.lC7n2zYhG">
<field name="NAME">gpio_D13</field>
<field name="VAL">13</field>
<next>
<block type="mcoc_math_label" id="Vgd8OjjV~gVF1`czGr~3">
<field name="NAME">gpio_D14</field>
<field name="VAL">14</field>
<next>
<block type="mcoc_math_label" id="}Pa.VmX0`7p!;c3^1_$+">
<field name="NAME">gpio_D15</field>
<field name="VAL">15</field>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<next>
<block type="controls_if" id="u=--[!Z0X)jp_)fe[fsw">
<comment pinned="false" h="80" w="160">constant data pool</comment>
<value name="IF0">
<block type="logic_boolean" id="8yWN7=QzXrj:/R9bj}`)">
<field name="BOOL">FALSE</field>
</block>
</value>
<statement name="DO0">
<block type="mcvm_cpu_asm" id=";PS$}[VCkOTvU#Cmho)m">
<field name="ASM">// barrel shift table</field>
<next>
<block type="mcvm_cpu_asm" id=",0dp18s;kR/D^5N15f)f">
<field name="ASM">align 2</field>
<next>
<block type="mcvm_cpu_asm" id="$Vec!X0(SfsLB(jGopfI">
<field name="ASM">gpio_tab:</field>
<next>
<block type="mcvm_cpu_asm" id="M8YZ-B$$B_jrKK4~kk2#">
<field name="ASM">datw port_0,port_1,port_2,port_3</field>
<next>
<block type="mcvm_cpu_asm" id="U$k$07yFFVOAko|$eA;`">
<field name="ASM">datw port_4,port_5,port_6,port_7</field>
<next>
<block type="mcvm_cpu_asm" id="$V2A!Y+nh)4+pdD+1HTo">
<field name="ASM">datw port_0,port_1,port_2,port_3</field>
<next>
<block type="mcvm_cpu_asm" id="HX{nu-~Y*ZWHpub,LZn4">
<field name="ASM">datw port_4,port_5,port_6,port_7</field>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" id="vRtX,L5+gsdt6phv0JeV" collapsed="true" x="13" y="913">
<mutation>
<arg name="gpio_pin" varid="5s0aYOA^-XoJ0)ZEX;FK"></arg>
<arg name="gpio_mod" varid="mSMZ07_zHKH+BL$Jx6[d"></arg>
</mutation>
<field name="NAME">pinMode</field>
<comment pinned="false" h="82" w="214">pinMode (pin, mod)
&#9;pin: 0~15
&#9;mod: 0=input / 1=output</comment>
<statement name="STACK">
<block type="mcvm_cpu_asm" id="7]))68{i*6])]uyLo9p+">
<field name="ASM">// select input port</field>
<next>
<block type="mcvm_mem_write" id="+w,#R%,c;-D;,()MPyyU">
<field name="SIZ">W</field>
<value name="ADR">
<block type="mcoc_math_number" id="UV*)RmxEUav4PaNf`ny4">
<field name="NUM">porsel</field>
</block>
</value>
<value name="DAT">
<block type="mcoc_math_number" id="?+|]!B.?:AUeZWv%}uxO">
<field name="NUM">0xff</field>
</block>
</value>
<next>
<block type="mcvm_cpu_asm" id="1Ws?E{EW}5d2`(bjpiZc">
<field name="ASM">// pin information</field>
<next>
<block type="variables_set" id="t)AH}4ldk{;Cp%:prArC">
<field name="VAR" id="D|[4:(.L/@^Y[)zXQ_R;">gpio_adr</field>
<value name="VALUE">
<block type="logic_ternary" id="7=;WpuCD4Mq;6P^0gY`l" inline="true">
<value name="IF">
<block type="logic_compare" id="MB4odk9$8nwffx.wOY[4">
<field name="OP">LT</field>
<value name="A">
<block type="variables_get" id="j%nFF!%o56oX|IZ+wd?R">
<field name="VAR" id="5s0aYOA^-XoJ0)ZEX;FK">gpio_pin</field>
</block>
</value>
<value name="B">
<block type="mcoc_math_number" id="V^z5DhW]$:CcV8ADo3hF">
<field name="NUM">8</field>
</block>
</value>
</block>
</value>
<value name="THEN">
<block type="mcoc_math_number" id="{2h#F)`dv`#sqAF9~jE4">
<field name="NUM">pordir</field>
</block>
</value>
<value name="ELSE">
<block type="mcoc_math_number" id="c9ZJ(+zp.bC4RHz_FW|?">
<field name="NUM">pordir1</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="c;)(83a!A^(fUZmvu9ut">
<field name="VAR" id="Fm5JF@^t7KEr{(BVj[=1">gpio_dat</field>
<value name="VALUE">
<block type="mcoc_math_number" id="Y[qA2ivkw4YMXjTk^Iq%">
<field name="NUM">lab_gpio_tab</field>
</block>
</value>
<next>
<block type="variables_set" id="Ffd%|F^Z%nwNS95_wOhj">
<field name="VAR" id="Fm5JF@^t7KEr{(BVj[=1">gpio_dat</field>
<value name="VALUE">
<block type="mcvm_mem_array_ref" id="J,@n~@=QlGuQ{VqNg+7x">
<field name="VAR" id="Fm5JF@^t7KEr{(BVj[=1">gpio_dat</field>
<value name="IDX">
<block type="variables_get" id="+2]Faj2E-FP0`G6nk{#R">
<field name="VAR" id="5s0aYOA^-XoJ0)ZEX;FK">gpio_pin</field>
</block>
</value>
</block>
</value>
<next>
<block type="mcvm_cpu_asm" id="+:E$N-r98w*X(Pd1jCw/">
<field name="ASM">// set direction</field>
<next>
<block type="controls_if" id="e/G8@Siaje[rU(Ys[4@q">
<mutation else="1"></mutation>
<value name="IF0">
<block type="mcoc_math_unary" id="M6)3y4|BWx4:?$v_j]S:">
<field name="OP">!</field>
<value name="VAL">
<block type="variables_get" id="QY{^yscqM`NUE`PE{c4K">
<field name="VAR" id="mSMZ07_zHKH+BL$Jx6[d">gpio_mod</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="mcvm_cpu_asm" id="Yys(Ubul#~^dsW5g1rS/">
<field name="ASM">// input</field>
<next>
<block type="mcvm_mem_write" id="$$T9~KB4g1!+m.oO]r~q" inline="false">
<field name="SIZ">W</field>
<value name="ADR">
<block type="variables_get" id="RV-EMimTeNz/.:?JW%jz">
<field name="VAR" id="D|[4:(.L/@^Y[)zXQ_R;">gpio_adr</field>
</block>
</value>
<value name="DAT">
<block type="mcoc_math_bit_binary" id="|(##VgL0JNPvNlRs5kCj">
<field name="OP">|</field>
<value name="A">
<block type="mcvm_mem_read" id="Ri-{].WNLzz`%%4a4#4%">
<field name="SIZ">W</field>
<value name="ADR">
<block type="variables_get" id="pb,7T%4$clK8Og#v;35c">
<field name="VAR" id="D|[4:(.L/@^Y[)zXQ_R;">gpio_adr</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="variables_get" id="LZOhWZ.#U%YihKb5x47y">
<field name="VAR" id="Fm5JF@^t7KEr{(BVj[=1">gpio_dat</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</statement>
<statement name="ELSE">
<block type="mcvm_cpu_asm" id="(r}iD_KWW(0_dV8IGh0Z">
<field name="ASM">// output</field>
<next>
<block type="mcvm_mem_write" id="a$IMCp[2?UalmnXvBrXk" inline="false">
<field name="SIZ">W</field>
<value name="ADR">
<block type="variables_get" id="j_#JCD$JVe$CqLJytFD(">
<field name="VAR" id="D|[4:(.L/@^Y[)zXQ_R;">gpio_adr</field>
</block>
</value>
<value name="DAT">
<block type="mcoc_math_bit_binary" id="=6=JP_e.pXRu)*j*P+M%">
<field name="OP">&amp;</field>
<value name="A">
<block type="mcvm_mem_read" id="Fi:!I]K:Cl@#hwhhbJmC">
<field name="SIZ">W</field>
<value name="ADR">
<block type="variables_get" id="ElZkFDIj9Cd85.3r$S$n">
<field name="VAR" id="D|[4:(.L/@^Y[)zXQ_R;">gpio_adr</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="mcoc_math_unary" id="PnzOL10JXB]T$A_/*J+1">
<field name="OP">~</field>
<value name="VAL">
<block type="variables_get" id="}vxBkYf@h9Sep(9zO5b+">
<field name="VAR" id="Fm5JF@^t7KEr{(BVj[=1">gpio_dat</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" id="p#1%7}1h)Tipd:Mv:h-5" collapsed="true" x="13" y="963">
<mutation>
<arg name="gpio_pin" varid="5s0aYOA^-XoJ0)ZEX;FK"></arg>
<arg name="gpio_val" varid="J)EPm{=Fm7XprOp;AX}V"></arg>
</mutation>
<field name="NAME">digitalWrite</field>
<comment pinned="false" h="75" w="196">digitalWrite (pin, val)
&#9;pin: 0~15
&#9;val: 0=LOW / 1=HIGH</comment>
<statement name="STACK">
<block type="mcvm_cpu_asm" id="TA=-_We(a?wDIZ(p80j$">
<field name="ASM">// pin mode</field>
<next>
<block type="procedures_callnoreturn" id="5nc4]?fFc[0fzxm/;/$C" inline="true">
<mutation name="pinMode">
<arg name="gpio_pin"></arg>
<arg name="gpio_mod"></arg>
</mutation>
<value name="ARG0">
<block type="variables_get" id="}SG4jwM$2}{ExxW^Ra8N">
<field name="VAR" id="5s0aYOA^-XoJ0)ZEX;FK">gpio_pin</field>
</block>
</value>
<value name="ARG1">
<block type="mcoc_math_number" id="/z.*?$oaDsfFvzv_8s1G">
<field name="NUM">gpio_OUTPUT</field>
</block>
</value>
<next>
<block type="mcvm_cpu_asm" id="oPTq;F|}JW{ST-^}|cqu">
<field name="ASM">// pin information</field>
<next>
<block type="variables_set" id="T_+1P.q/`v}wsDo;]cKV">
<field name="VAR" id="D|[4:(.L/@^Y[)zXQ_R;">gpio_adr</field>
<value name="VALUE">
<block type="mcoc_math_bit_binary" id="oL5L#/`y0b$y3f}ly]oX" inline="false">
<field name="OP">|</field>
<value name="A">
<block type="mcoc_math_bit_binary" id="@apb[slZ^Zeayz|%B4_D">
<field name="OP">&amp;</field>
<value name="A">
<block type="variables_get" id="@uFP1dG7,K{7Vg5.72Gl">
<field name="VAR" id="D|[4:(.L/@^Y[)zXQ_R;">gpio_adr</field>
</block>
</value>
<value name="B">
<block type="mcoc_math_number" id="~/0.]2;HU~IvrG0:oS:_">
<field name="NUM">~0x0f</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_ternary" id="76Hm?XCSPd2;0U6)A?i2" inline="true">
<value name="IF">
<block type="variables_get" id="T][eXh;eQ0g(gyFny9yM">
<field name="VAR" id="J)EPm{=Fm7XprOp;AX}V">gpio_val</field>
</block>
</value>
<value name="THEN">
<block type="mcoc_math_number" id="KVU9,A}$SXhzj`_eA(o,">
<field name="NUM">porset&amp;0x0f</field>
</block>
</value>
<value name="ELSE">
<block type="mcoc_math_number" id="m3k`}Y~*4C~lqsIuYvOu">
<field name="NUM">porclr&amp;0x0f</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="mcvm_cpu_asm" id="N94MOQb]5:g=[_2cF(6X">
<field name="ASM">// output</field>
<next>
<block type="mcvm_mem_write" id="6X_WyGW1gdGrGe!G,}nC">
<field name="SIZ">W</field>
<value name="ADR">
<block type="variables_get" id="Gt^d-|6o-D5vVtHHY[Cx">
<field name="VAR" id="D|[4:(.L/@^Y[)zXQ_R;">gpio_adr</field>
</block>
</value>
<value name="DAT">
<block type="variables_get" id="`%G*u8x.|KIK77R[M]fH">
<field name="VAR" id="Fm5JF@^t7KEr{(BVj[=1">gpio_dat</field>
</block>
</value>
<next>
<block type="mcoc_pack" id="K%6A*+5)NYvW.MiL(-ZQ">
<field name="CMNT"># dependency</field>
<field name="ENB">FALSE</field>
<statement name="PAC">
<block type="procedures_callnoreturn" id="7XpOxUakDh}[JXPu,n!^">
<mutation name="gpio_init"></mutation>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" id="NVd/*/zg4(BE+w=R*[HN" x="13" y="1013">
<field name="NAME">led_1_beat</field>
<comment pinned="false" h="80" w="160">LED 1 beat</comment>
<statement name="STACK">
<block type="procedures_callnoreturn" id="-y:6EnU)u?]Sz^tYfXnR" inline="true">
<mutation name="digitalWrite">
<arg name="gpio_pin"></arg>
<arg name="gpio_val"></arg>
</mutation>
<value name="ARG0">
<block type="mcoc_math_number" id="ZhDI~9d}zd3h.2wS_YpL">
<field name="NUM">gpio_LED_BUILTIN_G</field>
</block>
</value>
<value name="ARG1">
<block type="mcoc_math_number" id="a!Vih/]eB;bzF,qk3D[%">
<field name="NUM">gpio_LED_BUILTIN_ON</field>
</block>
</value>
<next>
<block type="procedures_callnoreturn" id="+O4qewj}eOxV*)h(P+^v" inline="true">
<mutation name="delay">
<arg name="sytm_dly"></arg>
</mutation>
<value name="ARG0">
<block type="mcoc_math_number" id="lV;3;_7J[U:OJDQ)V=1Q">
<field name="NUM">msec_ONE_BT/2</field>
</block>
</value>
<next>
<block type="procedures_callnoreturn" id=".c=RiGgZwTqFn?^NdNh`" inline="true">
<mutation name="digitalWrite">
<arg name="gpio_pin"></arg>
<arg name="gpio_val"></arg>
</mutation>
<value name="ARG0">
<block type="mcoc_math_number" id=":v=Ymqu==n8O:fI+|;eJ">
<field name="NUM">gpio_LED_BUILTIN_G</field>
</block>
</value>
<value name="ARG1">
<block type="mcoc_math_number" id=".Non5Q!j-n-sH.HZ=Q},">
<field name="NUM">gpio_LED_BUILTIN_OFF</field>
</block>
</value>
<next>
<block type="procedures_callnoreturn" id=")~8/19sV2JF[-=ar70m6" inline="true">
<mutation name="delay">
<arg name="sytm_dly"></arg>
</mutation>
<value name="ARG0">
<block type="mcoc_math_number" id="S/_$^@)w?B8IVSo^U?U^">
<field name="NUM">msec_ONE_BT/2</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" id="]l.~,#~ob_y3I{BD9PE@" x="13" y="1238">
<field name="NAME">led_337_beat</field>
<comment pinned="false" h="80" w="160">LED 3-3-7 beats</comment>
<statement name="STACK">
<block type="mcvm_cpu_asm" id="gtDJLEDqoY|Pg=)QgHBG">
<field name="ASM">// 3 beats</field>
<next>
<block type="controls_repeat_ext" id="*fTOM@f4Pqbyn6W1BEp9">
<value name="TIMES">
<block type="mcoc_math_number" id="6kl#`:MAC]W#|UjY%3cp">
<field name="NUM">3</field>
</block>
</value>
<statement name="DO">
<block type="procedures_callnoreturn" id="R8TDlK-F)bfw1N1sqNj7">
<mutation name="led_1_beat"></mutation>
</block>
</statement>
<next>
<block type="procedures_callnoreturn" id="Tr7zTPOl+C3I!^-_klDc" inline="true">
<mutation name="delay">
<arg name="sytm_dly"></arg>
</mutation>
<value name="ARG0">
<block type="mcoc_math_number" id=".m@^r[t0d*:[+Q751,`U">
<field name="NUM">msec_ONE_BT</field>
</block>
</value>
<next>
<block type="mcvm_cpu_asm" id="ULnK:n:dag?Fw.;n8#V2">
<field name="ASM">// 3 beats</field>
<next>
<block type="controls_repeat_ext" id="_:.3o6+:S*;WP#7S|Nq{">
<value name="TIMES">
<block type="mcoc_math_number" id="wQ@K5D8ZZJxn$]XZn}et">
<field name="NUM">3</field>
</block>
</value>
<statement name="DO">
<block type="procedures_callnoreturn" id="1|-pa$!?iMYE|X~NU$z^">
<mutation name="led_1_beat"></mutation>
</block>
</statement>
<next>
<block type="procedures_callnoreturn" id="gupdb`l?]^@d==wv}lsX" inline="true">
<mutation name="delay">
<arg name="sytm_dly"></arg>
</mutation>
<value name="ARG0">
<block type="mcoc_math_number" id="[rw_~@D5V/4K9EogJ9Zj">
<field name="NUM">msec_ONE_BT</field>
</block>
</value>
<next>
<block type="mcvm_cpu_asm" id="g9.vX?!~A~Ul{rA#;W_r">
<field name="ASM">// 7 beats</field>
<next>
<block type="controls_repeat_ext" id="YSEPZh.vZ;-jzYYm0Q2R">
<value name="TIMES">
<block type="mcoc_math_number" id="~I9%^45#t)cg)pdO5;Hz">
<field name="NUM">7</field>
</block>
</value>
<statement name="DO">
<block type="procedures_callnoreturn" id="g6T(D6*;GQ|?rwO`?e2|">
<mutation name="led_1_beat"></mutation>
</block>
</statement>
<next>
<block type="procedures_callnoreturn" id="**zIIH1@)*KIM{ORe?q;" inline="true">
<mutation name="delay">
<arg name="sytm_dly"></arg>
</mutation>
<value name="ARG0">
<block type="mcoc_math_number" id="$lMt1Mgm8xf!aa`,8mT(">
<field name="NUM">msec_ONE_BT</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</xml>
