Files
mixly3/boards/default/micropython_esp32c2/examples/MixGo MINI/23-2-蓝牙键鼠-无线蓝牙鼠标.mix
2025-02-20 15:33:51 +08:00

1 line
14 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@MixGo MINI" shown="block"><block type="analog_ble_mouse_init" id="]OL7NOg80Q4Qlz^ncDTe" x="0" y="0"><value name="name"><shadow type="text" id="TEYATk/#d3iGhrY_HRjS"><field name="TEXT">ble_Mouse</field></shadow></value><next><block type="variables_set" id=".QJ!Uq!hB@jM9QHA$cnt"><field name="VAR">SENSITIVITY</field><comment pinned="false" h="80" w="160">灵敏度</comment><value name="VALUE"><block type="math_number" id="8JBbGfQZfW][b?U].2}z"><field name="NUM">30</field></block></value><next><block type="variables_set" id="g21m/~CQ5a(T^Vrn?m4E"><field name="VAR">MOVE_THRESHOLD</field><comment pinned="false" h="80" w="160">移动阈值</comment><value name="VALUE"><block type="math_number" id="o6bZI[;H||hvW4)^s|)k"><field name="NUM">0.05</field></block></value><next><block type="variables_set" id="D1v{pdA6XvbG?{TpE]:)"><field name="VAR">smooth_x</field><comment pinned="false" h="80" w="160">平滑处理的历史数据</comment><value name="VALUE"><block type="math_number" id="t|d{UVV-yB?Go1OS!Qdv"><field name="NUM">0</field></block></value><next><block type="variables_set" id="4j{.toz_Iv)Y+cFMV;Cw"><field name="VAR">smooth_y</field><comment pinned="false" h="80" w="160">平滑处理的历史数据</comment><value name="VALUE"><block type="math_number" id="S#Gx*V#2:!8P$DiPvcxz"><field name="NUM">0</field></block></value><next><block type="variables_set" id="q4,c{caXx^Y$|2CZ?L4G"><field name="VAR">ALPHA</field><comment pinned="false" h="80" w="160">指数平滑因子0 &lt; ALPHA &lt; 1</comment><value name="VALUE"><block type="math_number" id="`HO.XHE_vPn3osH;M4pJ"><field name="NUM">0.8</field></block></value><next><block type="controls_whileUntil" id="D.=49w(^1;q$~1,3X_9b"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="]xk_=V0`T@C`z#D!W5W8"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="variables_set" id="b8^2dluBg!]Vx]$sKeDZ"><field name="VAR">raw_x</field><value name="VALUE"><block type="sensor_get_acceleration" id="Uv`yKI~cO.M?w9J]E_`h"><field name="key">[0]</field></block></value><next><block type="variables_set" id="$0AgUdTu].a{D8rIj7wg"><field name="VAR">raw_y</field><value name="VALUE"><block type="sensor_get_acceleration" id="4SUq9XPKbz[Z(NgeQ{2g"><field name="key">[1]</field></block></value><next><block type="controls_if" id="x1q]vAaxOCF~-fR)?vWz"><comment pinned="false" h="80" w="160">忽略小幅移动</comment><value name="IF0"><block type="logic_compare" id="J@c7xzmQ)[bJDkWE)U-]"><field name="OP">LT</field><value name="A"><block type="math_to_int" id="5#`jgYqG:!dyVb?tU_;u"><field name="OP">fabs</field><value name="A"><shadow type="math_number" id="S#6UGVWD=+/)G]md0m/6"><field name="NUM">0.998</field></shadow><block type="variables_get" id="lDQ=Q~C{}[#H}GD9Pit^"><field name="VAR">raw_x</field></block></value></block></value><value name="B"><block type="variables_get" id="m(#(-5*L:VWMPwr+5SH:"><field name="VAR">MOVE_THRESHOLD</field></block></value></block></value><statement name="DO0"><block type="variables_set" id="8^{aeJe[2H,q;NP~FfhD"><field name="VAR">raw_x</field><value name="VALUE"><block type="math_number" id="Kpz3f3-/?d`2/KO*?*J7"><field name="NUM">0</field></block></value></block></statement><next><block type="controls_if" id="_u]j!;*Mj+H~RW?.I!0o"><comment pinned="false" h="80" w="160">忽略小幅移动</comment><value name="IF0"><block type="logic_compare" id="rDZ/LD$,=QkOVYFLUa1|"><field name="OP">LT</field><value name="A"><block type="math_to_int" id="O.a3jJ/lv;u_E~nTyP|`"><field name="OP">fabs</field><value name="A"><shadow type="math_number" id="gV*V0gFz#b3j?9_*uy@1"><field name="NUM">0.998</field></shadow><block type="variables_get" id="Vlvc3!UW4^@mKhY0+Gw_"><field name="VAR">raw_y</field></block></value></block></value><value name="B"><block type="variables_get" id="~)g1K`?6y/U.cRG0Y7+9"><field name="VAR">MOVE_THRESHOLD</field></block></value></block></value><statement name="DO0"><block type="variables_set" id="Mp3a1:3p[l1j$p,#]eoe"><field name="VAR">raw_y</field><value name="VALUE"><block type="math_number" id="/Hh{?u1XHQq82A{02ori"><field name="NUM">0</field></block></value></block></statement><next><block type="variables_set" id="-C9)T322Aeo`=Bv|Tz#*"><field name="VAR">x</field><value name="VALUE"><block type="text_to_number" id="eyUK1TZ2/^P((6Uih|Xw"><field name="TOWHAT">int</field><value name="VAR"><shadow type="variables_get" id="e05$}]IIO!J@9iZ8O|YU"><field name="VAR">x</field></shadow><block type="math_arithmetic" id=".R3E-4t86C8Ulgp`G}K|"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="8Nif=PkEz)S*(I7hH$7c"><field name="NUM">1</field></shadow><block type="variables_get" id="hkGP)vXG9=tcK({aP0(8"><field name="VAR">raw_x</field></block></value><value name="B"><shadow type="math_number" id="/JZ5I)sESRw@~q7#4D4@"><field name="NUM">1</field></shadow><block type="variables_get" id=",3/+amKGE@I;$E!#Ty.y"><field name="VAR">SENSITIVITY</field></block></value></block></value></block></value><next><block type="variables_set" id="{YSNIXLxwA-N?md^q.e["><field name="VAR">y</field><value name="VALUE"><block type="text_to_number" id="432Z?l$7PN;GtDOzcJJi"><field name="TOWHAT">int</field><value name="VAR"><shadow type="variables_get" id="2ASn#f-lj7?w/}(kikfI"><field name="VAR">x</field></shadow><block type="math_arithmetic" id="kCHAid+qSYiq5$yT[Oc+"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="Q~3x9;qJ*j_.9|3OVOHc"><field name="NUM">1</field></shadow><block type="variables_get" id="j=326r9-Ndgn?[|uSZM@"><field name="VAR">raw_y</field></block></value><value name="B"><shadow type="math_number" id="^_qGC~lJ`fxh(}cb7-U:"><field name="NUM">1</field></shadow><block type="variables_get" id="[z,Fsx{v~KM8n/2_tQ~."><field name="VAR">SENSITIVITY</field></block></value></block></value></block></value><next><block type="variables_set" id="~;AWQ$^2@^u^rQf5IfKE"><field name="VAR">smooth_x</field><comment pinned="false" h="80" w="160">平滑处理</comment><value name="VALUE"><block type="math_arithmetic" id=",BN0hVbYg,Ol,k@J?k@!"><field name="OP">ADD</field><value name="A"><shadow type="math_number" id="`BD5W!fiY,*wMI}#QGXk"><field name="NUM">1</field></shadow><block type="math_arithmetic" id="u++mz9$2bN-.3nUmjT:I"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="J5e`f(x8SxKa[RY[$c]3"><field name="NUM">1</field></shadow><block type="variables_get" id="ZdZu+$,Sz*e`.W.WL!]p"><field name="VAR">ALPHA</field></block></value><value name="B"><shadow type="math_number" id="V?xKI7XW+L[@2`X*iq`z"><field name="NUM">1</field></shadow><block type="variables_get" id="M?z?hMbd`^-ML;(bINx$"><field name="VAR">smooth_x</field></block></value></block></value><value name="B"><shadow type="math_number" id="u5zk*nE217WZ[dfmHvq]"><field name="NUM">1</field></shadow><block type="math_arithmetic" id="su2A_.[fAt-D,Q!|gaJz"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="_Fwmyu61dH*_Sji1=i$L"><field name="NUM">1</field></shadow><block type="math_arithmetic" id="o,z}eG#PagX6W{6HJxZP"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id="Sx2:!Z/!++S[b.t9Oybs"><field name="NUM">1</field></shadow></value><value name="B"><shadow type="math_number" id="Syn+SparQjWxcE;vLAM5"><field name="NUM">1</field></shadow><block type="variables_get" id="IG9jP|K(o.KH/Z;3ppv$"><field name="VAR">ALPHA</field></block></value></block></value><value name="B"><shadow type="math_number" id="!iGj6MV6L2trOOT(djbt"><field name="NUM">1</field></shadow><block type="variables_get" id="KQ^I^*0|ics9OXX/s+$D"><field name="VAR">x</field></block></value></block></value></block></value><next><block type="variables_set" id="mf4j^X_kh=R|V`_5_09w"><field name="VAR">smooth_y</field><comment pinned="false" h="80" w="160">平滑处理</comment><value name="VALUE"><block type="math_arithmetic" id="]A4tv2_oD,;khpu[/..o"><field name="OP">ADD</field><value name="A"><shadow type="math_number" id="bGPT.kS?]5GBSHD*1n{("><field name="NUM">1</field></shadow><block type="math_arithmetic" id="C?spuD-v,6_r#)/~k7vo"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="hpuBLhATcf4r+xkzH,zq"><field name="NUM">1</field></shadow><block type="variables_get" id=")C9#ZY{o-Zy*YL){Oga~"><field name="VAR">ALPHA</field></block></value><value name="B"><shadow type="math_number" id="kg{2Kp@:regCn{s~*r,q"><field name="NUM">1</field></shadow><block type="variables_get" id="j10$}cB7tKt]w;`lg3Re"><field name="VAR">smooth_y</field></block></value></block></value><value name="B"><shadow type="math_number" id="oW)PWxt!$A{8AR3Ja6A="><field name="NUM">1</field></shadow><block type="math_arithmetic" id="-Fa`-lOTr~3Svs{A$cAi"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="rQE+]-4.fAr=#O^vY52("><field name="NUM">1</field></shadow><block type="math_arithmetic" id="f[$_WujyY:DYI7TLD5h;"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id="sWKKAC,+{b_RPv*kzW=|"><field name="NUM">1</field></shadow></value><value name="B"><shadow type="math_number" id="zJMS#)dj]2Qvw+c_REMB"><field name="NUM">1</field></shadow><block type="variables_get" id="bd9ZfZyHP}klT_@tP1ra"><field name="VAR">ALPHA</field></block></value></block></value><value name="B"><shadow type="math_number" id="R2bEz4xtG`NE}8t=Y.?="><field name="NUM">1</field></shadow><block type="variables_get" id="Vm=TRCXy}bvxnU`Xe14Q"><field name="VAR">y</field></block></value></block></value></block></value><next><block type="controls_if" id="OdeKMrpyAzLE6Gn9LYbq"><mutation elseif="1"></mutation><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="D]fT$|7w.=d5bZagAN[5"><value name="btn"><shadow type="pins_button" id="NHjwT[,Vtfu~UyMAp;LO"><field name="PIN">B2key</field></shadow></value></block></value><statement name="DO0"><block type="analog_ble_mouse_input" id="?7_=.k8!wGZL!:Y/.*et"><field name="release">False</field><value name="key"><block type="mouse_key" id="fcE[lIpP`=VW6Gl}1XS;"><field name="op">0x01</field></block></value><value name="x"><shadow type="math_number" id="wFl+g@yZ-q(!*^V?{C;I"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="0I@$$AmGl43|XLP4F*|."><field name="NUM">0</field></shadow></value><value name="wheel"><shadow type="math_number" id=";4xJ-iVd@Wr-}bNvf(gI"><field name="NUM">0</field></shadow></value></block></statement><value name="IF1"><block type="sensor_mixgo_button_was_pressed" id="FFsI.zU-:k|X,?qJAS1t"><value name="btn"><shadow type="pins_button" id="Pp2)xi-pc_qdAFL8qG+c"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO1"><block type="analog_ble_mouse_input" id="_?l~K35zaw;Gzwg-Lq$u"><field name="release">True</field><value name="key"><block type="mouse_key" id="c-P0PQ8QNRL]v6G(6*o9"><field name="op">0x02</field></block></value><value name="x"><shadow type="math_number" id="7w`tVR;|-cs5oDB0fSme"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="9rvO/0`yGUVsrMj@6PXA"><field name="NUM">0</field></shadow></value><value name="wheel"><shadow type="math_number" id="(J~m*#t2f=;GhiS0`3!U"><field name="NUM">0</field></shadow></value></block></statement><next><block type="analog_ble_mouse_input" id="rH_EHX($po*!)6M31X:c"><field name="release">True</field><value name="key"><block type="mouse_key" id="6^(gp}J9(36Errp:S]U,"><field name="op">0x00</field></block></value><value name="x"><shadow type="math_number" id="FY94(^4xcVWjRV5`LYSp"><field name="NUM">0</field></shadow><block type="text_to_number" id="cwus+aJmUFqNFG04=O(("><field name="TOWHAT">int</field><value name="VAR"><shadow type="variables_get" id="Y{=@JoN:uhD6z]mRRH`u"><field name="VAR">smooth_y</field></shadow></value></block></value><value name="y"><shadow type="math_number" id="(}0NWvL,n@(^chr6.X/1"><field name="NUM">0</field></shadow><block type="text_to_number" id="EFAP9:}!{zoC^=?Tq1KX"><field name="TOWHAT">int</field><value name="VAR"><shadow type="variables_get" id="(*3Bz!@s/w?c}IcmQWbV"><field name="VAR">smooth_y</field></shadow><block type="math_arithmetic" id="=dJzC:]#8[x7}5B!.9x2"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="U4soLhzum?q*`guMCJ2."><field name="NUM">1</field></shadow><block type="variables_get" id="9+D3O7,#U@qV_167[F3s"><field name="VAR">smooth_x</field></block></value><value name="B"><shadow type="math_number" id="|OT.4x/GlUBCqKM]81s1"><field name="NUM">-1</field></shadow></value></block></value></block></value><value name="wheel"><shadow type="math_number" id="b+)dP6d;ny6qvC#I:mNx"><field name="NUM">0</field></shadow></value><next><block type="controls_delay_new" id="jv(+q}2RS}j}p97Ei3{:"><field name="Time">ms</field><value name="DELAY_TIME"><shadow type="math_number" id="85TDZ]|-k9?e~OSfvI*h"><field name="NUM">10</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></xml><config>{}</config><code>ZnJvbSBibGVfaGlkX21vdXNlIGltcG9ydCBNb3VzZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCBtYXRoCmltcG9ydCBtaXhnb19taW5pCmltcG9ydCB0aW1lCgoKYmxlX21vdXNlPU1vdXNlKCdibGVfTW91c2UnKQojIOeBteaVj+W6pgpTRU5TSVRJVklUWSA9IDMwCiMg56e75Yqo6ZiI5YC8Ck1PVkVfVEhSRVNIT0xEID0gMC4wNQojIOW5s+a7keWkhOeQhueahOWOhuWPsuaVsOaNrgpzbW9vdGhfeCA9IDAKIyDlubPmu5HlpITnkIbnmoTljoblj7LmlbDmja4Kc21vb3RoX3kgPSAwCiMg5oyH5pWw5bmz5ruR5Zug5a2Q77yIMCA8IEFMUEhBIDwgMe+8iQpBTFBIQSA9IDAuOAp3aGlsZSBUcnVlOgogICAgcmF3X3ggPSBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXQogICAgcmF3X3kgPSBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXQogICAgIyDlv73nlaXlsI/luYXnp7vliqgKICAgIGlmIG1hdGguZmFicyhyYXdfeCkgPCBNT1ZFX1RIUkVTSE9MRDoKICAgICAgICByYXdfeCA9IDAKICAgICMg5b+955Wl5bCP5bmF56e75YqoCiAgICBpZiBtYXRoLmZhYnMocmF3X3kpIDwgTU9WRV9USFJFU0hPTEQ6CiAgICAgICAgcmF3X3kgPSAwCiAgICB4ID0gaW50KChyYXdfeCAqIFNFTlNJVElWSVRZKSkKICAgIHkgPSBpbnQoKHJhd195ICogU0VOU0lUSVZJVFkpKQogICAgIyDlubPmu5HlpITnkIYKICAgIHNtb290aF94ID0gQUxQSEEgKiBzbW9vdGhfeCArICgxIC0gQUxQSEEpICogeAogICAgIyDlubPmu5HlpITnkIYKICAgIHNtb290aF95ID0gQUxQSEEgKiBzbW9vdGhfeSArICgxIC0gQUxQSEEpICogeQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDEsKDAsMCksMCxGYWxzZSkKICAgIGVsaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDIsKDAsMCksMCxUcnVlKQogICAgYmxlX21vdXNlLm5vdGlmeV9oaWQoMHgwMCwoaW50KHNtb290aF95KSxpbnQoKHNtb290aF94ICogLTEpKSksMCxUcnVlKQogICAgdGltZS5zbGVlcF9tcygxMCkK</code>