Repository navigation
Expand file tree
/
Copy pathmission_switcher.py
More file actions
45 lines (39 loc) · 14.2 KB
/
Copy pathmission_switcher.py
File metadata and controls
45 lines (39 loc) · 14.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# pybricks blocks file:{"blocks":{"languageVersion":0,"blocks":[{"type":"blockGlobalSetup","id":"bjK,wS1MYO7aiYkFSwd{","x":8,"y":90,"deletable":false,"next":{"block":{"type":"variables_set_prime_hub","id":"xS%7Ui2uiemfP(_V?TBr","extraState":{"optionLevel":0},"fields":{"VAR":{"id":"Z3uFo]+/z$=#/fmanDjt"}},"next":{"block":{"type":"variables_setup_any","id":"=K[Bb+g,!uPIdm30V4sw","fields":{"VAR":{"id":"g1kj/AWOD3H}r[e^Ar2l"}},"inputs":{"VALUE0":{"shadow":{"type":"blockMathNumber","id":"wd8EbL{Qp$gvdV(lJ;m5","fields":{"NUM":1}}}}}}}}},{"type":"blockGlobalStart","id":"3tJe|AWl0baN(wH9a$@.","x":-184,"y":304,"deletable":false,"next":{"block":{"type":"blockHubStopButton","id":"I~|zt.f]EOH[|rSr2R[F","inputs":{"VAR":{"shadow":{"type":"variables_get_button_hub","id":";5Y|8D:rE8(yC*YP`Si{","fields":{"VAR":{"id":"Z3uFo]+/z$=#/fmanDjt","name":"prime hub","type":"PrimeHub"}}}},"VALUE0":{"shadow":{"type":"blockParametersButton","id":"DM_oUK+TY+mmqM_9x^m.","fields":{"VALUE":"BLUETOOTH"}}}},"next":{"block":{"type":"blockFlowWhile","id":"u7FF?)|wJy3W(8pKa2bS","fields":{"MODE":"WHILE"},"inputs":{"BOOL":{"shadow":{"type":"blockLogicTrue","id":",FfnS(thaQ5qC=@-Repq"}},"DO":{"block":{"type":"blockLightMatrixDo","id":";vb3ST9MuN1b5.Nl;Nit","extraState":{"optionLevel":1},"fields":{"METHOD":"LIGHT_MATRIX_NUMBER"},"inputs":{"VAR":{"shadow":{"type":"variables_get_light_matrix_hub","id":"AlX=s:iQmI-ZwkIc/[/7","fields":{"VAR":{"id":"Z3uFo]+/z$=#/fmanDjt","name":"prime hub","type":"PrimeHub"}}}},"ARG0":{"shadow":{"type":"blockMathNumber","id":"DahD4%{ihHh[~s:|36!M","fields":{"NUM":42}},"block":{"type":"blockVariableGetValue","id":"f-~)@-)~z#;]~//x-Epf","inputs":{"VAR":{"shadow":{"type":"variables_get_any","id":"!@fj0iA;,mpw+Ro1n=lc","fields":{"VAR":{"id":"g1kj/AWOD3H}r[e^Ar2l","name":"Selected","type":"Any"}}}}}}}},"next":{"block":{"type":"blockIfElse","id":"-9[57no!ub1zk+?dud![","extraState":{"optionLevel":0},"inputs":{"IF0":{"shadow":{"type":"blockLogicTrue","id":"SLfVNz6dL[ch);0jOBTE"},"block":{"type":"blockButtonIsPressed","id":"S?lL%cSugR~?^9]v$@25","inputs":{"VAR":{"shadow":{"type":"variables_get_keypad","id":"ab_.#8/?AFo]%U9-:bzA","fields":{"VAR":{"id":"Z3uFo]+/z$=#/fmanDjt","name":"prime hub","type":"PrimeHub"}}}},"VALUE0":{"shadow":{"type":"blockParametersButton","id":"*eF;Q,!%r!}vKsUdvArL","fields":{"VALUE":"RIGHT"}}}}}},"DO0":{"block":{"type":"blockVariableSetValue","id":"w+Wm-EIo}2@U0._^.gw;","inputs":{"VAR":{"shadow":{"type":"variables_get_any","id":"2x/RI@N-vNkVdR!Trg4e","fields":{"VAR":{"id":"g1kj/AWOD3H}r[e^Ar2l","name":"Selected","type":"Any"}}}},"VALUE0":{"shadow":{"type":"blockMathNumber","id":"bkY,kk9Gmr.=LC+g5!hr","fields":{"NUM":0}},"block":{"type":"blockMathArithmetic","id":"0LCo_{6}7gHh*[-tH2or","fields":{"OP":"ADD"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":"8t]|voj)MY`eW%ZN|K#[","fields":{"NUM":1}},"block":{"type":"blockVariableGetValue","id":"lq*mJ5X:-EYBKA+RZJSa","inputs":{"VAR":{"shadow":{"type":"variables_get_any","id":"o8@83x0QHZIW9MZIIWnw","fields":{"VAR":{"id":"g1kj/AWOD3H}r[e^Ar2l","name":"Selected","type":"Any"}}}}}}},"B":{"shadow":{"type":"blockMathNumber","id":"%?2`9y){pk8G[_X__nyX","fields":{"NUM":1}}}}}}},"next":{"block":{"type":"blockWaitTime","id":"[F},k)[x*-CBh0Msf$5-","inputs":{"VALUE0":{"shadow":{"type":"unit_time","id":"JpfK?3%8xgRyxez:-T{)","fields":{"VALUE0":500}}}}}}}}},"next":{"block":{"type":"blockIfElse","id":"i1Ri0g{n5T=z~(NXSC,x","extraState":{"optionLevel":0},"inputs":{"IF0":{"shadow":{"type":"blockLogicTrue","id":"/:H);_J[y}wuwg4Ndste"},"block":{"type":"blockLogicCompare","id":"hh:qn{vK+wwRxZKa_C{N","fields":{"OP1":"LTE"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":"nH}Xnp)B1sf|MP+rpq+l","fields":{"NUM":3}},"block":{"type":"blockVariableGetValue","id":"!rw(Te06TrlL`N}J#,e0","inputs":{"VAR":{"shadow":{"type":"variables_get_any","id":"`iSIpX-=JYNE,R.{xiME","fields":{"VAR":{"id":"g1kj/AWOD3H}r[e^Ar2l","name":"Selected","type":"Any"}}}}}}},"B":{"shadow":{"type":"blockMathNumber","id":")Th2:a$P@orEF+(sjazM","fields":{"NUM":1}}}}}},"DO0":{"block":{"type":"blockVariableSetValue","id":"VF3ckp1SdX:}jZ0)HW_[","inputs":{"VAR":{"shadow":{"type":"variables_get_any","id":"GTAfNy@r1FX_!;7?LgCk","fields":{"VAR":{"id":"g1kj/AWOD3H}r[e^Ar2l","name":"Selected","type":"Any"}}}},"VALUE0":{"shadow":{"type":"blockMathNumber","id":"+/c6$oKw?i_8pg/n6RS[","fields":{"NUM":1}}}}}}},"next":{"block":{"type":"blockIfElse","id":"4F-`%,;7zG?n3.2v,z1T","extraState":{"optionLevel":0},"inputs":{"IF0":{"shadow":{"type":"blockLogicTrue","id":"SLfVNz6dL[ch);0jOBTE"},"block":{"type":"blockButtonIsPressed","id":"h[p]8n((N%Q.]Ca[$Pc@","inputs":{"VAR":{"shadow":{"type":"variables_get_keypad","id":"aIWxJ4PW[h!dm6^l7g2Y","fields":{"VAR":{"id":"Z3uFo]+/z$=#/fmanDjt","name":"prime hub","type":"PrimeHub"}}}},"VALUE0":{"shadow":{"type":"blockParametersButton","id":"mh=lMe+3G3etiCupdz|R","fields":{"VALUE":"LEFT"}}}}}},"DO0":{"block":{"type":"blockVariableSetValue","id":"=0}JxNV-=S`NX!:,(!U@","inputs":{"VAR":{"shadow":{"type":"variables_get_any","id":"EyRG-5m2]LENsrf8)H*n","fields":{"VAR":{"id":"g1kj/AWOD3H}r[e^Ar2l","name":"Selected","type":"Any"}}}},"VALUE0":{"shadow":{"type":"blockMathNumber","id":"bkY,kk9Gmr.=LC+g5!hr","fields":{"NUM":0}},"block":{"type":"blockMathArithmetic","id":"%G*p+b]7*`,V*Y~}4oqP","fields":{"OP":"MINUS"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":"8t]|voj)MY`eW%ZN|K#[","fields":{"NUM":1}},"block":{"type":"blockVariableGetValue","id":"gAsbI3uHZnW]sOzgPT]b","inputs":{"VAR":{"shadow":{"type":"variables_get_any","id":"wO|59[,{ZSIuxx^7Iv):","fields":{"VAR":{"id":"g1kj/AWOD3H}r[e^Ar2l","name":"Selected","type":"Any"}}}}}}},"B":{"shadow":{"type":"blockMathNumber","id":"e1dhiZS-)C-QIeSP4kR=","fields":{"NUM":1}}}}}}},"next":{"block":{"type":"blockWaitTime","id":"#DVSTzUE(vrd9+([-`pM","inputs":{"VALUE0":{"shadow":{"type":"unit_time","id":"FU)IM`P`3c.~Hk}e]chh","fields":{"VALUE0":500}}}}}}}}},"next":{"block":{"type":"blockIfElse","id":"qZfPLBBP]hM,Siu_|3$O","extraState":{"optionLevel":0},"inputs":{"IF0":{"shadow":{"type":"blockLogicTrue","id":"f7`8b0w[-6fQg#]EGtut"},"block":{"type":"blockButtonIsPressed","id":"}RxtG;q![7Gc4j@L?Sf+","inputs":{"VAR":{"shadow":{"type":"variables_get_keypad","id":"@,FJIJfNP$Rn@vMakb#Z","fields":{"VAR":{"id":"Z3uFo]+/z$=#/fmanDjt","name":"prime hub","type":"PrimeHub"}}}},"VALUE0":{"shadow":{"type":"blockParametersButton","id":"HH^.!?@`+(8xc.D7,%Lj","fields":{"VALUE":"CENTER"}}}}}},"DO0":{"block":{"type":"blockIfElse","id":"G#}N(U7hvvTWFgZbyCQ(","extraState":{"optionLevel":0},"inputs":{"IF0":{"shadow":{"type":"blockLogicTrue","id":"*s~uZn5;D-U91GU287!f"},"block":{"type":"blockLogicCompare","id":"FZnO2[TZ+iD)Jxi:#[L(","fields":{"OP1":"EQ"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":"OaB9[8#EiZj[o3j~5FKb","fields":{"NUM":3}},"block":{"type":"blockVariableGetValue","id":"(]5Qg!T@ZZp{pzylT.u0","inputs":{"VAR":{"shadow":{"type":"variables_get_any","id":"G~5x?x1jbz`x0XmtS!^G","fields":{"VAR":{"id":"g1kj/AWOD3H}r[e^Ar2l","name":"Selected","type":"Any"}}}}}}},"B":{"shadow":{"type":"blockMathNumber","id":"A[TKMo*mRirw29,nCWeQ","fields":{"NUM":1}}}}}},"DO0":{"block":{"type":"blockFunctionCallerStatement","id":"T6wu{?v!O]K`1FCjz,p;","extraState":{"optionLevel":0},"fields":{"ICON":"TASK","VAR":{"id":"@!s4TDE*DPZp5C2lk!J}"}}}}},"next":{"block":{"type":"blockIfElse","id":"@`#G=N2~}@Rhr1x.KMT)","extraState":{"optionLevel":0},"inputs":{"IF0":{"shadow":{"type":"blockLogicTrue","id":"*s~uZn5;D-U91GU287!f"},"block":{"type":"blockLogicCompare","id":"7pwNX$=i]OzofVUu*%;y","fields":{"OP1":"EQ"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":"OaB9[8#EiZj[o3j~5FKb","fields":{"NUM":3}},"block":{"type":"blockVariableGetValue","id":"b!95Sl=cF2+D++lkSRxN","inputs":{"VAR":{"shadow":{"type":"variables_get_any","id":"On;D23H?=@Xd38`vhELZ","fields":{"VAR":{"id":"g1kj/AWOD3H}r[e^Ar2l","name":"Selected","type":"Any"}}}}}}},"B":{"shadow":{"type":"blockMathNumber","id":"fCqR)4$=S=Ec(NNgw697","fields":{"NUM":2}}}}}},"DO0":{"block":{"type":"blockFunctionCallerStatement","id":"r!l3re~|PjsN9ukG*R=?","extraState":{"optionLevel":0},"fields":{"ICON":"TASK","VAR":{"id":"3o!F1t;%l3{0p]r7|v_~"}}}}},"next":{"block":{"type":"blockIfElse","id":"tMz3nV~{[.nlYNZ{!qK;","extraState":{"optionLevel":0},"inputs":{"IF0":{"shadow":{"type":"blockLogicTrue","id":"*s~uZn5;D-U91GU287!f"},"block":{"type":"blockLogicCompare","id":"km8[I9^`T!K:pw5b*r)j","fields":{"OP1":"EQ"},"inputs":{"A":{"shadow":{"type":"blockMathNumber","id":"OaB9[8#EiZj[o3j~5FKb","fields":{"NUM":3}},"block":{"type":"blockVariableGetValue","id":";qTQ)b{KJT/8f@%L:~v9","inputs":{"VAR":{"shadow":{"type":"variables_get_any","id":"Du**W-1e_B+-!%J5V4~7","fields":{"VAR":{"id":"g1kj/AWOD3H}r[e^Ar2l","name":"Selected","type":"Any"}}}}}}},"B":{"shadow":{"type":"blockMathNumber","id":"Qyz)eEtSZ+.C=$5W!GA|","fields":{"NUM":3}}}}}},"DO0":{"block":{"type":"blockFunctionCallerStatement","id":"omJD1@?WSi)k,q?nOd1[","extraState":{"optionLevel":0},"fields":{"ICON":"TASK","VAR":{"id":"Xf7L*gzQfke%--6ff8{A"}}}}},"next":{"block":{"type":"blockWaitTime","id":"9Z{`E@o/C_no,OPmts9y","inputs":{"VALUE0":{"shadow":{"type":"unit_time","id":"P*tgT)f`z$,Syg=bbp2$","fields":{"VALUE0":1000}}}}}}}}}}}}}}}}}}}}}}}}}}}}},{"type":"variables_setup_function","id":"/:g*?zlHV4%@HsKDjLqv","x":813,"y":99,"extraState":{"optionLevel":0},"fields":{"ICON":"TASK","VAR":{"id":"@!s4TDE*DPZp5C2lk!J}"}},"inputs":{"STACK":{"block":{"type":"blockPrint","id":"j,,T}?rBkaW$1v?olp4p","extraState":{"optionLevel":0},"inputs":{"TEXT0":{"shadow":{"type":"text","id":"!x5.0YiWya^`(y)yO5B8","fields":{"TEXT":"Mission1"}}}},"next":{"block":{"type":"blockLightOnColor","id":"Qs/LXy=Q`w/?M)b4Jg~2","extraState":{"optionLevel":1},"fields":{"METHOD":"LIGHT_ON"},"inputs":{"VAR":{"shadow":{"type":"variables_get_color_light_device","id":"m]70s@,XS3V#V{y6]uVD","fields":{"VAR":{"id":"Z3uFo]+/z$=#/fmanDjt","name":"prime hub","type":"PrimeHub"}}}},"COLOR":{"shadow":{"type":"variables_get_color","id":"3?iB*0HMHn@n%RHO%z$$","fields":{"COLOUR":"#ff0000","VAR":{"id":".!,bSM#nqaW`:a)iVxzh","name":"red","type":"ColorDef"}}}}},"next":{"block":{"type":"blockWaitTime","id":"]$M7^6`ns?(neabmX$Ak","inputs":{"VALUE0":{"shadow":{"type":"unit_time","id":"b8jRvM{7MM);/c2%N420","fields":{"VALUE0":1000}}}}}}}}}}}},{"type":"variables_setup_function","id":"#*hu,^)Q+]R^EW6m:KCK","x":787,"y":368,"extraState":{"optionLevel":0},"fields":{"ICON":"TASK","VAR":{"id":"3o!F1t;%l3{0p]r7|v_~"}},"inputs":{"STACK":{"block":{"type":"blockPrint","id":"+%pma^rLRJV)NJ[(.2;{","extraState":{"optionLevel":0},"inputs":{"TEXT0":{"shadow":{"type":"text","id":"b;WVBaEw*(}Z@;NdWfzD","fields":{"TEXT":"Mission2"}}}},"next":{"block":{"type":"blockLightOnColor","id":"0QcI.]J(~{UtP|%SHF4Q","extraState":{"optionLevel":1},"fields":{"METHOD":"LIGHT_ON"},"inputs":{"VAR":{"shadow":{"type":"variables_get_color_light_device","id":"K0$yHFmUoWJ1,t3);.0{","fields":{"VAR":{"id":"Z3uFo]+/z$=#/fmanDjt","name":"prime hub","type":"PrimeHub"}}}},"COLOR":{"shadow":{"type":"variables_get_color","id":"I47z[dNnGGBFpu_A*e9c","fields":{"COLOUR":"#00ff00","VAR":{"id":"Ca5Gl1V=z~D;MVpWh]l/","name":"green","type":"ColorDef"}}}}},"next":{"block":{"type":"blockWaitTime","id":"f=/Z40jeNd78(fQ4sJUG","inputs":{"VALUE0":{"shadow":{"type":"unit_time","id":"(aOm2tM#B,)n.=!Is/_5","fields":{"VALUE0":1000}}}}}}}}}}}},{"type":"variables_setup_function","id":"ZaOpe]9~Ra:+J+HrY|D@","x":783,"y":616,"extraState":{"optionLevel":0},"fields":{"ICON":"TASK","VAR":{"id":"Xf7L*gzQfke%--6ff8{A"}},"inputs":{"STACK":{"block":{"type":"blockPrint","id":"e+t/`lkkz!axBMM:N4ZO","extraState":{"optionLevel":0},"inputs":{"TEXT0":{"shadow":{"type":"text","id":"R1:S*sTr[U(Q.G.@f_5v","fields":{"TEXT":"Mission 3"}}}},"next":{"block":{"type":"blockLightOnColor","id":"xG)#K,z+4VU3$GGbl0@]","extraState":{"optionLevel":1},"fields":{"METHOD":"LIGHT_ON"},"inputs":{"VAR":{"shadow":{"type":"variables_get_color_light_device","id":"f)FaRU)G(K+t_Jr(*l|:","fields":{"VAR":{"id":"Z3uFo]+/z$=#/fmanDjt","name":"prime hub","type":"PrimeHub"}}}},"COLOR":{"shadow":{"type":"variables_get_color","id":".cgR%H^y[ecvLc=H.||F","fields":{"COLOUR":"#ffff00","VAR":{"id":"Gf710dgDol*!.ez6%Kih","name":"yellow","type":"ColorDef"}}}}},"next":{"block":{"type":"blockWaitTime","id":"{89l,S?0:v@aFG9^?Vu6","inputs":{"VALUE0":{"shadow":{"type":"unit_time","id":"|T:.Z7l.DGx?VCu~D]86","fields":{"VALUE0":1000}}}}}}}}}}}}]},"variables":[{"name":"red","id":".!,bSM#nqaW`:a)iVxzh","type":"ColorDef"},{"name":"orange","id":"*dvElK-UyNvk@NJpm:r(","type":"ColorDef"},{"name":"yellow","id":"Gf710dgDol*!.ez6%Kih","type":"ColorDef"},{"name":"green","id":"Ca5Gl1V=z~D;MVpWh]l/","type":"ColorDef"},{"name":"cyan","id":"-61)2kxb%9OW.b}4/eT)","type":"ColorDef"},{"name":"blue","id":"%WPLn]BMk=FX[o)BL1*m","type":"ColorDef"},{"name":"violet","id":"Jqu.l@YVPeFU4x/1iac$","type":"ColorDef"},{"name":"magenta","id":"~ano{8ZUHs*[EP66N5=+","type":"ColorDef"},{"name":"white","id":"dHx}6#euAuiL*%SPwDsD","type":"ColorDef"},{"name":"none","id":"hZ#d0o#m#:*lG?Cn.;Xp","type":"ColorDef"},{"name":"prime hub","id":"Z3uFo]+/z$=#/fmanDjt","type":"PrimeHub"},{"name":"Mission1","id":"@!s4TDE*DPZp5C2lk!J}","type":"Function"},{"name":"Mission2","id":"3o!F1t;%l3{0p]r7|v_~","type":"Function"},{"name":"Mission 3","id":"Xf7L*gzQfke%--6ff8{A","type":"Function"},{"name":"Selected","id":"g1kj/AWOD3H}r[e^Ar2l","type":"Any"}],"info":{"type":"pybricks","version":"2.0.0"},"workspaceOptions":{"scrollX":283.3667915532408,"scrollY":-42.50445948125292,"scale":0.3879401747916993}}
from pybricks.hubs import PrimeHub
from pybricks.parameters import Button, Color
from pybricks.tools import wait
# Set up.
prime_hub = PrimeHub()
Selected = 1
def Mission1():
print('Mission1')
prime_hub.light.on(Color.RED)
wait(1000)
def Mission2():
print('Mission2')
prime_hub.light.on(Color.GREEN)
wait(1000)
def Mission_3():
print('Mission 3')
prime_hub.light.on(Color.YELLOW)
wait(1000)
# The main program starts here.
prime_hub.system.set_stop_button(Button.BLUETOOTH)
while True:
prime_hub.display.number(Selected)
if Button.RIGHT in prime_hub.buttons.pressed():
Selected = Selected + 1
wait(500)
if Selected <= 1:
Selected = 1
if Button.LEFT in prime_hub.buttons.pressed():
Selected = Selected - 1
wait(500)
if Button.CENTER in prime_hub.buttons.pressed():
if Selected == 1:
Mission1()
if Selected == 2:
Mission2()
if Selected == 3:
Mission_3()
wait(1000)