feat: sync micropython esp32 family source configs
This commit is contained in:
3
mixly/boards/default_src/micropython_esp32/.npmignore
Normal file
3
mixly/boards/default_src/micropython_esp32/.npmignore
Normal file
@@ -0,0 +1,3 @@
|
||||
node_modules
|
||||
build
|
||||
origin
|
||||
@@ -0,0 +1,170 @@
|
||||
import { Profile } from 'mixly';
|
||||
|
||||
const pins = {};
|
||||
|
||||
pins["MixGo"] = {
|
||||
description: "MicroPython[ESP32 MixGo]",
|
||||
digital_pin: [["0", "0"], ["2", "2"], ["4", "4"], ["5", "5"], ["12", "12"], ["13", "13"], ["14", "14"], ["15", "15"], ["16", "16"], ["17", "17"], ["18", "18"], ["19", "19"], ["21", "21"], ["22", "22"], ["23", "23"], ["25", "25"], ["26", "26"], ["27", "27"], ["32", "32"], ["33", "33"], ["34", "34"], ["35", "35"], ["36", "36"], ["39", "39"]],
|
||||
digital: [["pin0", "pin0"], ["pin2", "pin2"], ["pin4", "pin4"], ["pin5", "pin5"], ["pin12", "pin12"], ["pin13", "pin13"], ["pin14", "pin14"], ["pin15", "pin15"], ["pin16", "pin16"], ["pin17", "pin17"], ["pin18", "pin18"], ["pin19", "pin19"], ["pin21", "pin21"], ["pin22", "pin22"], ["pin23", "pin23"], ["pin25", "pin25"], ["pin26", "pin26"], ["pin27", "pin27"], ["pin32", "pin32"], ["pin33", "pin33"], ["pin34", "pin34"], ["pin35", "pin35"], ["pin36", "pin36"], ["pin39", "pin39"]],
|
||||
input_pin: [["0", "0"], ["2", "2"], ["4", "4"], ["5", "5"], ["12", "12"], ["13", "13"], ["14", "14"], ["15", "15"], ["16", "16"], ["17", "17"], ["18", "18"], ["19", "19"], ["21", "21"], ["22", "22"], ["23", "23"], ["25", "25"], ["26", "26"], ["27", "27"], ["32", "32"], ["33", "33"], ["34", "34"], ["35", "35"], ["36", "36"], ["39", "39"]],
|
||||
output_pin: [["0", "0"], ["2", "2"], ["4", "4"], ["5", "5"], ["12", "12"], ["13", "13"], ["14", "14"], ["15", "15"], ["16", "16"], ["17", "17"], ["18", "18"], ["19", "19"], ["21", "21"], ["22", "22"], ["23", "23"], ["25", "25"], ["26", "26"], ["27", "27"], ["32", "32"], ["33", "33"]],
|
||||
pwm_pin: [["0", "0"], ["2", "2"], ["4", "4"], ["5", "5"], ["12", "12"], ["13", "13"], ["14", "14"], ["15", "15"], ["16", "16"], ["17", "17"], ["18", "18"], ["19", "19"], ["20", "20"], ["21", "21"], ["22", "22"], ["23", "23"], ["25", "25"], ["26", "26"], ["27", "27"], ["32", "32"], ["33", "33"]],
|
||||
pwm: [["pwm0", "pwm0"], ["pwm2", "pwm2"], ["pwm4", "pwm4"], ["pwm5", "pwm5"], ["pwm12", "pwm12"], ["pwm13", "pwm13"], ["pwm14", "pwm14"], ["pwm15", "pwm15"], ["pwm16", "pwm16"], ["pwm17", "pwm17"], ["pwm18", "pwm18"], ["pwm19", "pwm19"], ["pwm20", "pwm20"], ["pwm21", "pwm21"], ["pwm22", "pwm22"], ["pwm23", "pwm23"], ["pwm25", "pwm25"], ["pwm26", "pwm26"], ["pwm27", "pwm27"], ["pwm32", "pwm32"], ["pwm33", "pwm33"]],
|
||||
analog_pin: [["32", "32"], ["33", "33"], ["34", "34"], ["35", "35"], ["36", "36"], ["37", "37"], ["38", "38"], ["39", "39"]],
|
||||
analog: [["adc32", "adc32"], ["adc33", "adc33"], ["adc34", "adc34"], ["adc35", "adc35"], ["adc36", "adc36"], ["adc37", "adc37"], ["adc38", "adc38"], ["adc39", "adc39"]],
|
||||
espnow_channel: Profile.generate(['1-13']),
|
||||
haskylens_model: Profile.generate(['0-4']),
|
||||
dac_pin: [["25", "25"], ["26", "26"]],
|
||||
dac: [["dac25", "dac25"], ["dac26", "dac26"]],
|
||||
touch: [["tc0", "tc0"], ["tc2", "tc2"], ["tc4", "tc4"], ["tc12", "tc12"], ["tc13", "tc13"], ["tc14", "tc14"], ["tc15", "tc15"], ["tc27", "tc27"], ["tc32", "tc32"], ["tc33", "tc33"]],
|
||||
touch_pin: [["0", "0"], ["2", "2"], ["4", "4"], ["12", "12"], ["13", "13"], ["14", "14"], ["15", "15"], ["27", "27"], ["32", "32"], ["33", "33"]],
|
||||
button: [["A", "button_a"], ["B", "button_b"]],
|
||||
axis: [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"]],
|
||||
exlcdh: [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"], ["8", "8"], ["9", "9"], ["10", "10"], ["11", "11"], ["12", "12"], ["13", "13"], ["14", "14"], ["15", "15"]],
|
||||
exlcdv: [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"]],
|
||||
brightness: [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"], ["8", "8"], ["9", "9"]],
|
||||
tts_voice: Profile.generate(['0-16']),
|
||||
tts_builtin_music: Profile.generate(['0-47']),
|
||||
tts_bgmusic: Profile.generate(['0-15']),
|
||||
builtinimg: [["HEART", "onboard_matrix.HEART"], ["HEART_SMALL", "onboard_matrix.HEART_SMALL"], ["HAPPY", "onboard_matrix.HAPPY"], ["SAD", "onboard_matrix.SAD"], ["SMILE", "onboard_matrix.SMILE"], ["SILLY", "onboard_matrix.SILLY"], ["FABULOUS", "onboard_matrix.FABULOUS"], ["SURPRISED", "onboard_matrix.SURPRISED"], ["ASLEEP", "onboard_matrix.ASLEEP"], ["ANGRY", "onboard_matrix.ANGRY"], ["CONFUSED", "onboard_matrix.CONFUSED"], ["NO", "onboard_matrix.NO"], ["YES", "onboard_matrix.YES"], ["LEFT_ARROW", "onboard_matrix.LEFT_ARROW"], ["RIGHT_ARROW", "onboard_matrix.RIGHT_ARROW"], ["DRESS", "onboard_matrix.DRESS"], ["TRANSFORMERS", "onboard_matrix.TRANSFORMERS"], ["SCISSORS", "onboard_matrix.SCISSORS"], ["EXIT", "onboard_matrix.EXIT"], ["TREE", "onboard_matrix.TREE"], ["PACMAN", "onboard_matrix.PACMAN"], ["TARGET", "onboard_matrix.TARGET"], ["TSHIRT", "onboard_matrix.TSHIRT"], ["ROLLERSKATE", "onboard_matrix.ROLLERSKATE"], ["DUCK", "onboard_matrix.DUCK"], ["HOUSE", "onboard_matrix.HOUSE"], ["TORTOISE", "onboard_matrix.TORTOISE"], ["BUTTERFLY", "onboard_matrix.BUTTERFLY"], ["STICKFIGURE", "onboard_matrix.STICKFIGURE"], ["GHOST", "onboard_matrix.GHOST"], ["PITCHFORK", "onboard_matrix.PITCHFORK"], ["onboard_music_QUAVERS", "onboard_matrix.onboard_music_QUAVERS"], ["onboard_music_QUAVER", "onboard_matrix.onboard_music_QUAVER"], ["onboard_music_CROTCHET", "onboard_matrix.onboard_music_CROTCHET"], ["COW", "onboard_matrix.COW"], ["RABBIT", "onboard_matrix.RABBIT"], ["SQUARE_SMALL", "onboard_matrix.SQUARE_SMALL"], ["SQUARE", "onboard_matrix.SQUARE"], ["DIAMOND_SMALL", "onboard_matrix.DIAMOND_SMALL"], ["DIAMOND", "onboard_matrix.DIAMOND"], ["CHESSBOARD", "onboard_matrix.CHESSBOARD"], ["TRIANGLE_LEFT", "onboard_matrix.TRIANGLE_LEFT"], ["TRIANGLE", "onboard_matrix.TRIANGLE"], ["SNAKE", "onboard_matrix.SNAKE"], ["UMBRELLA", "onboard_matrix.UMBRELLA"], ["SKULL", "onboard_matrix.SKULL"], ["GIRAFFE", "onboard_matrix.GIRAFFE"], ["SWORD", "onboard_matrix.SWORD"]],
|
||||
builtinimg_extern: [["HEART", "matrix32x12.Matrix.HEART"], ["HEART_SMALL", "matrix32x12.Matrix.HEART_SMALL"], ["HAPPY", "matrix32x12.Matrix.HAPPY"], ["SAD", "matrix32x12.Matrix.SAD"], ["SMILE", "matrix32x12.Matrix.SMILE"], ["SILLY", "matrix32x12.Matrix.SILLY"], ["FABULOUS", "matrix32x12.Matrix.FABULOUS"], ["SURPRISED", "matrix32x12.Matrix.SURPRISED"], ["ASLEEP", "matrix32x12.Matrix.ASLEEP"], ["ANGRY", "matrix32x12.Matrix.ANGRY"], ["CONFUSED", "matrix32x12.Matrix.CONFUSED"], ["NO", "matrix32x12.Matrix.NO"], ["YES", "matrix32x12.Matrix.YES"], ["LEFT_ARROW", "matrix32x12.Matrix.LEFT_ARROW"], ["RIGHT_ARROW", "matrix32x12.Matrix.RIGHT_ARROW"], ["DRESS", "matrix32x12.Matrix.DRESS"], ["TRANSFORMERS", "matrix32x12.Matrix.TRANSFORMERS"], ["SCISSORS", "matrix32x12.Matrix.SCISSORS"], ["EXIT", "matrix32x12.Matrix.EXIT"], ["TREE", "matrix32x12.Matrix.TREE"], ["PACMAN", "matrix32x12.Matrix.PACMAN"], ["TARGET", "matrix32x12.Matrix.TARGET"], ["TSHIRT", "matrix32x12.Matrix.TSHIRT"], ["ROLLERSKATE", "matrix32x12.Matrix.ROLLERSKATE"], ["DUCK", "matrix32x12.Matrix.DUCK"], ["HOUSE", "matrix32x12.Matrix.HOUSE"], ["TORTOISE", "matrix32x12.Matrix.TORTOISE"], ["BUTTERFLY", "matrix32x12.Matrix.BUTTERFLY"], ["STICKFIGURE", "matrix32x12.Matrix.STICKFIGURE"], ["GHOST", "matrix32x12.Matrix.GHOST"], ["PITCHFORK", "matrix32x12.Matrix.PITCHFORK"], ["onboard_music_QUAVERS", "matrix32x12.Matrix.onboard_music_QUAVERS"], ["onboard_music_QUAVER", "matrix32x12.Matrix.onboard_music_QUAVER"], ["onboard_music_CROTCHET", "matrix32x12.Matrix.onboard_music_CROTCHET"], ["COW", "matrix32x12.Matrix.COW"], ["RABBIT", "matrix32x12.Matrix.RABBIT"], ["SQUARE_SMALL", "matrix32x12.Matrix.SQUARE_SMALL"], ["SQUARE", "matrix32x12.Matrix.SQUARE"], ["DIAMOND_SMALL", "matrix32x12.Matrix.DIAMOND_SMALL"], ["DIAMOND", "matrix32x12.Matrix.DIAMOND"], ["CHESSBOARD", "matrix32x12.Matrix.CHESSBOARD"], ["TRIANGLE_LEFT", "matrix32x12.Matrix.TRIANGLE_LEFT"], ["TRIANGLE", "matrix32x12.Matrix.TRIANGLE"], ["SNAKE", "matrix32x12.Matrix.SNAKE"], ["UMBRELLA", "matrix32x12.Matrix.UMBRELLA"], ["SKULL", "matrix32x12.Matrix.SKULL"], ["GIRAFFE", "matrix32x12.Matrix.GIRAFFE"], ["SWORD", "matrix32x12.Matrix.SWORD"]],
|
||||
imglist: [["ALL_CLOCKS", "onboard_matrix.ALL_CLOCKS"], ["ALL_ARROWS", "onboard_matrix.ALL_ARROWS"]],
|
||||
playlist: [["DADADADUM", "onboard_music.DADADADUM"], ["ENTERTAINER", "onboard_music.ENTERTAINER"], ["PRELUDE", "onboard_music.PRELUDE"], ["ODE", "onboard_music.ODE"], ["NYAN", "onboard_music.NYAN"], ["RINGTONE", "onboard_music.RINGTONE"], ["FUNK", "onboard_music.FUNK"], ["BLUES", "onboard_music.BLUES"], ["BIRTHDAY", "onboard_music.BIRTHDAY"], ["WEDDING", "onboard_music.WEDDING"], ["FUNERAL", "onboard_music.FUNERAL"], ["PUNCHLINE", "onboard_music.PUNCHLINE"], ["PYTHON", "onboard_music.PYTHON"], ["BADDY", "onboard_music.BADDY"], ["CHASE", "onboard_music.CHASE"], ["BA_DING", "onboard_music.BA_DING"], ["WAWAWAWAA", "onboard_music.WAWAWAWAA"], ["JUMP_UP", "onboard_music.JUMP_UP"], ["JUMP_DOWN", "onboard_music.JUMP_DOWN"], ["POWER_UP", "onboard_music.POWER_UP"], ["POWER_DOWN", "onboard_music.POWER_DOWN"]],
|
||||
playlist_extern: [["DADADADUM", "DADADADUM"], ["ENTERTAINER", "ENTERTAINER"], ["PRELUDE", "PRELUDE"], ["ODE", "ODE"], ["NYAN", "NYAN"], ["RINGTONE", "RINGTONE"], ["FUNK", "FUNK"], ["BLUES", "BLUES"], ["BIRTHDAY", "BIRTHDAY"], ["WEDDING", "WEDDING"], ["FUNERAL", "FUNERAL"], ["PUNCHLINE", "PUNCHLINE"], ["PYTHON", "PYTHON"], ["BADDY", "BADDY"], ["CHASE", "CHASE"], ["BA_DING", "BA_DING"], ["WAWAWAWAA", "WAWAWAWAA"], ["JUMP_UP", "JUMP_UP"], ["JUMP_DOWN", "JUMP_DOWN"], ["POWER_UP", "POWER_UP"], ["POWER_DOWN", "POWER_DOWN"]],
|
||||
tone_notes: [
|
||||
["NOTE_C3", "131"], ["NOTE_D3", "147"], ["NOTE_E3", "165"], ["NOTE_F3", "175"], ["NOTE_G3", "196"], ["NOTE_A3", "220"], ["NOTE_B3", "247"],
|
||||
["NOTE_C4", "262"], ["NOTE_D4", "294"], ["NOTE_E4", "330"], ["NOTE_F4", "349"], ["NOTE_G4", "392"], ["NOTE_A4", "440"], ["NOTE_B4", "494"],
|
||||
["NOTE_C5", "523"], ["NOTE_D5", "587"], ["NOTE_E5", "659"], ["NOTE_F5", "698"], ["NOTE_G5", "784"], ["NOTE_A5", "880"], ["NOTE_B5", "988"]
|
||||
],
|
||||
serial_pin: [["pin0", "0"], ["pin1", "1"], ["pin2", "2"], ["pin8", "8"], ["pin12", "12"], ["pin13", "13"], ["pin14", "14"], ["pin15", "15"], ["pin16", "16"]],
|
||||
radio_power: [['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7']],
|
||||
radio_datarate: [["1Mbit", "RATE_1MBIT"], ["250Kbit", "RATE_250KBIT"], ["2Mbit", "RATE_2MBIT"]],
|
||||
one_more: [["ONE_SHOT", "ONE_SHOT"], ["PERIODIC", "PERIODIC"]],
|
||||
digital_dot: [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"]],
|
||||
};
|
||||
|
||||
pins["MixGo PE"] = {
|
||||
description: "MicroPython[ESP32 MixGo PE]",
|
||||
digital_pin: [["0", "0"], ["2", "2"], ["4", "4"], ["5", "5"], ["7", "7"], ["8", "8"], ["12", "12"], ["13", "13"], ["14", "14"], ["15", "15"], ["19", "19"], ["20", "20"], ["21", "21"], ["22", "22"], ["25", "25"], ["26", "26"], ["27", "27"], ["32", "32"], ["33", "33"], ["34", "34"], ["35", "35"], ["36", "36"], ["37", "37"], ["38", "38"], ["39", "39"]],
|
||||
digital: [["pin0", "pin0"], ["pin2", "pin2"], ["pin4", "pin4"], ["pin5", "pin5"], ["pin7", "pin7"], ["pin8", "pin8"], ["pin12", "pin12"], ["pin13", "pin13"], ["pin14", "pin14"], ["pin15", "pin15"], ["pin19", "pin19"], ["pin20", "pin20"], ["pin21", "pin21"], ["pin22", "pin22"], ["pin25", "pin25"], ["pin26", "pin26"], ["pin27", "pin27"], ["pin32", "pin32"], ["pin33", "pin33"], ["pin34", "pin34"], ["pin35", "pin35"], ["pin36", "pin36"], ["pin37", "pin37"], ["pin38", "pin38"], ["pin39", "pin39"]],
|
||||
input_pin: [["0", "0"], ["2", "2"], ["4", "4"], ["5", "5"], ["7", "7"], ["8", "8"], ["12", "12"], ["13", "13"], ["14", "14"], ["15", "15"], ["19", "19"], ["20", "20"], ["21", "21"], ["22", "22"], ["25", "25"], ["26", "26"], ["27", "27"], ["32", "32"], ["33", "33"], ["34", "34"], ["35", "35"], ["36", "36"], ["37", "37"], ["38", "38"], ["39", "39"]],
|
||||
output_pin: [["0", "0"], ["2", "2"], ["4", "4"], ["5", "5"], ["7", "7"], ["8", "8"], ["12", "12"], ["13", "13"], ["14", "14"], ["15", "15"], ["19", "19"], ["20", "20"], ["21", "21"], ["22", "22"], ["25", "25"], ["26", "26"], ["27", "27"], ["32", "32"], ["33", "33"]],
|
||||
pwm_pin: [["0", "0"], ["2", "2"], ["4", "4"], ["5", "5"], ["7", "7"], ["8", "8"], ["12", "12"], ["13", "13"], ["14", "14"], ["15", "15"], ["19", "19"], ["20", "20"], ["21", "21"], ["22", "22"], ["25", "25"], ["26", "26"], ["27", "27"], ["32", "32"], ["33", "33"]],
|
||||
pwm: [["pwm0", "pwm0"], ["pwm2", "pwm2"], ["pwm4", "pwm4"], ["pwm5", "pwm5"], ["pwm7", "pwm7"], ["pwm8", "pwm8"], ["pwm12", "pwm12"], ["pwm13", "pwm13"], ["pwm14", "pwm14"], ["pwm15", "pwm15"], ["pwm19", "pwm19"], ["pwm20", "pwm20"], ["pwm21", "pwm21"], ["pwm22", "pwm22"], ["pwm25", "pwm25"], ["pwm26", "pwm26"], ["pwm27", "pwm27"], ["pwm32", "pwm32"], ["pwm33", "pwm33"]],
|
||||
espnow_channel: Profile.generate(['1-13']),
|
||||
haskylens_model: Profile.generate(['0-4']),
|
||||
analog_pin: [["32", "32"], ["33", "33"], ["34", "34"], ["35", "35"], ["36", "36"], ["37", "37"], ["38", "38"], ["39", "39"]],
|
||||
analog: [["adc32", "adc32"], ["adc33", "adc33"], ["adc34", "adc34"], ["adc35", "adc35"], ["adc36", "adc36"], ["adc37", "adc37"], ["adc38", "adc38"], ["adc39", "adc39"]],
|
||||
dac_pin: [["25", "25"], ["26", "26"]],
|
||||
dac: [["dac25", "dac25"], ["dac26", "dac26"]],
|
||||
touch: [["tc0", "tc0"], ["tc2", "tc2"], ["tc4", "tc4"], ["tc12", "tc12"], ["tc13", "tc13"], ["tc14", "tc14"], ["tc15", "tc15"], ["tc27", "tc27"], ["tc32", "tc32"], ["tc33", "tc33"]],
|
||||
touch_pin: [["0", "0"], ["2", "2"], ["4", "4"], ["12", "12"], ["13", "13"], ["14", "14"], ["15", "15"], ["27", "27"], ["32", "32"], ["33", "33"]],
|
||||
button: [["A", "button_a"], ["B", "button_b"]],
|
||||
axis: [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"]],
|
||||
exlcdh: Profile.generate(['0-7']),
|
||||
exlcdv: Profile.generate(['0-4']),
|
||||
brightness: Profile.generate(['0-9']),
|
||||
tts_voice: Profile.generate(['0-16']),
|
||||
tts_builtin_music: Profile.generate(['0-47']),
|
||||
tts_bgmusic: Profile.generate(['0-15']),
|
||||
builtinimg: [["HEART", "onboard_matrix.HEART"], ["HEART_SMALL", "onboard_matrix.HEART_SMALL"], ["HAPPY", "onboard_matrix.HAPPY"], ["SAD", "onboard_matrix.SAD"], ["SMILE", "onboard_matrix.SMILE"], ["SILLY", "onboard_matrix.SILLY"], ["FABULOUS", "onboard_matrix.FABULOUS"], ["SURPRISED", "onboard_matrix.SURPRISED"], ["ASLEEP", "onboard_matrix.ASLEEP"], ["ANGRY", "onboard_matrix.ANGRY"], ["CONFUSED", "onboard_matrix.CONFUSED"], ["NO", "onboard_matrix.NO"], ["YES", "onboard_matrix.YES"], ["LEFT_ARROW", "onboard_matrix.LEFT_ARROW"], ["RIGHT_ARROW", "onboard_matrix.RIGHT_ARROW"], ["DRESS", "onboard_matrix.DRESS"], ["TRANSFORMERS", "onboard_matrix.TRANSFORMERS"], ["SCISSORS", "onboard_matrix.SCISSORS"], ["EXIT", "onboard_matrix.EXIT"], ["TREE", "onboard_matrix.TREE"], ["PACMAN", "onboard_matrix.PACMAN"], ["TARGET", "onboard_matrix.TARGET"], ["TSHIRT", "onboard_matrix.TSHIRT"], ["ROLLERSKATE", "onboard_matrix.ROLLERSKATE"], ["DUCK", "onboard_matrix.DUCK"], ["HOUSE", "onboard_matrix.HOUSE"], ["TORTOISE", "onboard_matrix.TORTOISE"], ["BUTTERFLY", "onboard_matrix.BUTTERFLY"], ["STICKFIGURE", "onboard_matrix.STICKFIGURE"], ["GHOST", "onboard_matrix.GHOST"], ["PITCHFORK", "onboard_matrix.PITCHFORK"], ["MUSIC_QUAVERS", "onboard_matrix.MUSIC_QUAVERS"], ["MUSIC_QUAVER", "onboard_matrix.MUSIC_QUAVER"], ["MUSIC_CROTCHET", "onboard_matrix.MUSIC_CROTCHET"], ["COW", "onboard_matrix.COW"], ["RABBIT", "onboard_matrix.RABBIT"], ["SQUARE_SMALL", "onboard_matrix.SQUARE_SMALL"], ["SQUARE", "onboard_matrix.SQUARE"], ["DIAMOND_SMALL", "onboard_matrix.DIAMOND_SMALL"], ["DIAMOND", "onboard_matrix.DIAMOND"], ["CHESSBOARD", "onboard_matrix.CHESSBOARD"], ["TRIANGLE_LEFT", "onboard_matrix.TRIANGLE_LEFT"], ["TRIANGLE", "onboard_matrix.TRIANGLE"], ["SNAKE", "onboard_matrix.SNAKE"], ["UMBRELLA", "onboard_matrix.UMBRELLA"], ["SKULL", "onboard_matrix.SKULL"], ["GIRAFFE", "onboard_matrix.GIRAFFE"], ["SWORD", "onboard_matrix.SWORD"]],
|
||||
builtinimg_extern: [["HEART", "matrix32x12.Matrix.HEART"], ["HEART_SMALL", "matrix32x12.Matrix.HEART_SMALL"], ["HAPPY", "matrix32x12.Matrix.HAPPY"], ["SAD", "matrix32x12.Matrix.SAD"], ["SMILE", "matrix32x12.Matrix.SMILE"], ["SILLY", "matrix32x12.Matrix.SILLY"], ["FABULOUS", "matrix32x12.Matrix.FABULOUS"], ["SURPRISED", "matrix32x12.Matrix.SURPRISED"], ["ASLEEP", "matrix32x12.Matrix.ASLEEP"], ["ANGRY", "matrix32x12.Matrix.ANGRY"], ["CONFUSED", "matrix32x12.Matrix.CONFUSED"], ["NO", "matrix32x12.Matrix.NO"], ["YES", "matrix32x12.Matrix.YES"], ["LEFT_ARROW", "matrix32x12.Matrix.LEFT_ARROW"], ["RIGHT_ARROW", "matrix32x12.Matrix.RIGHT_ARROW"], ["DRESS", "matrix32x12.Matrix.DRESS"], ["TRANSFORMERS", "matrix32x12.Matrix.TRANSFORMERS"], ["SCISSORS", "matrix32x12.Matrix.SCISSORS"], ["EXIT", "matrix32x12.Matrix.EXIT"], ["TREE", "matrix32x12.Matrix.TREE"], ["PACMAN", "matrix32x12.Matrix.PACMAN"], ["TARGET", "matrix32x12.Matrix.TARGET"], ["TSHIRT", "matrix32x12.Matrix.TSHIRT"], ["ROLLERSKATE", "matrix32x12.Matrix.ROLLERSKATE"], ["DUCK", "matrix32x12.Matrix.DUCK"], ["HOUSE", "matrix32x12.Matrix.HOUSE"], ["TORTOISE", "matrix32x12.Matrix.TORTOISE"], ["BUTTERFLY", "matrix32x12.Matrix.BUTTERFLY"], ["STICKFIGURE", "matrix32x12.Matrix.STICKFIGURE"], ["GHOST", "matrix32x12.Matrix.GHOST"], ["PITCHFORK", "matrix32x12.Matrix.PITCHFORK"], ["onboard_music_QUAVERS", "matrix32x12.Matrix.onboard_music_QUAVERS"], ["onboard_music_QUAVER", "matrix32x12.Matrix.onboard_music_QUAVER"], ["onboard_music_CROTCHET", "matrix32x12.Matrix.onboard_music_CROTCHET"], ["COW", "matrix32x12.Matrix.COW"], ["RABBIT", "matrix32x12.Matrix.RABBIT"], ["SQUARE_SMALL", "matrix32x12.Matrix.SQUARE_SMALL"], ["SQUARE", "matrix32x12.Matrix.SQUARE"], ["DIAMOND_SMALL", "matrix32x12.Matrix.DIAMOND_SMALL"], ["DIAMOND", "matrix32x12.Matrix.DIAMOND"], ["CHESSBOARD", "matrix32x12.Matrix.CHESSBOARD"], ["TRIANGLE_LEFT", "matrix32x12.Matrix.TRIANGLE_LEFT"], ["TRIANGLE", "matrix32x12.Matrix.TRIANGLE"], ["SNAKE", "matrix32x12.Matrix.SNAKE"], ["UMBRELLA", "matrix32x12.Matrix.UMBRELLA"], ["SKULL", "matrix32x12.Matrix.SKULL"], ["GIRAFFE", "matrix32x12.Matrix.GIRAFFE"], ["SWORD", "matrix32x12.Matrix.SWORD"]],
|
||||
imglist: [["ALL_CLOCKS", "onboard_matrix.ALL_CLOCKS"], ["ALL_ARROWS", "onboard_matrix.ALL_ARROWS"]],
|
||||
playlist: [["DADADADUM", "onboard_music.DADADADUM"], ["ENTERTAINER", "onboard_music.ENTERTAINER"], ["PRELUDE", "onboard_music.PRELUDE"], ["ODE", "onboard_music.ODE"], ["NYAN", "onboard_music.NYAN"], ["RINGTONE", "onboard_music.RINGTONE"], ["FUNK", "onboard_music.FUNK"], ["BLUES", "onboard_music.BLUES"], ["BIRTHDAY", "onboard_music.BIRTHDAY"], ["WEDDING", "onboard_music.WEDDING"], ["FUNERAL", "onboard_music.FUNERAL"], ["PUNCHLINE", "onboard_music.PUNCHLINE"], ["PYTHON", "onboard_music.PYTHON"], ["BADDY", "onboard_music.BADDY"], ["CHASE", "onboard_music.CHASE"], ["BA_DING", "onboard_music.BA_DING"], ["WAWAWAWAA", "onboard_music.WAWAWAWAA"], ["JUMP_UP", "onboard_music.JUMP_UP"], ["JUMP_DOWN", "onboard_music.JUMP_DOWN"], ["POWER_UP", "onboard_music.POWER_UP"], ["POWER_DOWN", "onboard_music.POWER_DOWN"]],
|
||||
playlist_extern: [["DADADADUM", "DADADADUM"], ["ENTERTAINER", "ENTERTAINER"], ["PRELUDE", "PRELUDE"], ["ODE", "ODE"], ["NYAN", "NYAN"], ["RINGTONE", "RINGTONE"], ["FUNK", "FUNK"], ["BLUES", "BLUES"], ["BIRTHDAY", "BIRTHDAY"], ["WEDDING", "WEDDING"], ["FUNERAL", "FUNERAL"], ["PUNCHLINE", "PUNCHLINE"], ["PYTHON", "PYTHON"], ["BADDY", "BADDY"], ["CHASE", "CHASE"], ["BA_DING", "BA_DING"], ["WAWAWAWAA", "WAWAWAWAA"], ["JUMP_UP", "JUMP_UP"], ["JUMP_DOWN", "JUMP_DOWN"], ["POWER_UP", "POWER_UP"], ["POWER_DOWN", "POWER_DOWN"]],
|
||||
tone_notes: [
|
||||
["NOTE_C3", "131"], ["NOTE_D3", "147"], ["NOTE_E3", "165"], ["NOTE_F3", "175"], ["NOTE_G3", "196"], ["NOTE_A3", "220"], ["NOTE_B3", "247"],
|
||||
["NOTE_C4", "262"], ["NOTE_D4", "294"], ["NOTE_E4", "330"], ["NOTE_F4", "349"], ["NOTE_G4", "392"], ["NOTE_A4", "440"], ["NOTE_B4", "494"],
|
||||
["NOTE_C5", "523"], ["NOTE_D5", "587"], ["NOTE_E5", "659"], ["NOTE_F5", "698"], ["NOTE_G5", "784"], ["NOTE_A5", "880"], ["NOTE_B5", "988"]
|
||||
],
|
||||
serial_pin: [["pin0", "0"], ["pin1", "1"], ["pin2", "2"], ["pin8", "8"], ["pin12", "12"], ["pin13", "13"], ["pin14", "14"], ["pin15", "15"], ["pin16", "16"]],
|
||||
radio_power: [['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7']],
|
||||
radio_datarate: [["1Mbit", "RATE_1MBIT"], ["250Kbit", "RATE_250KBIT"], ["2Mbit", "RATE_2MBIT"]],
|
||||
one_more: [["ONE_SHOT", "ONE_SHOT"], ["PERIODIC", "PERIODIC"]],
|
||||
digital_dot: [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"]],
|
||||
};
|
||||
|
||||
pins["ESP32 Generic(4MB)"] = {
|
||||
description: "MicroPython[ESP32 Generic]",
|
||||
digital_pin: [["0", "0"], ["2", "2"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"], ["8", "8"], ["9", "9"], ["10", "10"], ["11", "11"], ["12", "12"], ["13", "13"], ["14", "14"], ["15", "15"], ["16", "16"], ["17", "17"], ["18", "18"], ["19", "19"], ["20", "20"], ["21", "21"], ["22", "22"], ["23", "23"], ["25", "25"], ["26", "26"], ["27", "27"], ["32", "32"], ["33", "33"], ["34", "34"], ["35", "35"], ["36", "36"], ["37", "37"], ["38", "38"], ["39", "39"]],
|
||||
digital: [["pin0", "pin0"], ["pin2", "pin2"], ["pin4", "pin4"], ["pin5", "pin5"], ["pin6", "pin6"], ["pin7", "pin7"], ["pin8", "pin8"], ["pin9", "pin9"], ["pin10", "pin10"], ["pin11", "pin11"], ["pin12", "pin12"], ["pin13", "pin13"], ["pin14", "pin14"], ["pin15", "pin15"], ["pin16", "pin16"], ["pin17", "pin17"], ["pin18", "pin18"], ["pin19", "pin19"], ["pin20", "pin20"], ["pin21", "pin21"], ["pin22", "pin22"], ["pin23", "pin23"], ["pin25", "pin25"], ["pin26", "pin26"], ["pin27", "pin27"], ["pin32", "pin32"], ["pin33", "pin33"], ["pin34", "pin34"], ["pin35", "pin35"], ["pin36", "pin36"], ["pin37", "pin37"], ["pin38", "pin38"], ["pin39", "pin39"]],
|
||||
input_pin: [["0", "0"], ["2", "2"], ["4", "4"], ["5", "5"], ["7", "7"], ["8", "8"], ["12", "12"], ["13", "13"], ["14", "14"], ["15", "15"], ["19", "19"], ["20", "20"], ["21", "21"], ["22", "22"], ["25", "25"], ["26", "26"], ["27", "27"], ["32", "32"], ["33", "33"], ["34", "34"], ["35", "35"], ["36", "36"], ["37", "37"], ["38", "38"], ["39", "39"]],
|
||||
output_pin: [["0", "0"], ["2", "2"], ["4", "4"], ["5", "5"], ["7", "7"], ["8", "8"], ["12", "12"], ["13", "13"], ["14", "14"], ["15", "15"], ["19", "19"], ["20", "20"], ["21", "21"], ["22", "22"], ["25", "25"], ["26", "26"], ["27", "27"], ["32", "32"], ["33", "33"]],
|
||||
pwm_pin: [["0", "0"], ["2", "2"], ["4", "4"], ["5", "5"], ["12", "12"], ["13", "13"], ["14", "14"], ["15", "15"], ["16", "16"], ["17", "17"], ["18", "18"], ["19", "19"], ["20", "20"], ["21", "21"], ["22", "22"], ["23", "23"], ["25", "25"], ["26", "26"], ["27", "27"], ["32", "32"], ["33", "33"]],
|
||||
pwm: [["pwm0", "pwm0"], ["pwm2", "pwm2"], ["pwm4", "pwm4"], ["pwm5", "pwm5"], ["pwm12", "pwm12"], ["pwm13", "pwm13"], ["pwm14", "pwm14"], ["pwm15", "pwm15"], ["pwm16", "pwm16"], ["pwm17", "pwm17"], ["pwm18", "pwm18"], ["pwm19", "pwm19"], ["pwm20", "pwm20"], ["pwm21", "pwm21"], ["pwm22", "pwm22"], ["pwm23", "pwm23"], ["pwm25", "pwm25"], ["pwm26", "pwm26"], ["pwm27", "pwm27"], ["pwm32", "pwm32"], ["pwm33", "pwm33"]],
|
||||
analog_pin: [["32", "32"], ["33", "33"], ["34", "34"], ["35", "35"], ["36", "36"], ["37", "37"], ["38", "38"], ["39", "39"]],
|
||||
analog: [["adc32", "adc32"], ["adc33", "adc33"], ["adc34", "adc34"], ["adc35", "adc35"], ["adc36", "adc36"], ["adc37", "adc37"], ["adc38", "adc38"], ["adc39", "adc39"]],
|
||||
espnow_channel: Profile.generate(['1-13']),
|
||||
haskylens_model: Profile.generate(['0-4']),
|
||||
dac_pin: [["25", "25"], ["26", "26"]],
|
||||
dac: [["dac25", "dac25"], ["dac26", "dac26"]],
|
||||
touch: [["tc0", "tc0"], ["tc2", "tc2"], ["tc4", "tc4"], ["tc12", "tc12"], ["tc13", "tc13"], ["tc14", "tc14"], ["tc15", "tc15"], ["tc27", "tc27"], ["tc32", "tc32"], ["tc33", "tc33"]],
|
||||
touch_pin: [["0", "0"], ["2", "2"], ["4", "4"], ["12", "12"], ["13", "13"], ["14", "14"], ["15", "15"], ["27", "27"], ["32", "32"], ["33", "33"]],
|
||||
button: [["A", "button_a"], ["B", "button_b"]],
|
||||
axis: [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"]],
|
||||
exlcdh: [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"], ["8", "8"], ["9", "9"], ["10", "10"], ["11", "11"], ["12", "12"], ["13", "13"], ["14", "14"], ["15", "15"]],
|
||||
exlcdv: [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"]],
|
||||
brightness: [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"], ["8", "8"], ["9", "9"]],
|
||||
tts_voice: Profile.generate(['0-16']),
|
||||
tts_builtin_music: Profile.generate(['0-47']),
|
||||
tts_bgmusic: Profile.generate(['0-15']),
|
||||
builtinimg: [["HEART", "onboard_matrix.HEART"], ["HEART_SMALL", "onboard_matrix.HEART_SMALL"], ["HAPPY", "onboard_matrix.HAPPY"], ["SAD", "onboard_matrix.SAD"], ["SMILE", "onboard_matrix.SMILE"], ["SILLY", "onboard_matrix.SILLY"], ["FABULOUS", "onboard_matrix.FABULOUS"], ["SURPRISED", "onboard_matrix.SURPRISED"], ["ASLEEP", "onboard_matrix.ASLEEP"], ["ANGRY", "onboard_matrix.ANGRY"], ["CONFUSED", "onboard_matrix.CONFUSED"], ["NO", "onboard_matrix.NO"], ["YES", "onboard_matrix.YES"], ["LEFT_ARROW", "onboard_matrix.LEFT_ARROW"], ["RIGHT_ARROW", "onboard_matrix.RIGHT_ARROW"], ["DRESS", "onboard_matrix.DRESS"], ["TRANSFORMERS", "onboard_matrix.TRANSFORMERS"], ["SCISSORS", "onboard_matrix.SCISSORS"], ["EXIT", "onboard_matrix.EXIT"], ["TREE", "onboard_matrix.TREE"], ["PACMAN", "onboard_matrix.PACMAN"], ["TARGET", "onboard_matrix.TARGET"], ["TSHIRT", "onboard_matrix.TSHIRT"], ["ROLLERSKATE", "onboard_matrix.ROLLERSKATE"], ["DUCK", "onboard_matrix.DUCK"], ["HOUSE", "onboard_matrix.HOUSE"], ["TORTOISE", "onboard_matrix.TORTOISE"], ["BUTTERFLY", "onboard_matrix.BUTTERFLY"], ["STICKFIGURE", "onboard_matrix.STICKFIGURE"], ["GHOST", "onboard_matrix.GHOST"], ["PITCHFORK", "onboard_matrix.PITCHFORK"], ["onboard_music_QUAVERS", "onboard_matrix.onboard_music_QUAVERS"], ["onboard_music_QUAVER", "onboard_matrix.onboard_music_QUAVER"], ["onboard_music_CROTCHET", "onboard_matrix.onboard_music_CROTCHET"], ["COW", "onboard_matrix.COW"], ["RABBIT", "onboard_matrix.RABBIT"], ["SQUARE_SMALL", "onboard_matrix.SQUARE_SMALL"], ["SQUARE", "onboard_matrix.SQUARE"], ["DIAMOND_SMALL", "onboard_matrix.DIAMOND_SMALL"], ["DIAMOND", "onboard_matrix.DIAMOND"], ["CHESSBOARD", "onboard_matrix.CHESSBOARD"], ["TRIANGLE_LEFT", "onboard_matrix.TRIANGLE_LEFT"], ["TRIANGLE", "onboard_matrix.TRIANGLE"], ["SNAKE", "onboard_matrix.SNAKE"], ["UMBRELLA", "onboard_matrix.UMBRELLA"], ["SKULL", "onboard_matrix.SKULL"], ["GIRAFFE", "onboard_matrix.GIRAFFE"], ["SWORD", "onboard_matrix.SWORD"]],
|
||||
builtinimg_extern: [["HEART", "matrix32x12.Matrix.HEART"], ["HEART_SMALL", "matrix32x12.Matrix.HEART_SMALL"], ["HAPPY", "matrix32x12.Matrix.HAPPY"], ["SAD", "matrix32x12.Matrix.SAD"], ["SMILE", "matrix32x12.Matrix.SMILE"], ["SILLY", "matrix32x12.Matrix.SILLY"], ["FABULOUS", "matrix32x12.Matrix.FABULOUS"], ["SURPRISED", "matrix32x12.Matrix.SURPRISED"], ["ASLEEP", "matrix32x12.Matrix.ASLEEP"], ["ANGRY", "matrix32x12.Matrix.ANGRY"], ["CONFUSED", "matrix32x12.Matrix.CONFUSED"], ["NO", "matrix32x12.Matrix.NO"], ["YES", "matrix32x12.Matrix.YES"], ["LEFT_ARROW", "matrix32x12.Matrix.LEFT_ARROW"], ["RIGHT_ARROW", "matrix32x12.Matrix.RIGHT_ARROW"], ["DRESS", "matrix32x12.Matrix.DRESS"], ["TRANSFORMERS", "matrix32x12.Matrix.TRANSFORMERS"], ["SCISSORS", "matrix32x12.Matrix.SCISSORS"], ["EXIT", "matrix32x12.Matrix.EXIT"], ["TREE", "matrix32x12.Matrix.TREE"], ["PACMAN", "matrix32x12.Matrix.PACMAN"], ["TARGET", "matrix32x12.Matrix.TARGET"], ["TSHIRT", "matrix32x12.Matrix.TSHIRT"], ["ROLLERSKATE", "matrix32x12.Matrix.ROLLERSKATE"], ["DUCK", "matrix32x12.Matrix.DUCK"], ["HOUSE", "matrix32x12.Matrix.HOUSE"], ["TORTOISE", "matrix32x12.Matrix.TORTOISE"], ["BUTTERFLY", "matrix32x12.Matrix.BUTTERFLY"], ["STICKFIGURE", "matrix32x12.Matrix.STICKFIGURE"], ["GHOST", "matrix32x12.Matrix.GHOST"], ["PITCHFORK", "matrix32x12.Matrix.PITCHFORK"], ["onboard_music_QUAVERS", "matrix32x12.Matrix.onboard_music_QUAVERS"], ["onboard_music_QUAVER", "matrix32x12.Matrix.onboard_music_QUAVER"], ["onboard_music_CROTCHET", "matrix32x12.Matrix.onboard_music_CROTCHET"], ["COW", "matrix32x12.Matrix.COW"], ["RABBIT", "matrix32x12.Matrix.RABBIT"], ["SQUARE_SMALL", "matrix32x12.Matrix.SQUARE_SMALL"], ["SQUARE", "matrix32x12.Matrix.SQUARE"], ["DIAMOND_SMALL", "matrix32x12.Matrix.DIAMOND_SMALL"], ["DIAMOND", "matrix32x12.Matrix.DIAMOND"], ["CHESSBOARD", "matrix32x12.Matrix.CHESSBOARD"], ["TRIANGLE_LEFT", "matrix32x12.Matrix.TRIANGLE_LEFT"], ["TRIANGLE", "matrix32x12.Matrix.TRIANGLE"], ["SNAKE", "matrix32x12.Matrix.SNAKE"], ["UMBRELLA", "matrix32x12.Matrix.UMBRELLA"], ["SKULL", "matrix32x12.Matrix.SKULL"], ["GIRAFFE", "matrix32x12.Matrix.GIRAFFE"], ["SWORD", "matrix32x12.Matrix.SWORD"]],
|
||||
imglist: [["ALL_CLOCKS", "onboard_matrix.ALL_CLOCKS"], ["ALL_ARROWS", "onboard_matrix.ALL_ARROWS"]],
|
||||
playlist: [["DADADADUM", "onboard_music.DADADADUM"], ["ENTERTAINER", "onboard_music.ENTERTAINER"], ["PRELUDE", "onboard_music.PRELUDE"], ["ODE", "onboard_music.ODE"], ["NYAN", "onboard_music.NYAN"], ["RINGTONE", "onboard_music.RINGTONE"], ["FUNK", "onboard_music.FUNK"], ["BLUES", "onboard_music.BLUES"], ["BIRTHDAY", "onboard_music.BIRTHDAY"], ["WEDDING", "onboard_music.WEDDING"], ["FUNERAL", "onboard_music.FUNERAL"], ["PUNCHLINE", "onboard_music.PUNCHLINE"], ["PYTHON", "onboard_music.PYTHON"], ["BADDY", "onboard_music.BADDY"], ["CHASE", "onboard_music.CHASE"], ["BA_DING", "onboard_music.BA_DING"], ["WAWAWAWAA", "onboard_music.WAWAWAWAA"], ["JUMP_UP", "onboard_music.JUMP_UP"], ["JUMP_DOWN", "onboard_music.JUMP_DOWN"], ["POWER_UP", "onboard_music.POWER_UP"], ["POWER_DOWN", "onboard_music.POWER_DOWN"]],
|
||||
playlist_extern: [["DADADADUM", "DADADADUM"], ["ENTERTAINER", "ENTERTAINER"], ["PRELUDE", "PRELUDE"], ["ODE", "ODE"], ["NYAN", "NYAN"], ["RINGTONE", "RINGTONE"], ["FUNK", "FUNK"], ["BLUES", "BLUES"], ["BIRTHDAY", "BIRTHDAY"], ["WEDDING", "WEDDING"], ["FUNERAL", "FUNERAL"], ["PUNCHLINE", "PUNCHLINE"], ["PYTHON", "PYTHON"], ["BADDY", "BADDY"], ["CHASE", "CHASE"], ["BA_DING", "BA_DING"], ["WAWAWAWAA", "WAWAWAWAA"], ["JUMP_UP", "JUMP_UP"], ["JUMP_DOWN", "JUMP_DOWN"], ["POWER_UP", "POWER_UP"], ["POWER_DOWN", "POWER_DOWN"]],
|
||||
tone_notes: [
|
||||
["NOTE_C3", "131"], ["NOTE_D3", "147"], ["NOTE_E3", "165"], ["NOTE_F3", "175"], ["NOTE_G3", "196"], ["NOTE_A3", "220"], ["NOTE_B3", "247"],
|
||||
["NOTE_C4", "262"], ["NOTE_D4", "294"], ["NOTE_E4", "330"], ["NOTE_F4", "349"], ["NOTE_G4", "392"], ["NOTE_A4", "440"], ["NOTE_B4", "494"],
|
||||
["NOTE_C5", "523"], ["NOTE_D5", "587"], ["NOTE_E5", "659"], ["NOTE_F5", "698"], ["NOTE_G5", "784"], ["NOTE_A5", "880"], ["NOTE_B5", "988"]
|
||||
],
|
||||
serial_pin: [["pin0", "0"], ["pin1", "1"], ["pin2", "2"], ["pin8", "8"], ["pin12", "12"], ["pin13", "13"], ["pin14", "14"], ["pin15", "15"], ["pin16", "16"]],
|
||||
radio_power: [['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7']],
|
||||
radio_datarate: [["1Mbit", "RATE_1MBIT"], ["250Kbit", "RATE_250KBIT"], ["2Mbit", "RATE_2MBIT"]],
|
||||
one_more: [["ONE_SHOT", "ONE_SHOT"], ["PERIODIC", "PERIODIC"]],
|
||||
digital_dot: [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"]],
|
||||
};
|
||||
|
||||
pins["mPython"] = {
|
||||
description: "MicroPython[ESP32 Generic]",
|
||||
digital_pin: [["p0", "33"], ["p1", "32"], ["p2", "35"], ["p5", "0"], ["p6", "16"], ["p7", "17"], ["p8", "26"], ["p9", "25"], ["p11", "2"], ["p13", "18"], ["p14", "19"], ["p15", "21"], ["p16", "5"], ["p19", "22"], ["p20", "23"]],
|
||||
digital: [["pin0", "pin33"], ["pin1", "pin32"], ["pin2", "pin35"], ["pin5", "pin0"], ["pin6", "pin16"], ["pin7", "pin17"], ["pin8", "pin26"], ["pin9", "pin25"], ["pin11", "pin2"], ["pin13", "pin18"], ["pin14", "pin19"], ["pin15", "pin21"], ["pin16", "pin5"], ["pin19", "pin22"], ["pin20", "pin23"]],
|
||||
input_pin: [["p0", "33"], ["p1", "32"], ["p2", "35"], ["p5", "0"], ["p6", "16"], ["p7", "17"], ["p8", "26"], ["p9", "25"], ["p11", "2"], ["p13", "18"], ["p14", "19"], ["p15", "21"], ["p16", "5"], ["p19", "22"], ["p20", "23"]],
|
||||
output_pin: [["p0", "33"], ["p1", "32"], ["p5", "0"], ["p6", "16"], ["p7", "17"], ["p8", "26"], ["p9", "25"], ["p11", "2"], ["p13", "18"], ["p14", "19"], ["p15", "21"], ["p16", "5"], ["p19", "22"], ["p20", "23"]],
|
||||
pwm_pin: [["p0", "33"], ["p1", "32"], ["p5", "0"], ["p6", "16"], ["p7", "17"], ["p8", "26"], ["p9", "25"], ["p11", "2"], ["p13", "18"], ["p14", "19"], ["p15", "21"], ["p16", "5"], ["p19", "22"], ["p20", "23"]],
|
||||
pwm: [["pwm0", "pwm33"], ["pwm1", "pwm32"], ["pwm5", "pwm0"], ["pwm6", "pwm16"], ["pwm7", "pwm17"], ["pwm8", "pwm26"], ["pwm9", "pwm25"], ["pwm11", "pwm2"], ["pwm13", "pwm18"], ["pwm14", "pwm19"], ["pwm15", "pwm21"], ["pwm16", "pwm5"], ["pwm19", "pwm22"], ["pwm20", "pwm23"]],
|
||||
espnow_channel: Profile.generate(['1-13']),
|
||||
haskylens_model: Profile.generate(['0-4']),
|
||||
analog_pin: [["p0", "33"], ["p1", "32"], ["p2", "35"], ["p3", "34"], ["p4", "39"], ["p10", "36"]],
|
||||
analog: [["adc0", "adc33"], ["adc1", "adc32"], ["adc2", "adc35"], ["adc3", "adc34"], ["adc4", "adc39"], ["adc10", "adc36"]],
|
||||
dac_pin: [["p8", "26"], ["p9", "25"]],
|
||||
dac: [["dac8", "dac26"], ["dac9", "dac25"]],
|
||||
touch_mpython: [["p", "p"], ["y", "y"], ["t", "t"], ["h", "h"], ["o", "o"], ["n", "n"]],
|
||||
touch: [["tc0", "tc33"], ["tc1", "tc32"], ["tc5", "tc0"], ["tc11", "tc2"], ["tc23", "tc27"], ["tc24", "tc14"], ["tc25", "tc12"], ["tc26", "tc13"], ["tc27", "tc15"], ["tc28", "tc4"]],
|
||||
touch_pin: [["p0", "33"], ["p1", "32"], ["p5", "0"], ["p11", "2"], ["p23", "27"], ["p24", "14"], ["p25", "12"], ["p26", "13"], ["p27", "15"], ["p28", "4"]],
|
||||
button: [["A", "button_a"], ["B", "button_b"]],
|
||||
axis: [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"]],
|
||||
exlcdh: [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"], ["8", "8"], ["9", "9"], ["10", "10"], ["11", "11"], ["12", "12"], ["13", "13"], ["14", "14"], ["15", "15"]],
|
||||
exlcdv: [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"]],
|
||||
brightness: [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"], ["8", "8"], ["9", "9"]],
|
||||
tts_voice: Profile.generate(['0-16']),
|
||||
tts_builtin_music: Profile.generate(['0-47']),
|
||||
tts_bgmusic: Profile.generate(['0-15']),
|
||||
builtinimg: [["HEART", "onboard_matrix.HEART"], ["HEART_SMALL", "onboard_matrix.HEART_SMALL"], ["HAPPY", "onboard_matrix.HAPPY"], ["SAD", "onboard_matrix.SAD"], ["SMILE", "onboard_matrix.SMILE"], ["SILLY", "onboard_matrix.SILLY"], ["FABULOUS", "onboard_matrix.FABULOUS"], ["SURPRISED", "onboard_matrix.SURPRISED"], ["ASLEEP", "onboard_matrix.ASLEEP"], ["ANGRY", "onboard_matrix.ANGRY"], ["CONFUSED", "onboard_matrix.CONFUSED"], ["NO", "onboard_matrix.NO"], ["YES", "onboard_matrix.YES"], ["LEFT_ARROW", "onboard_matrix.LEFT_ARROW"], ["RIGHT_ARROW", "onboard_matrix.RIGHT_ARROW"], ["DRESS", "onboard_matrix.DRESS"], ["TRANSFORMERS", "onboard_matrix.TRANSFORMERS"], ["SCISSORS", "onboard_matrix.SCISSORS"], ["EXIT", "onboard_matrix.EXIT"], ["TREE", "onboard_matrix.TREE"], ["PACMAN", "onboard_matrix.PACMAN"], ["TARGET", "onboard_matrix.TARGET"], ["TSHIRT", "onboard_matrix.TSHIRT"], ["ROLLERSKATE", "onboard_matrix.ROLLERSKATE"], ["DUCK", "onboard_matrix.DUCK"], ["HOUSE", "onboard_matrix.HOUSE"], ["TORTOISE", "onboard_matrix.TORTOISE"], ["BUTTERFLY", "onboard_matrix.BUTTERFLY"], ["STICKFIGURE", "onboard_matrix.STICKFIGURE"], ["GHOST", "onboard_matrix.GHOST"], ["PITCHFORK", "onboard_matrix.PITCHFORK"], ["onboard_music_QUAVERS", "onboard_matrix.onboard_music_QUAVERS"], ["onboard_music_QUAVER", "onboard_matrix.onboard_music_QUAVER"], ["onboard_music_CROTCHET", "onboard_matrix.onboard_music_CROTCHET"], ["COW", "onboard_matrix.COW"], ["RABBIT", "onboard_matrix.RABBIT"], ["SQUARE_SMALL", "onboard_matrix.SQUARE_SMALL"], ["SQUARE", "onboard_matrix.SQUARE"], ["DIAMOND_SMALL", "onboard_matrix.DIAMOND_SMALL"], ["DIAMOND", "onboard_matrix.DIAMOND"], ["CHESSBOARD", "onboard_matrix.CHESSBOARD"], ["TRIANGLE_LEFT", "onboard_matrix.TRIANGLE_LEFT"], ["TRIANGLE", "onboard_matrix.TRIANGLE"], ["SNAKE", "onboard_matrix.SNAKE"], ["UMBRELLA", "onboard_matrix.UMBRELLA"], ["SKULL", "onboard_matrix.SKULL"], ["GIRAFFE", "onboard_matrix.GIRAFFE"], ["SWORD", "onboard_matrix.SWORD"]],
|
||||
builtinimg_extern: [["HEART", "matrix32x12.Matrix.HEART"], ["HEART_SMALL", "matrix32x12.Matrix.HEART_SMALL"], ["HAPPY", "matrix32x12.Matrix.HAPPY"], ["SAD", "matrix32x12.Matrix.SAD"], ["SMILE", "matrix32x12.Matrix.SMILE"], ["SILLY", "matrix32x12.Matrix.SILLY"], ["FABULOUS", "matrix32x12.Matrix.FABULOUS"], ["SURPRISED", "matrix32x12.Matrix.SURPRISED"], ["ASLEEP", "matrix32x12.Matrix.ASLEEP"], ["ANGRY", "matrix32x12.Matrix.ANGRY"], ["CONFUSED", "matrix32x12.Matrix.CONFUSED"], ["NO", "matrix32x12.Matrix.NO"], ["YES", "matrix32x12.Matrix.YES"], ["LEFT_ARROW", "matrix32x12.Matrix.LEFT_ARROW"], ["RIGHT_ARROW", "matrix32x12.Matrix.RIGHT_ARROW"], ["DRESS", "matrix32x12.Matrix.DRESS"], ["TRANSFORMERS", "matrix32x12.Matrix.TRANSFORMERS"], ["SCISSORS", "matrix32x12.Matrix.SCISSORS"], ["EXIT", "matrix32x12.Matrix.EXIT"], ["TREE", "matrix32x12.Matrix.TREE"], ["PACMAN", "matrix32x12.Matrix.PACMAN"], ["TARGET", "matrix32x12.Matrix.TARGET"], ["TSHIRT", "matrix32x12.Matrix.TSHIRT"], ["ROLLERSKATE", "matrix32x12.Matrix.ROLLERSKATE"], ["DUCK", "matrix32x12.Matrix.DUCK"], ["HOUSE", "matrix32x12.Matrix.HOUSE"], ["TORTOISE", "matrix32x12.Matrix.TORTOISE"], ["BUTTERFLY", "matrix32x12.Matrix.BUTTERFLY"], ["STICKFIGURE", "matrix32x12.Matrix.STICKFIGURE"], ["GHOST", "matrix32x12.Matrix.GHOST"], ["PITCHFORK", "matrix32x12.Matrix.PITCHFORK"], ["onboard_music_QUAVERS", "matrix32x12.Matrix.onboard_music_QUAVERS"], ["onboard_music_QUAVER", "matrix32x12.Matrix.onboard_music_QUAVER"], ["onboard_music_CROTCHET", "matrix32x12.Matrix.onboard_music_CROTCHET"], ["COW", "matrix32x12.Matrix.COW"], ["RABBIT", "matrix32x12.Matrix.RABBIT"], ["SQUARE_SMALL", "matrix32x12.Matrix.SQUARE_SMALL"], ["SQUARE", "matrix32x12.Matrix.SQUARE"], ["DIAMOND_SMALL", "matrix32x12.Matrix.DIAMOND_SMALL"], ["DIAMOND", "matrix32x12.Matrix.DIAMOND"], ["CHESSBOARD", "matrix32x12.Matrix.CHESSBOARD"], ["TRIANGLE_LEFT", "matrix32x12.Matrix.TRIANGLE_LEFT"], ["TRIANGLE", "matrix32x12.Matrix.TRIANGLE"], ["SNAKE", "matrix32x12.Matrix.SNAKE"], ["UMBRELLA", "matrix32x12.Matrix.UMBRELLA"], ["SKULL", "matrix32x12.Matrix.SKULL"], ["GIRAFFE", "matrix32x12.Matrix.GIRAFFE"], ["SWORD", "matrix32x12.Matrix.SWORD"]],
|
||||
imglist: [["ALL_CLOCKS", "onboard_matrix.ALL_CLOCKS"], ["ALL_ARROWS", "onboard_matrix.ALL_ARROWS"]],
|
||||
playlist: [["DADADADUM", "onboard_music.DADADADUM"], ["ENTERTAINER", "onboard_music.ENTERTAINER"], ["PRELUDE", "onboard_music.PRELUDE"], ["ODE", "onboard_music.ODE"], ["NYAN", "onboard_music.NYAN"], ["RINGTONE", "onboard_music.RINGTONE"], ["FUNK", "onboard_music.FUNK"], ["BLUES", "onboard_music.BLUES"], ["BIRTHDAY", "onboard_music.BIRTHDAY"], ["WEDDING", "onboard_music.WEDDING"], ["FUNERAL", "onboard_music.FUNERAL"], ["PUNCHLINE", "onboard_music.PUNCHLINE"], ["PYTHON", "onboard_music.PYTHON"], ["BADDY", "onboard_music.BADDY"], ["CHASE", "onboard_music.CHASE"], ["BA_DING", "onboard_music.BA_DING"], ["WAWAWAWAA", "onboard_music.WAWAWAWAA"], ["JUMP_UP", "onboard_music.JUMP_UP"], ["JUMP_DOWN", "onboard_music.JUMP_DOWN"], ["POWER_UP", "onboard_music.POWER_UP"], ["POWER_DOWN", "onboard_music.POWER_DOWN"]],
|
||||
playlist_extern: [["DADADADUM", "DADADADUM"], ["ENTERTAINER", "ENTERTAINER"], ["PRELUDE", "PRELUDE"], ["ODE", "ODE"], ["NYAN", "NYAN"], ["RINGTONE", "RINGTONE"], ["FUNK", "FUNK"], ["BLUES", "BLUES"], ["BIRTHDAY", "BIRTHDAY"], ["WEDDING", "WEDDING"], ["FUNERAL", "FUNERAL"], ["PUNCHLINE", "PUNCHLINE"], ["PYTHON", "PYTHON"], ["BADDY", "BADDY"], ["CHASE", "CHASE"], ["BA_DING", "BA_DING"], ["WAWAWAWAA", "WAWAWAWAA"], ["JUMP_UP", "JUMP_UP"], ["JUMP_DOWN", "JUMP_DOWN"], ["POWER_UP", "POWER_UP"], ["POWER_DOWN", "POWER_DOWN"]],
|
||||
tone_notes: [
|
||||
["NOTE_C3", "131"], ["NOTE_D3", "147"], ["NOTE_E3", "165"], ["NOTE_F3", "175"], ["NOTE_G3", "196"], ["NOTE_A3", "220"], ["NOTE_B3", "247"],
|
||||
["NOTE_C4", "262"], ["NOTE_D4", "294"], ["NOTE_E4", "330"], ["NOTE_F4", "349"], ["NOTE_G4", "392"], ["NOTE_A4", "440"], ["NOTE_B4", "494"],
|
||||
["NOTE_C5", "523"], ["NOTE_D5", "587"], ["NOTE_E5", "659"], ["NOTE_F5", "698"], ["NOTE_G5", "784"], ["NOTE_A5", "880"], ["NOTE_B5", "988"]
|
||||
],
|
||||
serial_pin: [["pin0", "0"], ["pin1", "1"], ["pin2", "2"], ["pin8", "8"], ["pin12", "12"], ["pin13", "13"], ["pin14", "14"], ["pin15", "15"], ["pin16", "16"]],
|
||||
radio_power: [['0', '0'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7']],
|
||||
radio_datarate: [["1Mbit", "RATE_1MBIT"], ["250Kbit", "RATE_250KBIT"], ["2Mbit", "RATE_2MBIT"]],
|
||||
one_more: [["ONE_SHOT", "ONE_SHOT"], ["PERIODIC", "PERIODIC"]],
|
||||
digital_dot: [["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"]],
|
||||
};
|
||||
|
||||
export default pins;
|
||||
415
mixly/boards/default_src/micropython_esp32/blocks/pins.js
Normal file
415
mixly/boards/default_src/micropython_esp32/blocks/pins.js
Normal file
@@ -0,0 +1,415 @@
|
||||
import * as Blockly from 'blockly/core';
|
||||
import { Profile } from 'mixly';
|
||||
|
||||
const PINS_HUE = 230;
|
||||
|
||||
export const pins_digital = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.digital), 'PIN');
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_digital_pin = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.digital_pin), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_input_pin = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.input_pin), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_output_pin = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.output_pin), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_mpython_touch = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.touch_mpython), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
export const espnow_channel = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.espnow_channel), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const haskylens_model = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.haskylens_model), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const pwm_input = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.pwm_input), 'PIN');
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const analog_input = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.analog_input), 'PIN');
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const pwm_output = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.pwm_output), 'PIN');
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const analog_output = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.analog_output), 'PIN');
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const i2c_A_pin = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.i2c_A_pin), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const i2c_B_pin = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.i2c_B_pin), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
export const spi_A_pin = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.spi_A_pin), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const spi_B_pin = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.spi_B_pin), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const spi_C_pin = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.spi_C_pin), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const spi_D_pin = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.spi_D_pin), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_analog = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.analog), 'PIN');
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_analog_pin = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.analog_pin), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_dac = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.dac), 'PIN');
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_dac_pin = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.dac_pin), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_button = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.button), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_pwm = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.pwm), 'PIN');
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_pwm_pin = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.pwm_pin), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_touch_pin = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.touch_pin), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_touch = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.touch), 'PIN');
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_serial = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.serial_pin), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_builtinimg = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.builtinimg), 'PIN');
|
||||
this.setOutput(true, "esp32_image");
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_builtinimg_extern = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.builtinimg_extern), 'PIN');
|
||||
this.setOutput(true, "esp32_image");
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_imglist = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.imglist), 'PIN');
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_playlist = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.playlist), 'PIN');
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_playlist_extern = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.playlist_extern), 'PIN');
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_exlcdh = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.exlcdh), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_exlcdv = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.exlcdv), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_axis = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.axis), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
export const pins_brightness = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.brightness), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_tts_voice = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.tts_voice), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_tts_builtin_music = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.tts_builtin_music), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_tts_bgmusic = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.tts_bgmusic), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_tone_notes = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.tone_notes), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_radio_power = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.radio_power), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_radio_datarate = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.radio_datarate), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_one_more = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.one_more), 'PIN');
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const pins_digital_dot = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown(Profile.default.digital_dot), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
|
||||
export const timer_id_pin = {
|
||||
init: function () {
|
||||
this.setColour(PINS_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
["0","0"],
|
||||
["1","1"],
|
||||
["2","2"],
|
||||
["3","3"]
|
||||
]), 'PIN');
|
||||
this.setOutput(true, Number);
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,460 @@
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(1)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/inout.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(1)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/inout2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(2)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/ctrl.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(2)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/ctrl2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(3)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/math.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(3)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/math2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(4)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/logic.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(4)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/logic2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(5)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/text.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(5)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/text2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(6)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/list3.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(6)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/list4.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(7)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/tuple.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(7)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/tuple2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(8)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/dict.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(8)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/dict2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(9)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/set.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(9)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/set2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(10)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/var.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(10)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/var2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(11)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/func.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(11)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/func2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(12)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/port.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(12)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/port2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
|
||||
#catOnBoardSensor.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/sensor_onboard.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catOnBoardSensor.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/sensor_new2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catOnBoardActuator.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/actuator_onboard.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catOnBoardActuator.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/actuator_new2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catOnBoardDisplay.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/display_onboard.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catOnBoardDisplay.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/display_new2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catOnBoardOled.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/display_onboard.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catOnBoardOled.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/display_new2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catPE_G1.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/act.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catPE_G1.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/act2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catExternSensor.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/sensor_extern.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catExternSensor.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/sensor_new2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catExternActuator.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/actuator_extern.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catExternActuator.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/actuator_new2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catMatrix.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/Matrix.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catMatrix.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/Matrix2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catOLED.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/oled.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catOLED.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/oled2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catTFT.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/oled.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catTFT.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/oled2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catLCD.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/oled.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catLCD.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/oled2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#cat4Digitdisplay.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/4Digitdisplay.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#cat4Digitdisplay.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/4Digitdisplay2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catAIsensor.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/image.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catAIsensor.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/image2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catAIsensor2.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/image.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catAIsensor2.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/image2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catFile.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/file.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catFile.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/file2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catBLE.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/comuni.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catBLE.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/comuni2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catIR.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/comuni.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catIR.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/comuni2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catI2C.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/comuni.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catI2C.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/comuni2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catSPI.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/comuni.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catSPI.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/comuni2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catRadio.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/comuni.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catRadio.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/comuni2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catOneWire.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/comuni.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catOneWire.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/comuni2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catESPNow.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/comuni.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catESPNow.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/comuni2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catLora.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/comuni.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catLora.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/comuni2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catNetwork.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/net3.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catNetwork.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/net2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catOnenet.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/onenet.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catOnenet.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/onenet2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catBlynk.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/blynk.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catBlynk.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/blynk2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catMixIO.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/mixio.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catMixIO.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/mixio2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catAIOT.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/ai.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catAIOT.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/ai2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catweather.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/weather.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catweather.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/weather2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catTinyWebDB.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/database.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catTinyWebDB.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/database2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catFactory.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/factory3.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catFactory.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/factory4.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catCommunicate.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/requests.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catCommunicate.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/requests2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catBLEC.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/comuni.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catBLEC.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/comuni2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catBLEKM.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/comuni.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
|
||||
#catBLEKM.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
|
||||
background: url('../../../../common/media/mark/comuni2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
9
mixly/boards/default_src/micropython_esp32/export.js
Normal file
9
mixly/boards/default_src/micropython_esp32/export.js
Normal file
@@ -0,0 +1,9 @@
|
||||
import MicropythonESP32Pins from './blocks/esp32_profile';
|
||||
import * as MicropythonESP32PinsBlocks from './blocks/pins';
|
||||
import * as MicropythonESP32PinsGenerators from './generators/pins';
|
||||
|
||||
export {
|
||||
MicropythonESP32Pins,
|
||||
MicropythonESP32PinsBlocks,
|
||||
MicropythonESP32PinsGenerators
|
||||
};
|
||||
@@ -0,0 +1,40 @@
|
||||
export const pins_digital = function (_, generator) {
|
||||
var code = this.getFieldValue('PIN');
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const pins_button = pins_digital;
|
||||
export const pins_digital_pin = pins_digital;
|
||||
export const pins_input_pin = pins_digital;
|
||||
export const pins_output_pin = pins_digital;
|
||||
export const pins_analog_pin = pins_digital;
|
||||
export const pins_analog = pins_digital;
|
||||
export const pins_pwm_pin = pins_digital;
|
||||
export const pins_pwm = pins_digital;
|
||||
export const espnow_channel = pins_digital;
|
||||
export const haskylens_model = pins_digital;
|
||||
export const pins_mpython_touch = pins_digital;
|
||||
export const pins_dac_pin = pins_digital;
|
||||
export const pins_dac = pins_digital;
|
||||
export const pins_touch_pin = pins_digital;
|
||||
export const pins_touch = pins_digital;
|
||||
export const pins_interrupt = pins_digital;
|
||||
export const pins_serial = pins_digital;
|
||||
export const pins_builtinimg = pins_digital;
|
||||
export const pins_builtinimg_extern = pins_digital;
|
||||
export const pins_imglist = pins_digital;
|
||||
export const pins_playlist = pins_digital;
|
||||
export const pins_playlist_extern = pins_digital;
|
||||
export const pins_axis = pins_digital;
|
||||
export const pins_exlcdh = pins_digital;
|
||||
export const pins_exlcdv = pins_digital;
|
||||
export const pins_brightness = pins_digital;
|
||||
export const pins_tts_voice = pins_digital;
|
||||
export const pins_tts_builtin_music = pins_digital;
|
||||
export const pins_tts_bgmusic = pins_digital;
|
||||
export const pins_tone_notes = pins_digital;
|
||||
export const pins_radio_power = pins_digital;
|
||||
export const pins_radio_datarate = pins_digital;
|
||||
export const pins_one_more = pins_digital;
|
||||
export const pins_digital_dot = pins_digital;
|
||||
export const timer_id_pin = pins_digital;
|
||||
170
mixly/boards/default_src/micropython_esp32/index.js
Normal file
170
mixly/boards/default_src/micropython_esp32/index.js
Normal file
@@ -0,0 +1,170 @@
|
||||
import * as Blockly from 'blockly/core';
|
||||
import { Profile } from 'mixly';
|
||||
|
||||
import {
|
||||
PythonVariablesBlocks,
|
||||
PythonControlBlocks,
|
||||
PythonMathBlocks,
|
||||
PythonTextBlocks,
|
||||
PythonListsBlocks,
|
||||
PythonDictsBlocks,
|
||||
PythonLogicBlocks,
|
||||
PythonStorageBlocks,
|
||||
PythonProceduresBlocks,
|
||||
PythonTupleBlocks,
|
||||
PythonSetBlocks,
|
||||
PythonHtmlBlocks,
|
||||
PythonUtilityBlocks,
|
||||
PythonVariablesGenerators,
|
||||
PythonControlGenerators,
|
||||
PythonMathGenerators,
|
||||
PythonTextGenerators,
|
||||
PythonListsGenerators,
|
||||
PythonDictsGenerators,
|
||||
PythonLogicGenerators,
|
||||
PythonStorageGenerators,
|
||||
PythonProceduresGenerators,
|
||||
PythonTupleGenerators,
|
||||
PythonSetGenerators,
|
||||
PythonHtmlGenerators,
|
||||
PythonUtilityGenerators,
|
||||
Procedures,
|
||||
Variables,
|
||||
Python
|
||||
} from '@mixly/python';
|
||||
|
||||
import {
|
||||
MicroPythonActuatorExternBlocks,
|
||||
MicroPythonActuatorOnBoardBlocks,
|
||||
MicroPythonAISensorBlocks,
|
||||
MicroPythonAIBlocks,
|
||||
MicroPythonBlynkBlocks,
|
||||
MicroPythonCommunicateBlocks,
|
||||
MicroPythonDisplayExternBlocks,
|
||||
MicroPythonDisplayOnBoardBlocks,
|
||||
MicroPythonFactoryBlocks,
|
||||
MicroPythonInputBlocks,
|
||||
MicroPythonIotBlocks,
|
||||
MicroPythonNetworkBlocks,
|
||||
MicroPythonPeG1Blocks,
|
||||
MicroPythonSensorExternBlocks,
|
||||
MicroPythonSensorOnBoardBlocks,
|
||||
MicroPythonSerialBlocks,
|
||||
MicroPythonSystemBlocks,
|
||||
MicroPythonWeatherBlocks,
|
||||
MicroPythonActuatorExternGenerators,
|
||||
MicroPythonActuatorOnBoardGenerators,
|
||||
MicroPythonAISensorGenerators,
|
||||
MicroPythonAIGenerators,
|
||||
MicroPythonBlynkGenerators,
|
||||
MicroPythonCommunicateGenerators,
|
||||
MicroPythonDisplayExternGenerators,
|
||||
MicroPythonDisplayOnBoardGenerators,
|
||||
MicroPythonFactoryGenerators,
|
||||
MicroPythonInputGenerators,
|
||||
MicroPythonIotGenerators,
|
||||
MicroPythonNetworkGenerators,
|
||||
MicroPythonPeG1Generators,
|
||||
MicroPythonSensorExternGenerators,
|
||||
MicroPythonSensorOnBoardGenerators,
|
||||
MicroPythonSerialGenerators,
|
||||
MicroPythonSystemGenerators,
|
||||
MicroPythonWeatherGenerators,
|
||||
MicroPythonZhHans,
|
||||
MicroPythonZhHant,
|
||||
MicroPythonEn
|
||||
} from '@mixly/micropython';
|
||||
|
||||
import {
|
||||
MicropythonESP32Pins,
|
||||
MicropythonESP32PinsBlocks,
|
||||
MicropythonESP32PinsGenerators
|
||||
} from './';
|
||||
|
||||
import './css/color_esp32_mixgo.css';
|
||||
|
||||
Object.assign(Blockly.Variables, Variables);
|
||||
Object.assign(Blockly.Procedures, Procedures);
|
||||
|
||||
Object.assign(Blockly.Lang.ZhHans, MicroPythonZhHans);
|
||||
Object.assign(Blockly.Lang.ZhHant, MicroPythonZhHant);
|
||||
Object.assign(Blockly.Lang.En, MicroPythonEn);
|
||||
|
||||
Blockly.Python = Python;
|
||||
Blockly.generator = Python;
|
||||
|
||||
Profile.default = {};
|
||||
Object.assign(Profile, MicropythonESP32Pins);
|
||||
Object.assign(Profile.default, MicropythonESP32Pins['ESP32 Generic']);
|
||||
|
||||
Object.assign(
|
||||
Blockly.Blocks,
|
||||
PythonVariablesBlocks,
|
||||
PythonControlBlocks,
|
||||
PythonMathBlocks,
|
||||
PythonTextBlocks,
|
||||
PythonListsBlocks,
|
||||
PythonDictsBlocks,
|
||||
PythonLogicBlocks,
|
||||
PythonStorageBlocks,
|
||||
PythonProceduresBlocks,
|
||||
PythonTupleBlocks,
|
||||
PythonSetBlocks,
|
||||
PythonHtmlBlocks,
|
||||
PythonUtilityBlocks,
|
||||
MicroPythonInputBlocks,
|
||||
MicroPythonSystemBlocks,
|
||||
MicroPythonSerialBlocks,
|
||||
MicroPythonCommunicateBlocks,
|
||||
MicroPythonIotBlocks,
|
||||
MicroPythonWeatherBlocks,
|
||||
MicroPythonAISensorBlocks,
|
||||
MicroPythonSensorOnBoardBlocks,
|
||||
MicroPythonSensorExternBlocks,
|
||||
MicroPythonPeG1Blocks,
|
||||
MicroPythonNetworkBlocks,
|
||||
MicroPythonAIBlocks,
|
||||
MicroPythonActuatorOnBoardBlocks,
|
||||
MicroPythonActuatorExternBlocks,
|
||||
MicroPythonDisplayOnBoardBlocks,
|
||||
MicroPythonDisplayExternBlocks,
|
||||
MicroPythonFactoryBlocks,
|
||||
MicroPythonBlynkBlocks,
|
||||
MicropythonESP32PinsBlocks
|
||||
);
|
||||
|
||||
Object.assign(
|
||||
Blockly.Python.forBlock,
|
||||
PythonVariablesGenerators,
|
||||
PythonControlGenerators,
|
||||
PythonMathGenerators,
|
||||
PythonTextGenerators,
|
||||
PythonListsGenerators,
|
||||
PythonDictsGenerators,
|
||||
PythonLogicGenerators,
|
||||
PythonStorageGenerators,
|
||||
PythonProceduresGenerators,
|
||||
PythonTupleGenerators,
|
||||
PythonSetGenerators,
|
||||
PythonHtmlGenerators,
|
||||
PythonUtilityGenerators,
|
||||
MicroPythonInputGenerators,
|
||||
MicroPythonSystemGenerators,
|
||||
MicroPythonSerialGenerators,
|
||||
MicroPythonCommunicateGenerators,
|
||||
MicroPythonIotGenerators,
|
||||
MicroPythonWeatherGenerators,
|
||||
MicroPythonAISensorGenerators,
|
||||
MicroPythonSensorOnBoardGenerators,
|
||||
MicroPythonSensorExternGenerators,
|
||||
MicroPythonPeG1Generators,
|
||||
MicroPythonNetworkGenerators,
|
||||
MicroPythonAIGenerators,
|
||||
MicroPythonActuatorOnBoardGenerators,
|
||||
MicroPythonActuatorExternGenerators,
|
||||
MicroPythonDisplayOnBoardGenerators,
|
||||
MicroPythonDisplayExternGenerators,
|
||||
MicroPythonFactoryGenerators,
|
||||
MicroPythonBlynkGenerators,
|
||||
MicropythonESP32PinsGenerators
|
||||
);
|
||||
18
mixly/boards/default_src/micropython_esp32/jsconfig.json
Normal file
18
mixly/boards/default_src/micropython_esp32/jsconfig.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"experimentalDecorators": true,
|
||||
"baseUrl": "./",
|
||||
"paths": {
|
||||
"@mixly/python": [
|
||||
"../python"
|
||||
],
|
||||
"@mixly/micropython": [
|
||||
"../micropython"
|
||||
]
|
||||
}
|
||||
},
|
||||
"exclude": [
|
||||
"node_modules",
|
||||
"dist"
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,172 @@
|
||||
"""
|
||||
MixGo-Onboard resources
|
||||
|
||||
Micropython library for the MixGo-Onboard resources
|
||||
=======================================================
|
||||
|
||||
#Instantiate mixgo onboard resources 20220622
|
||||
#Repair brightness adjustment range 0-100% 20220623
|
||||
|
||||
dahanzimin From the Mixly Team
|
||||
"""
|
||||
|
||||
import time,gc
|
||||
from machine import Pin,SoftI2C,ADC,PWM,RTC,TouchPad
|
||||
|
||||
'''i2c-onboard'''
|
||||
onboard_i2c=SoftI2C(scl = Pin(22), sda = Pin(21), freq = 400000)
|
||||
|
||||
'''RTC'''
|
||||
rtc_clock=RTC()
|
||||
|
||||
'''MPU9250'''
|
||||
try :
|
||||
import mpu9250
|
||||
onboard_mpu = mpu9250.MPU9250(onboard_i2c)
|
||||
onboard_compass = mpu9250.Compass(onboard_mpu)
|
||||
except Exception as e:
|
||||
print("Warning: Failed to communicate with MPU9250 or",e)
|
||||
|
||||
'''Matrix16x8'''
|
||||
try :
|
||||
import matrix16x8
|
||||
onboard_matrix = matrix16x8.Matrix(onboard_i2c)
|
||||
except Exception as e:
|
||||
print("Warning: Failed to communicate with Matrix16x8 or",e)
|
||||
|
||||
'''2-RGB'''
|
||||
from ws2812 import NeoPixel
|
||||
onboard_rgb = NeoPixel(Pin(2), 2)
|
||||
|
||||
'''1Buzzer-Music'''
|
||||
from music import MIDI
|
||||
onboard_music =MIDI(27)
|
||||
|
||||
'''2-Button'''
|
||||
class Button:
|
||||
def __init__(self, pin):
|
||||
self._pin = Pin(pin, Pin.IN)
|
||||
self._flag = True
|
||||
|
||||
def get_presses(self, delay = 1):
|
||||
last_time,presses = time.time(), 0
|
||||
while time.time() < last_time + delay:
|
||||
time.sleep(0.05)
|
||||
if self.was_pressed():
|
||||
presses += 1
|
||||
return presses
|
||||
|
||||
def is_pressed(self):
|
||||
return self._pin.value() == False
|
||||
|
||||
def was_pressed(self):
|
||||
if self._pin.value() != self._flag:
|
||||
time.sleep(0.01)
|
||||
self._flag = self._pin.value()
|
||||
if self._flag:
|
||||
return False
|
||||
else:
|
||||
return True
|
||||
|
||||
def irq(self, handler, trigger):
|
||||
self._pin.irq(handler = handler, trigger = trigger)
|
||||
|
||||
button_a = Button(17)
|
||||
button_b = Button(16)
|
||||
|
||||
'''2-TouchPad'''
|
||||
class Touch_Pad:
|
||||
def __init__(self, pin,value=220):
|
||||
self._pin = TouchPad(Pin(pin))
|
||||
self.value = value
|
||||
|
||||
def is_touched(self):
|
||||
return self._pin.read() < self.value
|
||||
|
||||
def raw_value(self):
|
||||
return self._pin.read()
|
||||
|
||||
touch1 = Touch_Pad(32)
|
||||
touch2 = Touch_Pad(33)
|
||||
|
||||
'''4-ADCSensor'''
|
||||
class ADCSensor:
|
||||
__species = {}
|
||||
__first_init = True
|
||||
def __new__(cls, pin, *args, **kwargs):
|
||||
if pin not in cls.__species.keys():
|
||||
cls.__first_init = True
|
||||
cls.__species[pin]=object.__new__(cls)
|
||||
return cls.__species[pin]
|
||||
|
||||
def __init__(self, pin):
|
||||
if self.__first_init:
|
||||
self.__first_init = False
|
||||
self._adc=ADC(Pin(pin))
|
||||
self._adc.atten(ADC.ATTN_11DB)
|
||||
self._switch = Pin(15, Pin.OUT)
|
||||
|
||||
def read(self):
|
||||
return self._adc.read_u16()
|
||||
|
||||
def switch(self,val):
|
||||
self._switch.value(val)
|
||||
|
||||
def infrared_left():
|
||||
ADCSensor(34).switch(1)
|
||||
time.sleep(0.02)
|
||||
adc=ADCSensor(34).read()
|
||||
ADCSensor(34).switch(0)
|
||||
return adc
|
||||
|
||||
def infrared_right():
|
||||
ADCSensor(36).switch(1)
|
||||
time.sleep(0.02)
|
||||
adc=ADCSensor(36).read()
|
||||
ADCSensor(36).switch(0)
|
||||
return adc
|
||||
|
||||
def get_brightness():
|
||||
return ADCSensor(39).read()
|
||||
|
||||
def get_soundlevel():
|
||||
value_d= []
|
||||
for _ in range(5):
|
||||
values = []
|
||||
for _ in range(5):
|
||||
val = ADCSensor(35).read()
|
||||
values.append(val)
|
||||
value_d.append(max(values) - min(values))
|
||||
return max(value_d)
|
||||
|
||||
'''2-LED''' #Repair brightness adjustment range 0-100%
|
||||
class LED:
|
||||
def __init__(self, pin):
|
||||
self._pin =PWM(Pin(pin),freq=5000,duty_u16=65535)
|
||||
self.setbrightness(0)
|
||||
|
||||
def setbrightness(self,val):
|
||||
if not 0 <= val <= 100:
|
||||
raise ValueError("Brightness must be in the range: 0-100%")
|
||||
self._brightness=val
|
||||
self._pin.duty_u16(65535-val*65535//100)
|
||||
|
||||
def getbrightness(self):
|
||||
return self._brightness
|
||||
|
||||
def setonoff(self,val):
|
||||
if(val == -1):
|
||||
self.setbrightness(100) if self._brightness<50 else self.setbrightness(0)
|
||||
elif(val == 1):
|
||||
self.setbrightness(100)
|
||||
elif(val == 0):
|
||||
self.setbrightness(0)
|
||||
|
||||
def getonoff(self):
|
||||
return True if self._brightness>0 else False
|
||||
|
||||
led1 = LED(0)
|
||||
led2 = LED(5)
|
||||
|
||||
'''Reclaim memory'''
|
||||
gc.collect()
|
||||
@@ -0,0 +1,51 @@
|
||||
"""
|
||||
MixGo PE-Onboard resources
|
||||
|
||||
Micropython library for the MixGo PE-Onboard resources
|
||||
=======================================================
|
||||
|
||||
#Preliminary composition 20230126
|
||||
|
||||
dahanzimin From the Mixly Team
|
||||
"""
|
||||
import time,gc
|
||||
from machine import Pin,RTC
|
||||
|
||||
'''RTC'''
|
||||
rtc_clock=RTC()
|
||||
|
||||
'''Matrix8x5'''
|
||||
try :
|
||||
import matrix8x5
|
||||
onboard_matrix = matrix8x5.Matrix(0,brightness=0.5)
|
||||
except Exception as e:
|
||||
print("Warning: Failed to communicate with Matrix8x5 or",e)
|
||||
|
||||
'''4-TouchPad'''
|
||||
class Touch_Pad:
|
||||
__species = {}
|
||||
__first_init = True
|
||||
def __new__(cls, pin, *args, **kwargs):
|
||||
if pin not in cls.__species.keys():
|
||||
cls.__first_init = True
|
||||
cls.__species[pin]=object.__new__(cls)
|
||||
return cls.__species[pin]
|
||||
|
||||
def __init__(self, pin):
|
||||
if self.__first_init:
|
||||
self.__first_init = False
|
||||
from machine import TouchPad
|
||||
self._pin = TouchPad(Pin(pin))
|
||||
|
||||
def is_touched(self,value):
|
||||
return self._pin.read() < value
|
||||
|
||||
def raw_value(self):
|
||||
return self._pin.read()
|
||||
|
||||
#Touch with function call
|
||||
def touched(pin,value=350):
|
||||
return Touch_Pad(pin).is_touched(value) if value else Touch_Pad(pin).raw_value()
|
||||
|
||||
'''Reclaim memory'''
|
||||
gc.collect()
|
||||
@@ -0,0 +1,154 @@
|
||||
"""
|
||||
mPython-Onboard resources
|
||||
|
||||
Micropython library for the mPython-Onboard resources
|
||||
=======================================================
|
||||
|
||||
#Preliminary composition 20220716
|
||||
|
||||
dahanzimin From the Mixly Team
|
||||
"""
|
||||
import time,gc
|
||||
from machine import Pin,SoftI2C,ADC,PWM,RTC,TouchPad
|
||||
|
||||
'''i2c-onboard'''
|
||||
onboard_i2c=SoftI2C(scl = Pin(22), sda = Pin(23), freq = 400000)
|
||||
|
||||
'''RTC'''
|
||||
rtc_clock=RTC()
|
||||
|
||||
'''OLED128X64'''
|
||||
try :
|
||||
import oled128x64
|
||||
onboard_oled = oled128x64.OLED(onboard_i2c,font_address=0x700000)
|
||||
except Exception as e:
|
||||
print("Warning: Failed to communicate with OLED128x64 or",e)
|
||||
|
||||
'''Magnetic'''
|
||||
try :
|
||||
import mmc5603
|
||||
magnetic = mmc5603.MMC5603(onboard_i2c)
|
||||
except Exception as e:
|
||||
print("Warning: Failed to communicate with MMC5603 or",e)
|
||||
|
||||
'''Motion''' #Including temperature、accelerometer、gyroscope
|
||||
try :
|
||||
import qmi8658
|
||||
motion = qmi8658.QMI8658(onboard_i2c)
|
||||
except Exception as e:
|
||||
print("Warning: Failed to communicate with QMI8658 or",e)
|
||||
|
||||
'''2-RGB'''
|
||||
from ws2812 import NeoPixel
|
||||
onboard_rgb = NeoPixel(Pin(17), 3)
|
||||
|
||||
'''1-Buzzer'''
|
||||
from music import MIDI
|
||||
onboard_music =MIDI(16, invert=1)
|
||||
|
||||
'''Port mapping'''
|
||||
class PIN:
|
||||
P0=33
|
||||
P1=32
|
||||
P2=35
|
||||
P3=34
|
||||
P4=39
|
||||
P5=0
|
||||
P6=16
|
||||
P7=17
|
||||
P8=26
|
||||
P9=25
|
||||
P10=36
|
||||
P11=2
|
||||
P13=18
|
||||
P14=19
|
||||
P15=21
|
||||
P16=5
|
||||
P19=22
|
||||
P20=23
|
||||
P23=27
|
||||
P24=14
|
||||
P25=12
|
||||
P26=13
|
||||
P27=15
|
||||
P28=4
|
||||
|
||||
'''2-Button'''
|
||||
class Button:
|
||||
def __init__(self, pin):
|
||||
self._pin = Pin(pin, Pin.IN)
|
||||
self._flag = True
|
||||
|
||||
def get_presses(self, delay = 1):
|
||||
last_time,presses = time.time(), 0
|
||||
while time.time() < last_time + delay:
|
||||
time.sleep(0.05)
|
||||
if self.was_pressed():
|
||||
presses += 1
|
||||
return presses
|
||||
|
||||
def is_pressed(self):
|
||||
return self._pin.value() == False
|
||||
|
||||
def was_pressed(self):
|
||||
if self._pin.value() != self._flag:
|
||||
time.sleep(0.01)
|
||||
self._flag = self._pin.value()
|
||||
if self._flag:
|
||||
return False
|
||||
else:
|
||||
return True
|
||||
|
||||
def irq(self, handler, trigger):
|
||||
self._pin.irq(handler = handler, trigger = trigger)
|
||||
|
||||
button_a = Button(0)
|
||||
button_b = Button(2)
|
||||
|
||||
'''2-TouchPad'''
|
||||
class Touch_Pad:
|
||||
def __init__(self, pin,value=220):
|
||||
self._pin = TouchPad(Pin(pin))
|
||||
self.value = value
|
||||
|
||||
def is_touched(self):
|
||||
return self._pin.read() < self.value
|
||||
|
||||
def raw_value(self):
|
||||
return self._pin.read()
|
||||
|
||||
touch_p = Touch_Pad(27)
|
||||
touch_y = Touch_Pad(14)
|
||||
touch_t = Touch_Pad(12)
|
||||
touch_h = Touch_Pad(13)
|
||||
touch_o = Touch_Pad(15)
|
||||
touch_n = Touch_Pad(4)
|
||||
|
||||
'''2-ADCSensor'''
|
||||
class ADCSensor:
|
||||
def __init__(self, pin):
|
||||
self.adc=ADC(Pin(pin))
|
||||
self.adc.atten(ADC.ATTN_11DB)
|
||||
|
||||
def brightness(self):
|
||||
return self.adc.read_u16()
|
||||
|
||||
def soundlevel(self):
|
||||
value_d= []
|
||||
for _ in range(5):
|
||||
values = []
|
||||
for _ in range(10):
|
||||
val = self.adc.read_u16()
|
||||
values.append(val)
|
||||
value_d.append(max(values) - min(values))
|
||||
return max(value_d)
|
||||
|
||||
onboard_sound = ADCSensor(36)
|
||||
onboard_light = ADCSensor(39)
|
||||
|
||||
'''Microphone''' #Later, it is used for recording and acquisition
|
||||
microphone=ADC(Pin(38))
|
||||
microphone.atten(ADC.ATTN_11DB)
|
||||
|
||||
'''Reclaim memory'''
|
||||
gc.collect()
|
||||
Binary file not shown.
242
mixly/boards/default_src/micropython_esp32/origin/config.json
Normal file
242
mixly/boards/default_src/micropython_esp32/origin/config.json
Normal file
@@ -0,0 +1,242 @@
|
||||
{
|
||||
"board": {
|
||||
"MixGo": {
|
||||
"key": "micropython:esp32:mixgo",
|
||||
"config": [
|
||||
{
|
||||
"key": "BurnSpeed",
|
||||
"label": "Burn Speed",
|
||||
"messageId": "MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED",
|
||||
"options": [
|
||||
{
|
||||
"key": "460800",
|
||||
"label": "460800"
|
||||
},
|
||||
{
|
||||
"key": "115200",
|
||||
"label": "115200"
|
||||
},
|
||||
{
|
||||
"key": "230400",
|
||||
"label": "230400"
|
||||
},
|
||||
{
|
||||
"key": "921600",
|
||||
"label": "921600"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"MixGo PE": {
|
||||
"key": "micropython:esp32:mixgo_pe",
|
||||
"config": [
|
||||
{
|
||||
"key": "BurnSpeed",
|
||||
"label": "Burn Speed",
|
||||
"messageId": "MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED",
|
||||
"options": [
|
||||
{
|
||||
"key": "460800",
|
||||
"label": "460800"
|
||||
},
|
||||
{
|
||||
"key": "115200",
|
||||
"label": "115200"
|
||||
},
|
||||
{
|
||||
"key": "230400",
|
||||
"label": "230400"
|
||||
},
|
||||
{
|
||||
"key": "921600",
|
||||
"label": "921600"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"mPython": {
|
||||
"key": "micropython:esp32:mpython",
|
||||
"config": [
|
||||
{
|
||||
"key": "BurnSpeed",
|
||||
"label": "Burn Speed",
|
||||
"messageId": "MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED",
|
||||
"options": [
|
||||
{
|
||||
"key": "460800",
|
||||
"label": "460800"
|
||||
},
|
||||
{
|
||||
"key": "115200",
|
||||
"label": "115200"
|
||||
},
|
||||
{
|
||||
"key": "230400",
|
||||
"label": "230400"
|
||||
},
|
||||
{
|
||||
"key": "921600",
|
||||
"label": "921600"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"ESP32 Generic(4MB)": {
|
||||
"key": "micropython:esp32:generic",
|
||||
"config": [
|
||||
{
|
||||
"key": "BurnSpeed",
|
||||
"label": "Burn Speed",
|
||||
"messageId": "MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED",
|
||||
"options": [
|
||||
{
|
||||
"key": "460800",
|
||||
"label": "460800"
|
||||
},
|
||||
{
|
||||
"key": "115200",
|
||||
"label": "115200"
|
||||
},
|
||||
{
|
||||
"key": "230400",
|
||||
"label": "230400"
|
||||
},
|
||||
{
|
||||
"key": "921600",
|
||||
"label": "921600"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"language": "MicroPython",
|
||||
"burn": {
|
||||
"type": "command",
|
||||
"portSelect": "all",
|
||||
"micropython:esp32:mixgo": {
|
||||
"command": "\"{esptool}\" --port {com} --baud {baudrate} write_flash -e 0x1000 \"{indexPath}/build/Mixgo_lib-v1.25.0.bin\" 0X3A0000 \"{indexPath}/../micropython/build/HZK12.bin\""
|
||||
},
|
||||
"micropython:esp32:mixgo_pe": {
|
||||
"command": "\"{esptool}\" --port {com} --baud {baudrate} write_flash -e 0x1000 \"{indexPath}/build/Mixgo_PE_lib-v1.25.0.bin\" 0x700000 \"{indexPath}/../micropython/build/HZK12.bin\""
|
||||
},
|
||||
"micropython:esp32:generic": {
|
||||
"command": "\"{esptool}\" --port {com} --baud {baudrate} write_flash -e 0x1000 \"{indexPath}/build/Generic_ESP32_lib-v1.25.0.bin\" 0X3A0000 \"{indexPath}/../micropython/build/HZK12.bin\""
|
||||
},
|
||||
"micropython:esp32:mpython": {
|
||||
"command": "\"{esptool}\" --port {com} --baud {baudrate} write_flash -e 0x1000 \"{indexPath}/build/mPython_lib-v1.25.0.bin\" 0x700000 \"{indexPath}/../micropython/build/HZK12.bin\""
|
||||
}
|
||||
},
|
||||
"upload": {
|
||||
"type": "command",
|
||||
"portSelect": "all",
|
||||
"libPath": [
|
||||
"{indexPath}/build/lib",
|
||||
"{indexPath}/../micropython/build/lib"
|
||||
],
|
||||
"command": "\"{ampy}\" -p {com} -d 1 -r \"{reset}\" put \"{indexPath}/build/upload\"",
|
||||
"filePath": "{indexPath}/build/upload/main.py",
|
||||
"copyLib": false,
|
||||
"reset": []
|
||||
},
|
||||
"nav": {
|
||||
"burn": true,
|
||||
"upload": true,
|
||||
"save": {
|
||||
"py": true
|
||||
},
|
||||
"setting": {
|
||||
"thirdPartyLibrary": true
|
||||
}
|
||||
},
|
||||
"serial": {
|
||||
"ctrlCBtn": true,
|
||||
"ctrlDBtn": true,
|
||||
"baudRates": 115200,
|
||||
"yMax": 100,
|
||||
"yMin": 0,
|
||||
"pointNum": 100,
|
||||
"rts": false,
|
||||
"dtr": true,
|
||||
"micropython:esp32:mixgo": {
|
||||
"rts": true,
|
||||
"dtr": true
|
||||
},
|
||||
"micropython:esp32:mpython": {
|
||||
"rts": true,
|
||||
"dtr": true
|
||||
}
|
||||
},
|
||||
"lib": {
|
||||
"mixly": {
|
||||
"url": [
|
||||
"http://download.mixlylibs.cloud/mixly3-packages/cloud-libs/micropython_esp32/libs.json"
|
||||
]
|
||||
}
|
||||
},
|
||||
"pythonToBlockly": false,
|
||||
"web": {
|
||||
"devices": {
|
||||
"serial": true,
|
||||
"hid": false,
|
||||
"usb": false
|
||||
},
|
||||
"burn": {
|
||||
"erase": true,
|
||||
"micropython:esp32:mixgo": {
|
||||
"binFile": [
|
||||
{
|
||||
"offset": "0x1000",
|
||||
"path": "./build/Mixgo_lib-v1.25.0.bin"
|
||||
},
|
||||
{
|
||||
"offset": "0X3A0000",
|
||||
"path": "../micropython/build/HZK12.bin"
|
||||
}
|
||||
]
|
||||
},
|
||||
"micropython:esp32:mixgo_pe": {
|
||||
"binFile": [
|
||||
{
|
||||
"offset": "0x1000",
|
||||
"path": "./build/Mixgo_PE_lib-v1.25.0.bin"
|
||||
},
|
||||
{
|
||||
"offset": "0x700000",
|
||||
"path": "../micropython/build/HZK12.bin"
|
||||
}
|
||||
]
|
||||
},
|
||||
"micropython:esp32:generic": {
|
||||
"binFile": [
|
||||
{
|
||||
"offset": "0x1000",
|
||||
"path": "./build/Generic_ESP32_lib-v1.25.0.bin"
|
||||
},
|
||||
{
|
||||
"offset": "0X3A0000",
|
||||
"path": "../micropython/build/HZK12.bin"
|
||||
}
|
||||
]
|
||||
},
|
||||
"micropython:esp32:mpython": {
|
||||
"binFile": [
|
||||
{
|
||||
"offset": "0x1000",
|
||||
"path": "./build/mPython_lib-v1.25.0.bin"
|
||||
},
|
||||
{
|
||||
"offset": "0x700000",
|
||||
"path": "../micropython/build/HZK12.bin"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"upload": {
|
||||
"reset": []
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="controls_whileUntil" id="xI[qjkFKz-3viCln|59z" x="-1001" y="-592"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id=")Iq|f9v63SzMv:~.q#Y{"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="display_show_image" id="zI8!6Gwli,Up:P_9cG2}"><value name="data"><shadow type="pins_builtinimg" id="UFl7`]4NvM1mtc;N(,Iv"><field name="PIN">onboard_matrix.HEART</field></shadow></value><next><block type="display_scroll_string" id="!_k|)u1KA}ECIaJm{es+"><value name="data"><shadow type="text" id="p_+Blq-rB!2E+a$rT~fg"><field name="TEXT">Hello,Mixly!</field></shadow></value></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCgnSGVsbG8sTWl4bHkhJykK</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="controls_whileUntil" id="=9wg(;{JD;c/jp7.B|+I" x="-1330" y="-796"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="Ny|6ds_^$l@cf]l]ctoh"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="display_show_image" id="J_#=#`g|3gdeD`7|Vt-8"><value name="data"><shadow type="pins_builtinimg" id="(y$IGZG(0ysf8p;xhtNl"><field name="PIN">onboard_matrix.HEART</field></shadow><block type="image_invert" id="(lPTAl1=b_wtGTK5=W@w"><value name="A"><shadow type="pins_builtinimg" id="pHC]eN;x1`6KJJqC5Haa"><field name="PIN">onboard_matrix.HEART</field></shadow></value></block></value><next><block type="display_scroll_string_delay" id="[_u[i0vWg[[*_9`.a-qF"><value name="data"><shadow type="text" id="r/!Fb;Zto4YDe;.7Xs]L"><field name="TEXT">Hello,Mixly!</field></shadow></value><value name="space"><shadow type="math_number" id="jfJI+APyIOq2aHj=OG8T"><field name="NUM">0</field></shadow></value><value name="time"><shadow type="math_number" id="d$}Pr^KVL(56|cf{1o-~"><field name="NUM">50</field></shadow></value></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5tYXBfaW52ZXJ0KG9uYm9hcmRfbWF0cml4LkhFQVJUKSkKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCgnSGVsbG8sTWl4bHkhJyxzcGVlZCA9NTAsc3BhY2UgPSAwKQo=</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="controls_whileUntil" id="T:u+64BA;ObbTSIh8p}{" x="-851" y="-584"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="3f7$*fD@}Q`:0~~F8qc*"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="display_show_image" id="~3P;@{i_68k09=6uQp:-"><value name="data"><shadow type="pins_builtinimg" id="f$n6m.-4ksR:+ire*rsj"><field name="PIN">onboard_matrix.HEART</field></shadow></value><next><block type="controls_delay_new" id="9u:O86~gD[ZDR!AG3qFB"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="=axS],Nohjvz,HRpJE}2"><field name="NUM">0.1</field></shadow></value><next><block type="display_show_image" id="a8x{9qbvPu_5wg4)Ha?="><value name="data"><shadow type="pins_builtinimg" id="Km94tRdt_FfUzngGMquM"><field name="PIN">onboard_matrix.HEART_SMALL</field></shadow></value><next><block type="controls_delay_new" id="]TE1lZY_sV=J[8uTd|kP"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="xSoXkYt|.=GcTDmAb4Kt"><field name="NUM">0.1</field></shadow></value></block></next></block></next></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkK</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="display_scroll_string" id="Xan)iRUI`3CX/LO_7~[V" x="-847" y="-630"><value name="data"><shadow type="text" id="gdiuE+6U_6fSvF2,vmft"><field name="TEXT">Mixly</field></shadow></value><next><block type="controls_whileUntil" id="K]Pfml~Vs_fuV#SYHav@"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="XF[HzE?zoD2_nhYYd_ZK"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="display_show_image" id="1,##BQQadoN}-8*vvQg!"><value name="data"><shadow type="pins_builtinimg" id="XVS?siV#6fqjFHExmlH["><field name="PIN">onboard_matrix.HEART</field></shadow></value><next><block type="controls_delay_new" id="EZvI}~8,GU/W!L7[qrkU"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="`JPmK[ag8k*E$6+idkO-"><field name="NUM">0.1</field></shadow></value><next><block type="display_show_image" id="`ocMyTd^!Y.I39euyAU$"><value name="data"><shadow type="pins_builtinimg" id="NtTV,+TQ8=f3zi1r6$01"><field name="PIN">onboard_matrix.HEART_SMALL</field></shadow></value><next><block type="controls_delay_new" id="Kj`T#2c**wdLRmxv1L!/"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="juEIbZ)l`Oy!QB!@0out"><field name="NUM">0.1</field></shadow></value></block></next></block></next></block></next></block></statement></block></next></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCm9uYm9hcmRfbWF0cml4LnNjcm9sbCgnTWl4bHknKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgdGltZS5zbGVlcCgwLjEpCg==</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="controls_whileUntil" id="ZoHanGPY2mrL|.qj7$S@" x="-1017" y="-593"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="!r4fCzJ#6!bt$LgoJT`h"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="w7_lnnt2)z!O/1aar8UQ"><mutation else="1"></mutation><value name="IF0"><block type="sensor_mixgo_button_is_pressed" id="+W,C]b[+hPU#f.KK2-O7"><value name="btn"><shadow type="pins_button" id="r(Z|cPPrAl[)8c)wf8cJ"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="display_show_image" id="34J)w]Z,z2W+5@U]$-Vb"><value name="data"><shadow type="pins_builtinimg" id="a3O(A:JL!Un?KWV(CEX;"><field name="PIN">onboard_matrix.HEART</field></shadow></value></block></statement><statement name="ELSE"><block type="display_show_image" id="Df7I]c8|#(@e2GmCj{Yt"><value name="data"><shadow type="pins_builtinimg" id="--b6!VK1eH$19O|DY__o"><field name="PIN">onboard_matrix.HEART_SMALL</field></shadow></value></block></statement></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCg==</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="controls_whileUntil" id="bC{d[Hn).;^6T5{YG_Rj" x="-1059" y="-724"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="Qjf]kYq[$n;Y7K1|`@nz"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="W5Cd*a8a$Nfj!cne{WkN"><mutation elseif="2" else="1"></mutation><value name="IF0"><block type="logic_operation" id="GgptYk/-($D(g@E@?EB:"><field name="OP">AND</field><value name="A"><block type="sensor_mixgo_button_is_pressed" id="(.opv*R!a!kz+YO4_d9U"><value name="btn"><shadow type="pins_button" id=":CkM!uWu65p@IobG:d~5"><field name="PIN">B1key</field></shadow></value></block></value><value name="B"><block type="sensor_mixgo_button_is_pressed" id="*J921^l|eCERTwfglu~s"><value name="btn"><shadow type="pins_button" id=".~=KWAA4g:V7Oc$?5i/I"><field name="PIN">B2key</field></shadow></value></block></value></block></value><statement name="DO0"><block type="display_show_image" id="||dqk=|{SxBRhI/`3w7="><value name="data"><shadow type="pins_builtinimg" id="gJR!.n4I1C+SB!B-nM5;"><field name="PIN">onboard_matrix.SAD</field></shadow></value></block></statement><value name="IF1"><block type="sensor_mixgo_button_is_pressed" id="ugt|_e9^;TS_9jJrJc3s"><value name="btn"><shadow type="pins_button" id="?3].YD^w8~X*xCFy=?4y"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO1"><block type="display_show_image" id=";rcI2l3V~-`bP=`^O;hr"><value name="data"><shadow type="pins_builtinimg" id="7HsH_F$s2EB1~#OpaMn~"><field name="PIN">onboard_matrix.HEART</field></shadow></value></block></statement><value name="IF2"><block type="sensor_mixgo_button_is_pressed" id="^sGmA$X)W);mluhM2,/G"><value name="btn"><shadow type="pins_button" id="Ox)*Te@DA^?!@g;]wQbq"><field name="PIN">B2key</field></shadow></value></block></value><statement name="DO2"><block type="display_show_image" id="z~WI3j/iT88R):Yg:8i@"><value name="data"><shadow type="pins_builtinimg" id="w!.]j=;+w6vPI5]MQ-9E"><field name="PIN">onboard_matrix.HEART_SMALL</field></shadow></value></block></statement><statement name="ELSE"><block type="display_show_image" id="C.$DW9*^KIfY*q*[/]bz"><value name="data"><shadow type="pins_builtinimg" id="nr1(-R9ZHk(G^7o27h4w"><field name="PIN">onboard_matrix.SMILE</field></shadow></value></block></statement></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguU0FEKQogICAgZWxpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIGVsaWYgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LlNNSUxFKQo=</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="controls_whileUntil" id="j:$d1XB3jy.lNFv6VM`V" x="-1059" y="-724"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="5rqTO`Q_|.@/v8^0SV1f"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_forEach" id="tGh^rGrS8V~iuZ4$2$N("><value name="LIST"><shadow type="list_many_input" id="NofKKjzJq/^kR^Z295s#"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id="~DP]C;Gfhf|:GFw5qfoi"><value name="FROM"><shadow type="math_number" id="Bg^Xr!zT*1l;hIY$dTL@"><field name="NUM">0</field></shadow></value><value name="TO"><shadow type="math_number" id="Tem*mPd5R2e_2.HWqdQ?"><field name="NUM">2</field></shadow></value><value name="STEP"><shadow type="math_number" id="CFqfLAy1PBx#.,JrX84q"><field name="NUM">1</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="GHxdq_o@3#2]O,fxqSkQ"><field name="VAR">i</field></shadow></value><statement name="DO"><block type="actuator_onboard_neopixel_rgb" id="g/D.suDbYe7x4Qfr)iID"><value name="_LED_"><shadow type="math_number" id="~.uPiSzrkVbt$)Q]y`yr"><field name="NUM">0</field></shadow><block type="variables_get" id="1/zyryl#mcN(X~irO^rk"><field name="VAR">i</field></block></value><value name="RVALUE"><shadow type="math_number" id="xUfuhb-Ign#97yf-8s@A"><field name="NUM">0</field></shadow></value><value name="GVALUE"><shadow type="math_number" id="XK1CAE9{-v`JELBX*Lhm"><field name="NUM">0</field></shadow></value><value name="BVALUE"><shadow type="math_number" id="Yw/U[}[=HY*RWaK5Gj[}"><field name="NUM">25</field></shadow></value><next><block type="actuator_onboard_neopixel_write" id="b9_X1{(`e^yrx+8jGiiw"><next><block type="controls_delay_new" id=",z(?X~^_i|L{.._]w-2y"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="^YD+$1.FiXJH(ffdI$O*"><field name="NUM">0.5</field></shadow></value></block></next></block></next></block></statement><next><block type="actuator_onboard_neopixel_rgb_all" id="~QLvL-RCe6})ERUaS7N$"><value name="RVALUE"><shadow type="math_number" id="!r$xl{IV.0hV[n3(S~Z1"><field name="NUM">0</field></shadow></value><value name="GVALUE"><shadow type="math_number" id="[F5;@QYIs?EOq?WBx7@k"><field name="NUM">0</field></shadow></value><value name="BVALUE"><shadow type="math_number" id="=W|qgn`VXA)M)}cFgWaR"><field name="NUM">0</field></shadow></value><next><block type="actuator_onboard_neopixel_write" id="o@JMmwksuZdADsI#h8.c"><next><block type="controls_delay_new" id="|O=n-v*}C`9efKu]iv:L"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="1Xcr.:9-?x+yGjiAb97q"><field name="NUM">1</field></shadow></value></block></next></block></next></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgaSBpbiByYW5nZSgwLCAyLCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyNSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMSkK</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="controls_whileUntil" id="r3u}Sxr!sYug/~v^@i~=" x="-1059" y="-724"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="}Q{dHT#x07x:(!fupNh$"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_forEach" id="Tm`7PucwqXaF:vuJBHd["><value name="LIST"><shadow type="list_many_input" id="Fyv5b+dJmlJto-e,biaz"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id="$~qf?}KQ3Q3Gh0D)pQm^"><value name="FROM"><shadow type="math_number" id="r#.x=|_b_MS~QRZ*]J$y"><field name="NUM">0</field></shadow></value><value name="TO"><shadow type="math_number" id="RMMS~yDl~6AO|JkNuTpl"><field name="NUM">2</field></shadow></value><value name="STEP"><shadow type="math_number" id="L^zY2VPyUq2LZuTWYbKh"><field name="NUM">1</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="?f{x^q?~Dx7;,itiC`y("><field name="VAR">i</field></shadow></value><statement name="DO"><block type="actuator_onboard_neopixel_rgb_all" id="9hIXv|lq_Y`+]pI;b;}j"><value name="RVALUE"><shadow type="math_number" id="DsAY,wu97RLbQ;y?Wp/`"><field name="NUM">0</field></shadow></value><value name="GVALUE"><shadow type="math_number" id="X$zWT4t[DEgy.rxp=VwM"><field name="NUM">0</field></shadow></value><value name="BVALUE"><shadow type="math_number" id="k@8MM3SZm=o#UaHE/Bxq"><field name="NUM">0</field></shadow></value><next><block type="actuator_onboard_neopixel_rgb" id="5;HRDqyj7-JR.JRoKgwn"><value name="_LED_"><shadow type="math_number" id="$L.Kx?KJYaUOkjj`p!Fx"><field name="NUM">0</field></shadow><block type="variables_get" id="iEfzAqf95Luh#_t]f5G/"><field name="VAR">i</field></block></value><value name="RVALUE"><shadow type="math_number" id=":dOSYrnts+b#q#s3KW3Y"><field name="NUM">0</field></shadow></value><value name="GVALUE"><shadow type="math_number" id="?V_?pPBM0^NR]b07dx2B"><field name="NUM">0</field></shadow></value><value name="BVALUE"><shadow type="math_number" id="jMbjNUyH|yq^3/0SrHEX"><field name="NUM">25</field></shadow></value><next><block type="actuator_onboard_neopixel_write" id=";7:F5I$wmA._DPvUGi/2"><next><block type="controls_delay_new" id="(#UI*@Q0i7_!EXtp*}Mu"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="Zj97idWS:Tnh2iO.E_ua"><field name="NUM">0.5</field></shadow></value></block></next></block></next></block></next></block></statement><next><block type="actuator_onboard_neopixel_rgb_all" id="/K5ZOtt4G|P}uX#*7(YA"><value name="RVALUE"><shadow type="math_number" id="1K3bBRn^Gw1#[l$4+tvz"><field name="NUM">0</field></shadow></value><value name="GVALUE"><shadow type="math_number" id="^iY]fN_b@pvJ|Hi}mQvR"><field name="NUM">0</field></shadow></value><value name="BVALUE"><shadow type="math_number" id="4VB-4z5fT=2!z$!*~c]n"><field name="NUM">0</field></shadow></value><next><block type="actuator_onboard_neopixel_write" id="TW)D4I*g,u*|:C@jOOjC"><next><block type="controls_delay_new" id="O`usTtutF`gI;vNi]|Bh"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="lnXQne4b1Xl0Y,nb#JMD"><field name="NUM">1</field></shadow></value></block></next></block></next></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgaSBpbiByYW5nZSgwLCAyLCAxKToKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyNSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMSkK</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@元控奋斗(MINI)" shown="block"><block type="controls_forEach" id="iNXjbZa)]]7-*TW~HIY," x="-290" y="-169"><value name="LIST"><shadow type="list_many_input" id=")!d0bU$GQ-{r:8?hW)Ed"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id="$Lh?/hnfhWqS$08htdy2"><value name="FROM"><shadow type="math_number" id="m}`TG2dj}Bb]J^?lWj?x"><field name="NUM">0</field></shadow></value><value name="TO"><shadow type="math_number" id="!}Br6UqC+i3cx;qbr0)."><field name="NUM">8</field></shadow></value><value name="STEP"><shadow type="math_number" id="3@/rFq+r+G+X[;}E(#bO"><field name="NUM">1</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="a_({=NbK*)n/-TC)0Ej5"><field name="VAR">Y</field></shadow></value><statement name="DO"><block type="controls_forEach" id="WidIMnkD*:[ZERv#}Es("><value name="LIST"><shadow type="list_many_input" id=")!d0bU$GQ-{r:8?hW)Ed"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id="{sW,YZ8vhc0vS2)A4JtH"><value name="FROM"><shadow type="math_number" id="JD*t,:KLczqK7L!3!S@r"><field name="NUM">0</field></shadow></value><value name="TO"><shadow type="math_number" id="Z?I*23XW.4f^Z`coWppa"><field name="NUM">12</field></shadow></value><value name="STEP"><shadow type="math_number" id="#,5q_*!,kr7SoTdd,/Zo"><field name="NUM">1</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="VDnGU^FY)~ynCd{rpL}p"><field name="VAR">X</field></shadow></value><statement name="DO"><block type="display_bright_point" id="3o*;K^d2vLq53?2olLJA"><value name="x"><shadow type="pins_exlcdh" id="{t@t2[mUpq{:`Uwm)Mpw"><field name="PIN">0</field></shadow><block type="variables_get" id="E6g3XeOg[nh]W_7Q:i}-"><field name="VAR">X</field></block></value><value name="y"><shadow type="pins_exlcdv" id="u*#LbQRYB2Oy:ox`ze0u"><field name="PIN">0</field></shadow><block type="variables_get" id="{*Lxu+*vmab,+0WPDFMG"><field name="VAR">Y</field></block></value><value name="STAT"><shadow type="display_onoff" id="r#[L_~!Ch?,j}5^rhrV*"><field name="ONOFF">ON</field></shadow></value><next><block type="controls_delay_new" id="^t24Xa{L|@gH_bw9faWA"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="H6)ldL=^}I8!ug!sQlPO"><field name="NUM">0.1</field></shadow></value></block></next></block></statement></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmZvciBZIGluIHJhbmdlKDAsIDgsIDEpOgogICAgZm9yIFggaW4gcmFuZ2UoMCwgMTIsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChYKSwgaW50KFkpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo=</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@元控奋斗(MINI)" shown="block"><block type="controls_forEach" id="luDI5P;M-;)FtI(MykBV" x="-275" y="-244"><value name="LIST"><shadow type="list_many_input" id="uF/J]celFm[^J6O!iTwp"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id=",VTz.v1eFExVL{yrvaT4"><value name="FROM"><shadow type="math_number" id="Q,~*H+Rm,DNjGeC.PQys"><field name="NUM">0</field></shadow></value><value name="TO"><shadow type="math_number" id="jk#|Z;uBeSw=RGvF*AUB"><field name="NUM">8</field></shadow></value><value name="STEP"><shadow type="math_number" id="MPkPP*a8WzpUS[,I+1#A"><field name="NUM">2</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="Qcsy=IG[L^hp_q]a8Y5O"><field name="VAR">Y</field></shadow></value><statement name="DO"><block type="controls_forEach" id="eCfWgSREp$0!jWJo44.l"><value name="LIST"><shadow type="list_many_input" id="[|dL995fgZY@R04=aFa)"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id="x]k|q1U,7}iV,@mu~.Z8"><value name="FROM"><shadow type="math_number" id="R1GW}Uk|d;LxJ5Xiy+u+"><field name="NUM">0</field></shadow></value><value name="TO"><shadow type="math_number" id="2dkl0Hm:!LZPQhYxs0yn"><field name="NUM">12</field></shadow></value><value name="STEP"><shadow type="math_number" id="2wE6y`Bl-zeJjSP3NQTY"><field name="NUM">1</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="a`nsE(J/nf;n(06,(IUN"><field name="VAR">X</field></shadow></value><statement name="DO"><block type="display_bright_point" id="xUMCUiXmFQC}s$_h`+=l"><value name="x"><shadow type="pins_exlcdh" id="#o:uN4S2FPB~zQSn0k*r"><field name="PIN">0</field></shadow><block type="variables_get" id="G7bvO=4XH{K16_nr4/Na"><field name="VAR">X</field></block></value><value name="y"><shadow type="pins_exlcdv" id="bq2A2tK1Ccm!T`!de7KN"><field name="PIN">0</field></shadow><block type="variables_get" id="dv1r7E5(+oVy]BqaMh7!"><field name="VAR">Y</field></block></value><value name="STAT"><shadow type="display_onoff" id="|(Gc0Elc_$/DocK3:;=#"><field name="ONOFF">ON</field></shadow></value><next><block type="controls_delay_new" id="+lmcf{V^Lpy9/.twC1/3"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="n/{}cMGcc)EnLTRgyEQ/"><field name="NUM">0.1</field></shadow></value></block></next></block></statement><next><block type="controls_forEach" id="Bs[GzliTD7$y?*6r{hk|"><value name="LIST"><shadow type="list_many_input" id="[|dL995fgZY@R04=aFa)"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id="PC_Y-;xg)s.(k(RIJfXl"><value name="FROM"><shadow type="math_number" id="P=TQjjqT0}3oRD|=nsVM"><field name="NUM">11</field></shadow></value><value name="TO"><shadow type="math_number" id="tBgMkLMm$KL{vGmI}p)1"><field name="NUM">-1</field></shadow></value><value name="STEP"><shadow type="math_number" id="`2,x-rw?l:qh?MKN`a?,"><field name="NUM">-1</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="NA,v=Un;0TUWRO:)!=wh"><field name="VAR">X</field></shadow></value><statement name="DO"><block type="display_bright_point" id="cWPN,NULzO8$E:gLyg`i"><value name="x"><shadow type="pins_exlcdh" id="#o:uN4S2FPB~zQSn0k*r"><field name="PIN">0</field></shadow><block type="variables_get" id="hc]CRguE`i9`Z.iScT}#"><field name="VAR">X</field></block></value><value name="y"><shadow type="pins_exlcdv" id="bq2A2tK1Ccm!T`!de7KN"><field name="PIN">0</field></shadow><block type="math_arithmetic" id="z8V7}KJAdIX1F1S2R{.n"><field name="OP">ADD</field><value name="A"><shadow type="math_number" id="HtZ1*fJh/~x|/FS?+,{."><field name="NUM">1</field></shadow><block type="variables_get" id="pMW^-g{Mv8.dGu2l-?Zn"><field name="VAR">Y</field></block></value><value name="B"><shadow type="math_number" id="M?krV,I_-G-(I/b1Z+WW"><field name="NUM">1</field></shadow></value></block></value><value name="STAT"><shadow type="display_onoff" id="wJbbUWR]QEi.YX]2AX8s"><field name="ONOFF">ON</field></shadow></value><next><block type="controls_delay_new" id="2c+HjMh-{AWtV9w?D0om"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="QZ#+b^,jt-+M`r95@))v"><field name="NUM">0.1</field></shadow></value></block></next></block></statement></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmZvciBZIGluIHJhbmdlKDAsIDgsIDIpOgogICAgZm9yIFggaW4gcmFuZ2UoMCwgMTIsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChYKSwgaW50KFkpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZm9yIFggaW4gcmFuZ2UoMTEsIC0xLCAtMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KFgpLCBpbnQoWSArIDEpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo=</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@元控奋斗(MINI)" shown="block"><block type="controls_forEach" id=";c2o[e}xD~^cQ#]J$ajK" x="-275" y="-244"><value name="LIST"><shadow type="list_many_input" id="Yc4!2[^fOz,s)f#rH_X/"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id="]xU8/`At$8}_B9#shX?u"><value name="FROM"><shadow type="math_number" id="W+c6WR)ZQQCJR}z#1J:v"><field name="NUM">0</field></shadow></value><value name="TO"><shadow type="math_number" id="*B(Y+bzOy=[`_XAepNk}"><field name="NUM">12</field></shadow></value><value name="STEP"><shadow type="math_number" id="h4ENX6GUr~u)Pb:Zpjh~"><field name="NUM">2</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="g2Z4iyi1k];JVw[YK,|y"><field name="VAR">X</field></shadow></value><statement name="DO"><block type="controls_forEach" id="uuKA8$qdv(?@Re;4Z4AJ"><value name="LIST"><shadow type="list_many_input" id="oT1P1Pi91=x`;NPL#VYl"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id="[WROv9L+8{Fshf}}x9m@"><value name="FROM"><shadow type="math_number" id="tHLI(;59$L;Z,dvisEJ("><field name="NUM">0</field></shadow></value><value name="TO"><shadow type="math_number" id="Pi+!*GcaePhQ/s=DntON"><field name="NUM">8</field></shadow></value><value name="STEP"><shadow type="math_number" id="iTi[t;B?!m0pS5uJIR7?"><field name="NUM">1</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="=W*$3N0R{xBm+iJg3Z6s"><field name="VAR">Y</field></shadow></value><statement name="DO"><block type="display_bright_point" id="mVUz636!zhRTI|A7#@=p"><value name="x"><shadow type="pins_exlcdh" id="0U-:{;^h63|8-mU[:.zm"><field name="PIN">0</field></shadow><block type="variables_get" id="KRhG.gW8dnuR1d.8,})a"><field name="VAR">X</field></block></value><value name="y"><shadow type="pins_exlcdv" id="aPPDv$4dy;MP4ycOH}{d"><field name="PIN">0</field></shadow><block type="variables_get" id="UY-L3k?G{l~d8:D9Yrxu"><field name="VAR">Y</field></block></value><value name="STAT"><shadow type="display_onoff" id="Y@T[?|O_Jh[4Qt+bDr)X"><field name="ONOFF">ON</field></shadow></value><next><block type="controls_delay_new" id=",7lSdjJckt@nNp(bsx2B"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="Rt.y@TZQx-?h.G^[K-3="><field name="NUM">0.1</field></shadow></value></block></next></block></statement><next><block type="controls_forEach" id="A39vv/~3hz8gfRV0Pc?h"><value name="LIST"><shadow type="list_many_input" id="247PE_b+Y8onhE8#F6*1"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id="l2q-(ANa|Spq~rvPhk3?"><value name="FROM"><shadow type="math_number" id="OVcS*vq={PIm3fDtEHM."><field name="NUM">7</field></shadow></value><value name="TO"><shadow type="math_number" id="*+!(;u{rMY+WQZD$.X?4"><field name="NUM">-1</field></shadow></value><value name="STEP"><shadow type="math_number" id="BeOw8LN`!o?Ht_xD,7|c"><field name="NUM">-1</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="XNpb6{q3$0:cX9u,w9fh"><field name="VAR">Y</field></shadow></value><statement name="DO"><block type="display_bright_point" id="eH}+:IFZi=T{~Rk2YQWD"><value name="x"><shadow type="pins_exlcdh" id="EOZ}`s*^3Uk_#qfL9^Nx"><field name="PIN">0</field></shadow><block type="math_arithmetic" id="h.*Xwrc?}OB8J07_L|R6"><field name="OP">ADD</field><value name="A"><shadow type="math_number" id="Ab+3[#H[Xx)r:J^5Ta~M"><field name="NUM">1</field></shadow><block type="variables_get" id="WNh3Cw.QXb440362a4k;"><field name="VAR">X</field></block></value><value name="B"><shadow type="math_number" id="l.$q?-pq0vUAjUi@[3J)"><field name="NUM">1</field></shadow></value></block></value><value name="y"><shadow type="pins_exlcdv" id="$K$`|U9O2mA@^Su5v;Ec"><field name="PIN">0</field></shadow><block type="variables_get" id="pR/FQtuS)HzgOMOOcpX+"><field name="VAR">Y</field></block></value><value name="STAT"><shadow type="display_onoff" id=")UCe8QKmiyJIxLMAq_Fp"><field name="ONOFF">ON</field></shadow></value><next><block type="controls_delay_new" id="4;$j=X)h,5Zreth4IzEt"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="gW/vMq2KMVrpfv#!o1_|"><field name="NUM">0.1</field></shadow></value></block></next></block></statement></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmZvciBYIGluIHJhbmdlKDAsIDEyLCAyKToKICAgIGZvciBZIGluIHJhbmdlKDAsIDgsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChYKSwgaW50KFkpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZm9yIFkgaW4gcmFuZ2UoNywgLTEsIC0xKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoWCArIDEpLCBpbnQoWSksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCg==</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="controls_whileUntil" id="1tnP|{]0|o-Ud#=7VKTi" x="-1059" y="-724"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="6C4V70,W^@^4Jr)T-kkz"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="#pgLbkNaY#1QFgt_(,)P"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="QrQ+L@Ud75VNzT9N/7xA"><value name="btn"><shadow type="pins_button" id="@`$w6)+fIlY}+SSj6eC@"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="display_show_image" id="/6G|7yn/y?nh(tfMT8^c"><value name="data"><shadow type="pins_builtinimg" id="^d}FTCA*)SJ?=V7_AW?p"><field name="PIN">onboard_matrix.HEART</field></shadow></value></block></statement><next><block type="controls_if" id="nYNOeZhQD7Z//Nxs9CYk"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="OAt~@?^(KFS44+(!+cew"><value name="btn"><shadow type="pins_button" id="Bz7)u$KC-KC:L}-jYXk@"><field name="PIN">B2key</field></shadow></value></block></value><statement name="DO0"><block type="display_clear" id="){TdSUo{h38P1WhouA+$"></block></statement></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQo=</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@元控奋斗(MINI)" shown="block"><block type="controls_whileUntil" id="s`mJcun0U/Ja;MfhU?pg" x="-1437" y="-624"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="TP_te3t1;8Aj)y|W[4o6"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="8g=b7]K_$HH75L3E)VmQ"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="v$fq=Bpd.{P/:6](rUPd"><value name="btn"><shadow type="pins_button" id="p}u7KXju=W)krA!Y824U"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="actuator_led_bright" id="INo+Q(7EijcIF)w3)P2?"><value name="led"><shadow type="number" id="DvlD4yV$C+#q?be92KmQ"><field name="op">1</field></shadow></value><value name="bright"><shadow type="ledswitch" id="{dcwOP:g_p!ECh9m0$jL"><field name="flag">-1</field></shadow></value></block></statement></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwtMSkK</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="controls_whileUntil" id="8DKE),-0F.i+uz1fSTJX" x="-1437" y="-624"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="Nl`J3}85JzOGqG*(9:S,"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="N,2mwUWe;DqKkd5?T.ui"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="ZdXM_ycDuJ;?bynfzV*s"><value name="btn"><shadow type="pins_button" id="70C[K~?3g.|D]eMc]?L)"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="do_while" id="qdN_Cux=eF~-~LU,;f,n"><field name="type">true</field><statement name="input_data"><block type="display_show_image" id="/P-@nggJ1]lT?6yNNYez"><value name="data"><shadow type="pins_builtinimg" id="Ms9{b]F[{O{el91D=@/6"><field name="PIN">onboard_matrix.HEART</field></shadow></value></block></statement><value name="select_data"><block type="sensor_mixgo_button_was_pressed" id=".x,FKPPTGuy|vno)vPe^"><value name="btn"><shadow type="pins_button" id="!Igz8Vh.WOm.ib:a@tOH"><field name="PIN">B1key</field></shadow></value></block></value><next><block type="display_clear" id="o5tg(!d5n3o20Yzwc1Ym"></block></next></block></statement></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICAgICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCg==</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="variables_set" id="[L_6#Gt=E8PWoPnxFj]D" x="-1054" y="-758"><field name="VAR">显示</field><value name="VALUE"><block type="logic_boolean" id="J~XfWw,ed9.7*V(km1yo"><field name="BOOL">FALSE</field></block></value><next><block type="controls_whileUntil" id="EYg3=9X=w#J[^4)=,nd^"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="xgzrD/JKeq$4]wu*ejR="><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="z`go^ZprW_J0h(m#X}R!"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id=";-|XK;A#_r,vL8mhA09_"><value name="btn"><shadow type="pins_button" id="6*6-Uv8ZPO~VQ{6!$3;4"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="variables_set" id="ay_;#/.bV:cuAMGTej=8"><field name="VAR">显示</field><value name="VALUE"><block type="logic_negate" id="elOAb`Xd5m99o8L6.K0+"><value name="BOOL"><block type="variables_get" id="iyyY*)lFY|=/x99Ag/2V"><field name="VAR">显示</field></block></value></block></value></block></statement><next><block type="controls_if" id="f0yH`[m+^@@1^SMbPA;X"><mutation else="1"></mutation><value name="IF0"><block type="variables_get" id="`M~/M^atT`M{;FJqn;^A"><field name="VAR">显示</field></block></value><statement name="DO0"><block type="display_show_image" id="BoCQ9hM@j/NkjL2z`Z=A"><value name="data"><shadow type="pins_builtinimg" id="w7VV9:2C8SQ@q(I3.UEz"><field name="PIN">onboard_matrix.HEART</field></shadow></value></block></statement><statement name="ELSE"><block type="display_clear" id="{bBhEH+h7CQ9O07QAHZ?"></block></statement></block></next></block></statement></block></next></block></xml><config>{}</config><code>aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCl9FNl85OF9CRV9FN19BNF9CQSA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBID0gbm90IF9FNl85OF9CRV9FN19BNF9CQQogICAgaWYgX0U2Xzk4X0JFX0U3X0E0X0JBOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCg==</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="controls_whileUntil" id="9MZBd~S17.dmR89q=?Qb" x="-1444" y="-789"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id=";r^tVGEY^2mjU)c13E$="><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="system_print" id="w)kbHFZCWCCR1bRqL,55"><value name="VAR"><shadow type="text" id="SG1{JHdXY*wmyjQSe^uK"><field name="TEXT">Mixly</field></shadow><block type="sensor_sound" id="T-w1!zKD[*bytQwQC83b"></block></value><next><block type="controls_delay_new" id="J(B00QvP7}C]UF#+mvHX"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="$2dr^]m:s^66+*QMB}Fc"><field name="NUM">0.01</field></shadow></value></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkpCiAgICB0aW1lLnNsZWVwKDAuMDEpCg==</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="controls_whileUntil" id="$Q?hE*Dzix+eX]2a!BjS" x="-1457" y="-799"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="a7o!sFq6R]hK$U5RzX77"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="system_print" id="c_D!+JVU3v2/5Cg(i2+="><value name="VAR"><shadow type="text" id="WppuQ]CSb+u~QyYgX7*["><field name="TEXT">Mixly</field></shadow><block type="sensor_sound" id="OTOvWWso/k~dDig^(B,s"></block></value><next><block type="controls_forEach" id="1ojvQkmPcQ7I.}w,3AI@"><value name="LIST"><shadow type="list_many_input" id="lt95]yg`K@`_xoI$vMn("><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id="i*fQg_X.rrCQWqFJnaWZ"><value name="FROM"><shadow type="math_number" id="kKFZ`cNl6hD@bQU@jd,7"><field name="NUM">0</field></shadow></value><value name="TO"><shadow type="math_number" id="#^x9tE8qM5FW/kGh:,])"><field name="NUM">5</field></shadow><block type="text_to_number" id="~OCjx=GAg|_/Sw?u/DSk"><field name="TOWHAT">int</field><value name="VAR"><shadow type="variables_get" id="v*9hlp`chpYA;1smCgCn"><field name="VAR">x</field></shadow><block type="math_map" id="PycEHO}RK`qOv3k;p?nO"><value name="NUM"><shadow type="math_number" id="YHrU!*hUaQf1Nk:7isKZ"><field name="NUM">50</field></shadow><block type="sensor_sound" id=",i--OlP^bOik.yq,kd2u"></block></value><value name="fromLow"><shadow type="math_number" id="Q7UiB;l#Ihf[Na=Q)c]."><field name="NUM">0</field></shadow></value><value name="fromHigh"><shadow type="math_number" id="v^;mr-^aA8LXP^8kStC:"><field name="NUM">100</field></shadow></value><value name="toLow"><shadow type="math_number" id="W,)$ww?GR$5#g*n75eq:"><field name="NUM">0</field></shadow></value><value name="toHigh"><shadow type="math_number" id="==m=Y;N0UzKe}G@V$tE="><field name="NUM">7</field></shadow></value></block></value></block></value><value name="STEP"><shadow type="math_number" id="^(I9Hfs2Hv.V-N:U_I0E"><field name="NUM">1</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="R1VSe7Xu9Kb``,)q({;f"><field name="VAR">y</field></shadow></value><statement name="DO"><block type="display_bright_point" id="]M4q;*$657EM:3;fxT5M"><value name="x"><shadow type="pins_exlcdh" id="7iIO1Tr|o94g6|6q?si["><field name="PIN">11</field></shadow></value><value name="y"><shadow type="pins_exlcdv" id="A7]6h=7mI2uMnCciuQ23"><field name="PIN">0</field></shadow><block type="math_arithmetic" id="v~uX2^4WLRU~7[^}|wh8"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id="T(31oL41gDTEmb6nc=H="><field name="NUM">7</field></shadow></value><value name="B"><shadow type="math_number" id="E)fH#$2P_K+jgKdek^0z"><field name="NUM">1</field></shadow><block type="variables_get" id="|H[g=`J:06sByUvw8|Hm"><field name="VAR">y</field></block></value></block></value><value name="STAT"><shadow type="display_onoff" id="BH8V5A]v2Dp7:TUnH_;{"><field name="ONOFF">ON</field></shadow></value></block></statement><next><block type="display_shift" id=",vEVdci8L$RNVoHv_3J-"><field name="OP">shift_left</field><value name="val"><shadow type="math_number" id="Z.aj3.o;H6vz6~?Qf[VK"><field name="NUM">1</field></shadow></value><next><block type="controls_delay_new" id="S1wPU!DdS{YCUdBm:Wmb"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="T1vPd2e)lf(I-N,pDHFV"><field name="NUM">0.1</field></shadow></value></block></next></block></next></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSkKICAgIGZvciB5IGluIHJhbmdlKDAsIGludCgobWF0aF9tYXAob25ib2FyZF9ib3Quc291bmRsZXZlbCgpLCAwLCAxMDAsIDAsIDcpKSksIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludCg3IC0geSksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICB0aW1lLnNsZWVwKDAuMSkK</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="controls_whileUntil" id="}x8y)Z4}_3:(xb^mO8~b" x="-1433" y="-745"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="@9GK;e,hlnf+|6,}B]O:"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="system_print" id=";i1SK8^$@jh3cj8w{pA]"><value name="VAR"><shadow type="text" id="U9?W5TIq0@0t|h-XRstd"><field name="TEXT">Mixly</field></shadow><block type="sensor_LTR308" id="f!m!c9nUS(^GKn{uBkU`"></block></value><next><block type="display_show_image_or_string_delay" id="m}@N;XV|C$YWNF_1E!uE"><field name="center">False</field><value name="data"><shadow type="text" id="O$3^@=+-{;7?Y2Wx!.NV"><field name="TEXT">Mixly</field></shadow><block type="number_to_text" id="=59|*hD;k2gsOUD~p~c!"><value name="VAR"><shadow type="variables_get" id="+4fOGTH7~k?Q64FV0OwM"><field name="VAR">x</field></shadow><block type="text_to_number" id="f?Zbtb|pQT^lfvfBF$~^"><field name="TOWHAT">int</field><value name="VAR"><shadow type="variables_get" id="8=UwfYukg8v^8$MfK7JY"><field name="VAR">x</field></shadow><block type="sensor_LTR308" id="0_U|j:*Fu;#MK3aavj*t"></block></value></block></value></block></value><value name="space"><shadow type="math_number" id="2yw[Iyy+M{AYryIB`2jw"><field name="NUM">0</field></shadow></value><next><block type="controls_delay_new" id="m!SFTW[lnzz/_Jz6qb~S"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="1~84Qni}bTI2Ea!~,|0W"><field name="NUM">0.1</field></shadow></value></block></next></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cihpbnQob25ib2FyZF9hbHMuYWxzX3ZpcygpKSksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgdGltZS5zbGVlcCgwLjEpCg==</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="variables_set" id="Y+v/d!@{#=Al)HCE*0xw" x="-1439" y="-816"><field name="VAR">当前光强</field><value name="VALUE"><block type="math_number" id="{lsZ]tzCi*UqXivl!8ut"><field name="NUM">0</field></block></value><next><block type="variables_set" id="C|{BBiAac?=5]x_$R@O;"><field name="VAR">补光大小</field><value name="VALUE"><block type="math_number" id="hnnJHh4h`:YV$K6]i6pw"><field name="NUM">0</field></block></value><next><block type="controls_whileUntil" id="WH{7l,lVZ,zIyuw=$iPQ"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="(GoWxM8Glf]|{^~o?^1g"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="variables_set" id="W0(2wKxhh@^K)j9TdVN@"><field name="VAR">当前光强</field><value name="VALUE"><block type="text_to_number" id="[~MQUN@;F:pK.@1411,."><field name="TOWHAT">int</field><value name="VAR"><shadow type="variables_get" id="Wp/X.KvSQ(fE.gD8UPA7"><field name="VAR">x</field></shadow><block type="sensor_LTR308" id="Fc9p-~7z_A!Cn`Sb^n4w"></block></value></block></value><next><block type="system_print" id="w:F5032fkoHJ2q)Ct78m"><value name="VAR"><shadow type="text" id="QJ!SjlVLb)XmD=p)hJMj"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="*ZsQteB-dbd)(X)IFTEZ"><field name="VAR">当前光强</field></block></value><next><block type="display_show_image_or_string_delay" id="E!0i/~z4![S4d8Yt4QIm"><field name="center">False</field><value name="data"><shadow type="text" id="#uCT8a:._HSZi,5S,/N6"><field name="TEXT">Mixly</field></shadow><block type="number_to_text" id="diy}i#=GZtAkox]t3$Xl"><value name="VAR"><shadow type="variables_get" id="9;~h:S|9ldJ/@u7u+~XK"><field name="VAR">x</field></shadow><block type="variables_get" id="sS!*/pE;r10Tm+_YQ3}L"><field name="VAR">当前光强</field></block></value></block></value><value name="space"><shadow type="math_number" id="E8C:3|`,qmMJlmnj|?In"><field name="NUM">0</field></shadow></value><next><block type="variables_set" id="e;X6Z$?M9^N,B.03_i?c"><field name="VAR">补光大小</field><value name="VALUE"><block type="math_constrain" id="EJvxH|+vOS9xYn]FHch*"><value name="VALUE"><shadow type="math_number" id="O3^kwSxps^fD.JC;S7d1"><field name="NUM">1000</field></shadow><block type="math_arithmetic" id="IzZ.XNQXO8N}7r!#bb|Y"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id="n8qEoF_*Jj??{ir]u5#y"><field name="NUM">25</field></shadow></value><value name="B"><shadow type="math_number" id="8Y$0PS_MCPJYI63A/:s~"><field name="NUM">1</field></shadow><block type="variables_get" id="w#^yOJx]=?w6GgQk]k}N"><field name="VAR">当前光强</field></block></value></block></value><value name="LOW"><shadow type="math_number" id="I@0llYK$m_ZF*I(/j@*f"><field name="NUM">0</field></shadow></value><value name="HIGH"><shadow type="math_number" id=")oQ6EGcdFlrWsG!j-QHq"><field name="NUM">25</field></shadow></value></block></value><next><block type="actuator_onboard_neopixel_rgb_all" id="AyOO@J=]l(;.gS8}N2}f"><value name="RVALUE"><shadow type="math_number" id="Bp)^u?RZvk/5_L7*ZIm1"><field name="NUM">0</field></shadow><block type="variables_get" id="AAB^utYW,Qx{yh+bWji`"><field name="VAR">补光大小</field></block></value><value name="GVALUE"><shadow type="math_number" id=":44/2@*[.#cjcf4O*cl:"><field name="NUM">0</field></shadow><block type="variables_get" id="q.e6^NPTG(jBiP7oi32z"><field name="VAR">补光大小</field></block></value><value name="BVALUE"><shadow type="math_number" id="ak-u]m06.;pd^h5MBS!j"><field name="NUM">0</field></shadow><block type="variables_get" id="}l5ps*I5ob99[p$]m^35"><field name="VAR">补光大小</field></block></value><next><block type="actuator_onboard_neopixel_write" id="WG9=|-$6ww?xz2tKaK`h"></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCgpfRTVfQkRfOTNfRTVfODlfOERfRTVfODVfODlfRTVfQkNfQkEgPSAwCl9FOF9BMV9BNV9FNV84NV84OV9FNV9BNF9BN19FNV9CMF84RiA9IDAKd2hpbGUgVHJ1ZToKICAgIF9FNV9CRF85M19FNV84OV84RF9FNV84NV84OV9FNV9CQ19CQSA9IGludChvbmJvYXJkX2Fscy5hbHNfdmlzKCkpCiAgICBwcmludChfRTVfQkRfOTNfRTVfODlfOERfRTVfODVfODlfRTVfQkNfQkEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1X0JEXzkzX0U1Xzg5XzhEX0U1Xzg1Xzg5X0U1X0JDX0JBKSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICBfRThfQTFfQTVfRTVfODVfODlfRTVfQTRfQTdfRTVfQjBfOEYgPSBtaW4obWF4KDI1IC0gX0U1X0JEXzkzX0U1Xzg5XzhEX0U1Xzg1Xzg5X0U1X0JDX0JBLCAwKSwgMjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKChfRThfQTFfQTVfRTVfODVfODlfRTVfQTRfQTdfRTVfQjBfOEYsIF9FOF9BMV9BNV9FNV84NV84OV9FNV9BNF9BN19FNV9CMF84RiwgX0U4X0ExX0E1X0U1Xzg1Xzg5X0U1X0E0X0E3X0U1X0IwXzhGKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="variables_set" id="#Y_3hurlSZ,RGINR{~:b" x="-1439" y="-816"><field name="VAR">接近距离</field><value name="VALUE"><block type="math_number" id="M9Fa(`iukQ=Wcq`Xzb?z"><field name="NUM">0</field></block></value><next><block type="controls_whileUntil" id="`{2IU3xnUxxzl/F0m!Mt"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="kG?^HpcTJ./X!.oRfKW#"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="variables_set" id="~OA2U8vg^.]yE3`Sfv;)"><field name="VAR">接近距离</field><value name="VALUE"><block type="text_to_number" id="hC270vVYm=NcK4aEy[t3"><field name="TOWHAT">int</field><value name="VAR"><shadow type="variables_get" id="Hr.:_J$=JHZL6BC(7dI="><field name="VAR">x</field></shadow><block type="sensor_mixgo_pin_near_single" id="Q5CYM]J]-,!BK4TvuOsw"></block></value></block></value><next><block type="system_print" id="R0Bf8K+XwU2F=$m0ET3)"><value name="VAR"><shadow type="text" id="J.YPT8f{0{po1xj}D}r~"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="q_rkAd#kUcd/|d1VieA6"><field name="VAR">接近距离</field></block></value><next><block type="display_scroll_string" id="xX,+|vfS=Fp=i52DMom="><value name="data"><shadow type="text" id="yE+yO}]:C)X^q|Zn[?e-"><field name="TEXT">Mixly</field></shadow><block type="number_to_text" id="xG{`_KdZCW+i#+4Iv3[Q"><value name="VAR"><shadow type="variables_get" id="c{-{*F/2(2GcIrmqnZ-U"><field name="VAR">x</field></shadow><block type="variables_get" id="@CRm*dV:8L5W([|}/g.M"><field name="VAR">接近距离</field></block></value></block></value></block></next></block></next></block></statement></block></next></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCID0gMAp3aGlsZSBUcnVlOgogICAgX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCID0gaW50KG9uYm9hcmRfYWxzLnBzX25sKCkpCiAgICBwcmludChfRTZfOEVfQTVfRThfQkZfOTFfRThfQjdfOURfRTdfQTZfQkIpCiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoc3RyKF9FNl84RV9BNV9FOF9CRl85MV9FOF9CN185RF9FN19BNl9CQikpCg==</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="variables_set" id="X(nw/HNt~J.W=3}fZ4)D" x="-1439" y="-831"><field name="VAR">接近距离</field><value name="VALUE"><block type="math_number" id="r.4.N(2{yV85)@E]R1}l"><field name="NUM">0</field></block></value><next><block type="variables_set" id="Gre)3M:#v]}7UM`g27O@"><field name="VAR">是否报警</field><value name="VALUE"><block type="logic_boolean" id="50}`*uT88e0oju;Dd*/w"><field name="BOOL">FALSE</field></block></value><next><block type="controls_whileUntil" id="]Ya6u+P8~k).5wcfuL^r"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="u6=]U{+cWOO_K/+Vh(7:"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="variables_set" id="Q3SRG[{7JykSoR~E|;$+"><field name="VAR">接近距离</field><value name="VALUE"><block type="text_to_number" id="zuah~?(@.vZv(UfXc5Au"><field name="TOWHAT">int</field><value name="VAR"><shadow type="variables_get" id="Y@jdLPL.5yosIt2OEKK;"><field name="VAR">x</field></shadow><block type="sensor_mixgo_pin_near_single" id="e$},vI-S-9X^g]srSS!O"></block></value></block></value><next><block type="system_print" id=")N$uS8W4Tabm3(9x6dNZ"><value name="VAR"><shadow type="text" id="vl,Y:ZOUGEWirKp*/8|{"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="(;IvQHzJcfLl9!-p4/d1"><field name="VAR">接近距离</field></block></value><next><block type="display_show_image_or_string_delay" id="3Ypwp;fyiv9h^WG^`y[P"><field name="center">False</field><value name="data"><shadow type="text" id="gsZpxBwClWJZU+)+a=s="><field name="TEXT">Mixly</field></shadow><block type="number_to_text" id="$SclT0HiVk=XVnFa)I`R"><value name="VAR"><shadow type="variables_get" id="N!C.DI@oi9ea^Py`d2zZ"><field name="VAR">x</field></shadow><block type="math_arithmetic" id="VWE9IU!s9Y{p$#KgPU9U"><field name="OP">ZHENGCHU</field><value name="A"><shadow type="math_number" id="calZG=}-lq3=ssu[JOvq"><field name="NUM">1</field></shadow><block type="variables_get" id="|I~pYurHGGuGxB]GXlBd"><field name="VAR">接近距离</field></block></value><value name="B"><shadow type="math_number" id="W8IrBR=cQTekv-OS^Jm@"><field name="NUM">100</field></shadow></value></block></value></block></value><value name="space"><shadow type="math_number" id="}c3_8h.Ddk5XnPEKM1:U"><field name="NUM">0</field></shadow></value><next><block type="variables_set" id="6fOy5nwkK+3uXrsFV;hf"><field name="VAR">是否报警</field><value name="VALUE"><block type="logic_compare" id="JN?@UZ~w6lAqnqJ/fTm."><field name="OP">GT</field><value name="A"><block type="variables_get" id="92r-|U]1{q?!8mfzuO-R"><field name="VAR">接近距离</field></block></value><value name="B"><block type="math_number" id="D=#ZbP[M#Itz=fh*bY|d"><field name="NUM">1000</field></block></value></block></value><next><block type="controls_if" id="8TJJ]?/S**B6J8;gvA$b"><value name="IF0"><block type="variables_get" id="G~0sjjG!/AIIM$w^Ia)0"><field name="VAR">是否报警</field></block></value><statement name="DO0"><block type="esp32_onboard_music_play_list" id="169W_KTCz`o4QN)^Ag21"><value name="LIST"><shadow type="pins_playlist" id="@0fMJ{.(sDy?.ZcadtaE"><field name="PIN">onboard_music.DADADADUM</field></shadow></value></block></statement></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCl9FNl84RV9BNV9FOF9CRl85MV9FOF9CN185RF9FN19BNl9CQiA9IDAKX0U2Xzk4X0FGX0U1XzkwX0E2X0U2XzhBX0E1X0U4X0FEX0E2ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIF9FNl84RV9BNV9FOF9CRl85MV9FOF9CN185RF9FN19BNl9CQiA9IGludChvbmJvYXJkX2Fscy5wc19ubCgpKQogICAgcHJpbnQoX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKChfRTZfOEVfQTVfRThfQkZfOTFfRThfQjdfOURfRTdfQTZfQkIgLy8gMTAwKSksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgX0U2Xzk4X0FGX0U1XzkwX0E2X0U2XzhBX0E1X0U4X0FEX0E2ID0gX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCID4gMTAwMAogICAgaWYgX0U2Xzk4X0FGX0U1XzkwX0E2X0U2XzhBX0E1X0U4X0FEX0E2OgogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkK</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="controls_whileUntil" id="yQGY7p`,aGCzPI;S(Gs/" x="-1405" y="-729"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="a7+MDf`;@dU}xbh/Yjk*"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="system_print" id="zpZ}Pv-lQ5:izYo^!c-0"><value name="VAR"><shadow type="text" id=":}81}5bB)sZlp3T^_i(9"><field name="TEXT">Mixly</field></shadow><block type="sensor_get_acceleration" id="vg};:tW/-z4`KgJt?q3A"><field name="key"></field></block></value><next><block type="controls_delay_new" id="55;-4IP6)B/}7O{MS/y1"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="D$fY,_D1^:JJMP7`Ps.Y"><field name="NUM">1</field></shadow></value></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKSkKICAgIHRpbWUuc2xlZXAoMSkK</code>
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="controls_whileUntil" id="kbc@|^;9pfoEq/FG$(P?" x="-1474" y="-692"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="X_=jD4S,ccdKUH;]8v3$"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="system_print" id="$NR2M9;nHO1Jhats)X/r"><value name="VAR"><shadow type="text" id="x73H/AO.?3I)e[L8H^!V"><field name="TEXT">Mixly</field></shadow><block type="sensor_mixgo_cc_mmc5603_get_magnetic" id="va~HFT1nxR//g.-?~l`*"><field name="key">all</field></block></value><next><block type="controls_delay_new" id="yI7;mFVfDK}Z_W~{lLV,"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="(I!LQPvhEP:cz`oyxbic"><field name="NUM">1</field></shadow></value></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21ncwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX21ncy5nZXRzdHJlbmd0aCgpKQogICAgdGltZS5zbGVlcCgxKQo=</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="controls_whileUntil" id="d]s?~(R$H^5OT5#TE@(}" x="-1507" y="-849"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="3Lh=4bNW3FKR,]2b*pTw"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="0g[R+9!ZB_)/QU{*5k/c"><value name="IF0"><block type="logic_compare" id="`-ECJm}1=$EN1,t/mJtc"><field name="OP">GT</field><value name="A"><block type="sensor_mixgo_cc_mmc5603_get_magnetic" id="pmA~.Z1PsXI=,,NC$;H|"><field name="key">all</field></block></value><value name="B"><block type="math_number" id="wTiEjaOZ;RI,=*(zO|cI"><field name="NUM">2000</field></block></value></block></value><statement name="DO0"><block type="esp32_onboard_music_pitch_with_time" id="=H{gDO[GDHp2w}O|`;=H"><value name="pitch"><shadow type="pins_tone_notes" id="I;r+jO`#wr`z-g[1.yM:"><field name="PIN">440</field></shadow></value><value name="time"><shadow type="math_number" id="7]Z9Usz{nKW8d4qA~nL]"><field name="NUM">100</field></shadow></value><next><block type="display_show_image_or_string_delay" id="m$TRNcQn:m[t^EU#X)@b"><field name="center">True</field><value name="data"><shadow type="text" id="PaKJ:|$^)g)=~eM$!)te"><field name="TEXT">GO</field></shadow></value><value name="space"><shadow type="math_number" id="$_T_Dg|;el_5m9rQN|0}"><field name="NUM">0</field></shadow></value><next><block type="controls_delay_new" id=")I{Yx;1$=Ivzs$k{~/Ft"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="W`IN0D1YlBRBZ*0YDaz|"><field name="NUM">1</field></shadow></value></block></next></block></next></block></statement><next><block type="controls_if" id="7SH1eJUT$R~T)CW-V+rx"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="^3GG3{*zkqyzIR!*3^B!"><value name="btn"><shadow type="pins_button" id="=8Ae8|Cx~_I`M3#dMEyH"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="display_clear" id="_iXL/.1*3C({!SLq]_bm"></block></statement></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21ncwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQoKCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX21ncy5nZXRzdHJlbmd0aCgpID4gMjAwMDoKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNDQwLCAxMDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQo=</code>
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="display_bright_point" id="}DHe$Nlq!!?@W!R21`n9" x="-675" y="-358"><value name="x"><shadow type="pins_exlcdh" id="?njI|jXfRTKdG.ll}`:{"><field name="PIN">6</field></shadow></value><value name="y"><shadow type="pins_exlcdv" id="crOz@[lvYN[UuQWQJZXD"><field name="PIN">4</field></shadow></value><value name="STAT"><shadow type="display_onoff" id="R2NkDo6mQM/U253HCno;"><field name="ONOFF">ON</field></shadow></value><next><block type="controls_whileUntil" id="Qs{HRC/(:{bGw+V^_uBd"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="[X(!-bx}~P@$tq0GC-.$"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="4^$3N[YDo/:p{n{Niqso"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="bYnuV0jB`hIhJv|V[r[U"><value name="btn"><shadow type="pins_button" id="CqASFQP1WU5$.-2^fOMm"><field name="PIN">A1key</field></shadow></value></block></value><statement name="DO0"><block type="display_shift" id="#.0(_ujQRCw63AO34z:4"><field name="OP">shift_down</field><value name="val"><shadow type="math_number" id="|uiscUP8SAp~Wsp0Rk1{"><field name="NUM">1</field></shadow></value></block></statement><next><block type="controls_if" id="7v_K[OOwj?7s7}n[Pdct"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="@csTKgu)!{j!4,L=EiWW"><value name="btn"><shadow type="pins_button" id="${5$p2XwFx5JAz={yzBL"><field name="PIN">A2key</field></shadow></value></block></value><statement name="DO0"><block type="display_shift" id="7Bs#e2l5EE]jl-3O3j#("><field name="OP">shift_left</field><value name="val"><shadow type="math_number" id="By*rONGzKkXR^F!,ru2M"><field name="NUM">1</field></shadow></value></block></statement><next><block type="controls_if" id="I{^j*!6bC5rDVU`bzz63"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="CSI*na=m]`T)l7y_K_PT"><value name="btn"><shadow type="pins_button" id="dBGmz,`@2SGe*d0Dlb+v"><field name="PIN">A3key</field></shadow></value></block></value><statement name="DO0"><block type="display_shift" id="}f/8n1Z6N]y9nPd^!..J"><field name="OP">shift_up</field><value name="val"><shadow type="math_number" id="K,qUiyERbLUjX}dhIvOE"><field name="NUM">1</field></shadow></value></block></statement><next><block type="controls_if" id="ygJc;+[L`6MGH3rSM(@["><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="jaNevf]Z^{91oia?uSGR"><value name="btn"><shadow type="pins_button" id="RfWE`3v5tWf0mGMq*LQd"><field name="PIN">A4key</field></shadow></value></block></value><statement name="DO0"><block type="display_shift" id="GZT2)h.b[aAS[CwTL1d="><field name="OP">shift_right</field><value name="val"><shadow type="math_number" id="g`]oIs7KO0=0g(8CQWu2"><field name="NUM">1</field></shadow></value></block></statement></block></next></block></next></block></next></block></statement></block></next></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQoKCm9uYm9hcmRfbWF0cml4LnBpeGVsKGludCg2KSwgaW50KDQpLCAxKQpvbmJvYXJkX21hdHJpeC5zaG93KCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9kb3duKDEpCiAgICBpZiBtaXhnb19taW5pLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfbGVmdCgxKQogICAgaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNoaWZ0X3VwKDEpCiAgICBpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfcmlnaHQoMSkK</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="onboard_RTC_set_datetime" id="MgV.Rn.5B5ff;xnV:@+g" inline="true" x="-1763" y="-898"><value name="year"><shadow type="math_number" id="FrP|g$-~5(v,19[4UL:n"><field name="NUM">2024</field></shadow></value><value name="month"><shadow type="math_number" id="XE0QQRjbV+3}I/~hSxgE"><field name="NUM">4</field></shadow></value><value name="day"><shadow type="math_number" id="c@^F7jYQ~!S,_lx9Fg{p"><field name="NUM">2</field></shadow></value><value name="hour"><shadow type="math_number" id="tBtQ#RTOtEK+dymI-G)H"><field name="NUM">21</field></shadow></value><value name="minute"><shadow type="math_number" id="m-3PqB}Ux-6)sRYgU@$8"><field name="NUM">4</field></shadow></value><value name="second"><shadow type="math_number" id="H_|Q=K/Eoo}injEJy37;"><field name="NUM">45</field></shadow></value><next><block type="controls_whileUntil" id="t6F0Ce8y`hYIi*{u2QIs"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="QzI:0.X7k4Yy+kPaVE0W"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="system_print" id="@VLQZ$H{3d^o8WJ$(N.`"><value name="VAR"><shadow type="text" id="O~@I.7TO{m2{4POxrT-w"><field name="TEXT">Mixly</field></shadow><block type="onboard_RTC_get_time" id="1oBbBJ;ohllcwWYFp]|:"></block></value><next><block type="controls_delay_new" id="5{RgVe;Nl[#P_5_[-19a"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="CQLIoVuPLlg?aIG6S#^F"><field name="NUM">1</field></shadow></value></block></next></block></statement></block></next></block></xml><config>{}</config><code>aW1wb3J0IG50cHRpbWUKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgpudHB0aW1lLnNldHRpbWUoKDIwMjQsNCwyLDIxLDA0LDQ1LDAsMCkpCndoaWxlIFRydWU6CiAgICBwcmludCh0aW1lLmxvY2FsdGltZSgpKQogICAgdGltZS5zbGVlcCgxKQo=</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="onboard_RTC_set_datetime" id="65q^3qC4sh6IaezPCruX" inline="true" x="-2187" y="-818"><value name="year"><shadow type="math_number" id="whl#m`SfebH`[cu$+dn!"><field name="NUM">2024</field></shadow></value><value name="month"><shadow type="math_number" id="0_Bl^Wwj__R{Yr.cS^45"><field name="NUM">4</field></shadow></value><value name="day"><shadow type="math_number" id="2BRG.og`pWGr(cOG;t`,"><field name="NUM">2</field></shadow></value><value name="hour"><shadow type="math_number" id="xt{_3c7^N/-U-Sa!f@vH"><field name="NUM">21</field></shadow></value><value name="minute"><shadow type="math_number" id="jsQ2MwfQpbq=!~zUDVi|"><field name="NUM">04</field></shadow></value><value name="second"><shadow type="math_number" id="I(^z/O1]`X+][ppP7ER~"><field name="NUM">45</field></shadow></value><next><block type="controls_whileUntil" id="#8GiG._+K|y21QHcGHA["><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="Vc0}c(UsL404p:Um9/0o"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="variables_set" id="T.OtLiV#`6RX^kUhhglh"><field name="VAR">mytup</field><value name="VALUE"><block type="onboard_RTC_get_time" id="]T0Jf(v)U}wsZP(_OHP3"></block></value><next><block type="display_scroll_string" id="q#;opu4~9CIxb+peAfcv"><value name="data"><shadow type="text" id="!iK!qxf|G*4_TeH*~|O|"><field name="TEXT">Mixly</field></shadow><block type="text_format_noreturn" id="8;UMyGq)T@n6E8I^{4rv" inline="false"><mutation items="3"></mutation><value name="VAR"><shadow type="text" id="C@8I,-L,.P-4b]O-Uozf"><field name="TEXT">{}:{}:{}</field></shadow></value><value name="ADD0"><block type="number_to_text" id="d#mzDylTqj8,={Z5hqsH"><value name="VAR"><shadow type="variables_get" id="|Yt1Pia$EP8nqJu}Pp2$"><field name="VAR">x</field></shadow><block type="tuple_getIndex" id="Y6-o:YaXUA~Nh.})~Cc,"><value name="TUP"><shadow type="variables_get" id="5v?J/8J!3~3,wmNkJJx`"><field name="VAR">mytup</field></shadow></value><value name="AT"><shadow type="math_number" id="8??pMB]T:fE;/Hc$m(pr"><field name="NUM">3</field></shadow></value></block></value></block></value><value name="ADD1"><block type="number_to_text" id="FgeuXY[,d[Tsdg?#v;4j"><value name="VAR"><shadow type="variables_get" id="-KBN[da3uh,`UjI!xcsP"><field name="VAR">x</field></shadow><block type="tuple_getIndex" id="[{T!9AlZcqc=Oog?:P_5"><value name="TUP"><shadow type="variables_get" id="WE**VqW(-b@0$vOqAj4I"><field name="VAR">mytup</field></shadow></value><value name="AT"><shadow type="math_number" id="RyuSI0=6N+VSlToK)]sR"><field name="NUM">4</field></shadow></value></block></value></block></value><value name="ADD2"><block type="number_to_text" id="2R*.?8iH?pEWWi}GnIdW"><value name="VAR"><shadow type="variables_get" id="UC~D#bRZByh$pn.D;=q}"><field name="VAR">x</field></shadow><block type="tuple_getIndex" id="xr+JH?Jpln0IG0Z3wl*$"><value name="TUP"><shadow type="variables_get" id="MM.RSK2iG3dM47s.@paJ"><field name="VAR">mytup</field></shadow></value><value name="AT"><shadow type="math_number" id="L29a]W(HNEKYd14GOM,I"><field name="NUM">5</field></shadow></value></block></value></block></value></block></value><next><block type="controls_delay_new" id="DPR;}H|0]^YvdRzUY[B`"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="x*!V7p:yVtIT]j:Ep,{h"><field name="NUM">0.5</field></shadow></value></block></next></block></next></block></statement></block></next></block></xml><config>{}</config><code>aW1wb3J0IG50cHRpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCm50cHRpbWUuc2V0dGltZSgoMjAyNCw0LDIsMjEsMDQsNDUsMCwwKSkKd2hpbGUgVHJ1ZToKICAgIG15dHVwID0gdGltZS5sb2NhbHRpbWUoKQogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKCd7fTp7fTp7fScuZm9ybWF0KHN0cihteXR1cFszXSksIHN0cihteXR1cFs0XSksIHN0cihteXR1cFs1XSkpKQogICAgdGltZS5zbGVlcCgwLjUpCg==</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="variables_set" id="ayd4*({)l#^VM[bpI#U`" x="-2099" y="-915"><field name="VAR">按下时刻</field><value name="VALUE"><block type="math_number" id="o6_E_lNVPaxx)+QA`bjS"><field name="NUM">0</field></block></value><next><block type="variables_set" id="$R;@8I?a_8vdz=/lag!#"><field name="VAR">抬起时刻</field><value name="VALUE"><block type="math_number" id="7}exR2|MhpJ,l+*YpaOB"><field name="NUM">0</field></block></value><next><block type="controls_whileUntil" id="gpu3Lv-VSStmnRkk7Zbi"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="An}U,!6],wwU-)a0Hpos"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="c-l{42h3LCus6rd*jLo("><value name="IF0"><block type="sensor_mixgo_button_is_pressed" id="x34i[LV1[a-!Y2p2mTLl"><value name="btn"><shadow type="pins_button" id="L.|wOw~fnv)p.eLk73:H"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="variables_set" id="-vrRF-J}uJM~Eb;KbN?B"><field name="VAR">按下时刻</field><value name="VALUE"><block type="controls_millis" id="!F?P34[=5(8/B9t_K+a@"><field name="Time">ms</field></block></value><next><block type="do_while" id="?gxI)r;UnW,*h}gmJ9[."><field name="type">true</field><value name="select_data"><block type="logic_negate" id="X)p-e;`Q;8|tJ9Qj:vOT"><value name="BOOL"><block type="sensor_mixgo_button_is_pressed" id="TRVLJb+^-t~2mO}j-0]X"><value name="btn"><shadow type="pins_button" id="$lU_@TZoS|}*-cu~~p0~"><field name="PIN">B1key</field></shadow></value></block></value></block></value><next><block type="variables_set" id="PcP8d7OHTTQyxa$SCu9N"><field name="VAR">抬起时刻</field><value name="VALUE"><block type="controls_millis" id="c!oBQ;CY5m[TJQ8IZGB["><field name="Time">ms</field></block></value><next><block type="system_print" id="mr;p9mF-EU,s6-M?,J)k"><value name="VAR"><shadow type="text" id="pc0f?d@p-WTYeJ]XRd4;"><field name="TEXT">Mixly</field></shadow><block type="math_arithmetic" id="!YlQY{4uT1LfY#-utnrB"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id="[THMBX]9b_k^.A$ag]7z"><field name="NUM">1</field></shadow><block type="variables_get" id="W-NWZQ,rBnsOq8?t/0,h"><field name="VAR">抬起时刻</field></block></value><value name="B"><shadow type="math_number" id="LTxG]U2}HWAjbRvK6k:="><field name="NUM">1</field></shadow><block type="variables_get" id="M!t_#N4IGKdHw`KFb9B~"><field name="VAR">按下时刻</field></block></value></block></value><next><block type="display_scroll_string" id="]Qe8dx7nv}5c-,I=}@q?"><value name="data"><shadow type="text" id="VW[w-uXT^xzM~p+aoYjV"><field name="TEXT">Mixly</field></shadow><block type="number_to_text" id="5C:;80`2fR:3x`|_yn3G"><value name="VAR"><shadow type="variables_get" id="6$K[TnaE!RvAKa-|YB#H"><field name="VAR">x</field></shadow><block type="math_arithmetic" id="2Pucn8eA6=#wg4E)CFL5"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id=":v.EdXeHXt*9fJ]If7HA"><field name="NUM">1</field></shadow><block type="variables_get" id="3V,jYXZ|@7K2|U8cc{sF"><field name="VAR">抬起时刻</field></block></value><value name="B"><shadow type="math_number" id="m_HpRt!W}.x1Ab}`lKm+"><field name="NUM">1</field></shadow><block type="variables_get" id="lT;Yuv1x+q+*T8`*d6NL"><field name="VAR">按下时刻</field></block></value></block></value></block></value></block></next></block></next></block></next></block></next></block></statement></block></statement></block></next></block></next></block></xml><config>{}</config><code>aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCl9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG5vdCBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIF9FNl84QV9BQ19FOF9CNV9CN19FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHByaW50KChfRTZfOEFfQUNfRThfQjVfQjdfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIpKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChzdHIoKF9FNl84QV9BQ19FOF9CNV9CN19FNl85N19CNl9FNV84OF9CQiAtIF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQikpKQo=</code>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="controls_whileUntil" id="CUUxBl{B=-86:pOTbpdU" x="-2754" y="-915"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="h_7kIDrejKtsa(5O.^,9"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="display_show_image" id="ASEcu/oCLaBT$/s5ojA)"><value name="data"><shadow type="pins_builtinimg" id="Q+Y?X`ktiym:zQPvv,Fg"><field name="PIN">onboard_matrix.HEART</field></shadow></value><next><block type="controls_delay_new" id="_o+^LUBbmukoelJ7i?-p"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="RZ$gk0dW^n_^(P-/CH0o"><field name="NUM">0.5</field></shadow></value><next><block type="display_show_image" id="T-;R9z})N|m[z*+qu{Q,"><value name="data"><shadow type="pins_builtinimg" id="NnW.3RRcYYsKtzubh)56"><field name="PIN">onboard_matrix.HEART_SMALL</field></shadow></value><next><block type="controls_delay_new" id="3F|Sk})}oO2ofzR)K;n."><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="zx6@bo4$Vr5oQKNIoGXw"><field name="NUM">0.5</field></shadow></value><next><block type="controls_if" id="[9q0$Z?Q?zVvCZXjgv~_"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="W$+lD)}Y63,1SpkqubBq"><value name="btn"><shadow type="pins_button" id="oIOW+a@:tdTVg)y;2B9:"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="actuator_onboard_neopixel_rgb_all" id=":HnJx[e6-i-o:BjxQD0A"><value name="RVALUE"><shadow type="math_number" id=":jt1+KxA/m{5:?Z{*|v2"><field name="NUM">20</field></shadow></value><value name="GVALUE"><shadow type="math_number" id="/^?(vdoyMFO$#F0slSmB"><field name="NUM">20</field></shadow></value><value name="BVALUE"><shadow type="math_number" id="4EG9uqe*COq7.!N@ghF{"><field name="NUM">20</field></shadow></value><next><block type="actuator_onboard_neopixel_write" id="Gc6izjv[VPvSG:eeG$/P"></block></next></block></statement><next><block type="controls_if" id="}cn9.txd,Jad6IW@fxR{"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="ukHGd`3#SZ#.zeoJJF{h"><value name="btn"><shadow type="pins_button" id=")U4vLKnG@rHs|]i,3Uj^"><field name="PIN">B2key</field></shadow></value></block></value><statement name="DO0"><block type="actuator_onboard_neopixel_rgb_all" id="T#7(43P^$}R]~$_i~7cK"><value name="RVALUE"><shadow type="math_number" id="V,8[d5^r!}t]`O*{;:AQ"><field name="NUM">0</field></shadow></value><value name="GVALUE"><shadow type="math_number" id="7[.wMWaJGY~Zi3,)1{$?"><field name="NUM">0</field></shadow></value><value name="BVALUE"><shadow type="math_number" id="fUo$z6oCoujl6w?hpT)|"><field name="NUM">0</field></shadow></value><next><block type="actuator_onboard_neopixel_write" id="YS,DlTzWeW3DZrLBl;MU"></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVF9TTUFMTCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDIwLCAyMCwgMjApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCg==</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><variables><variable id="kujED6C|3`}2*o!`dvF;">x</variable></variables><block type="variables_set" id="5WItal*H*J7-m8:#sED^" x="-2776" y="-1041"><field name="VAR">是否亮灯</field><value name="VALUE"><block type="logic_boolean" id="=ad7L_-Gs^B#M$qef.PS"><field name="BOOL">FALSE</field></block></value><next><block type="sensor_mixgo_button_attachInterrupt" id="May;=sfQ=J31x}w|92LI"><field name="mode">machine.Pin.IRQ_RISING</field><value name="btn"><shadow type="pins_button" id="03Kk0)_s~Yg.2Bol+lP."><field name="PIN">B2key</field></shadow></value><value name="DO"><shadow type="factory_block_return" id="eYwvYy?4):!@J+M4IE0O"><field name="VALUE">attachInterrupt_func</field></shadow></value><next><block type="controls_whileUntil" id="ElIgPzaV:js3uwRD;KYs"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="02}#Xoj9x!HgLbg5/Q/a"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="display_show_image" id="H4NfVD?dLCa(!qB.TCdD"><value name="data"><shadow type="pins_builtinimg" id="a1_0Qf55N}OSa9m1MOV!"><field name="PIN">onboard_matrix.HEART</field></shadow></value><next><block type="controls_delay_new" id="DFx/nvWZ_l?Pp]XD2@2;"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="{es3vxn[#_0^MSqGILK2"><field name="NUM">0.5</field></shadow></value><next><block type="display_show_image" id="~_Bn_Bb0_+pcI.lg0o9X"><value name="data"><shadow type="pins_builtinimg" id="e0-AH{)BU[9.uzD5fK[#"><field name="PIN">onboard_matrix.HEART_SMALL</field></shadow></value><next><block type="controls_delay_new" id="/qp*QBk!jjXkUX9dG_T2"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="Toiog-(g~BC86W8.=otb"><field name="NUM">0.5</field></shadow></value></block></next></block></next></block></next></block></statement></block></next></block></next></block><block type="procedures_defnoreturn" id="@89D~2/S|GTeUaV9t#m8" x="-2787" y="-716"><mutation><arg name="x" varid="kujED6C|3`}2*o!`dvF;"></arg></mutation><field name="NAME">attachInterrupt_func</field><statement name="STACK"><block type="variables_global" id="7e]l2J13():6Vb(zwjOp"><value name="VAR"><block type="variables_get" id="RG1Y!HvwXl$]T-/Mo^0a"><field name="VAR">是否亮灯</field></block></value><next><block type="variables_set" id="2Y65)bGr0JrZy)ftyxQz"><field name="VAR">是否亮灯</field><value name="VALUE"><block type="logic_negate" id="[n37]VcE_`rRPZYUMc_w"><value name="BOOL"><block type="variables_get" id="e(os{ow]9=}crNul]Nnb"><field name="VAR">是否亮灯</field></block></value></block></value><next><block type="controls_if" id="|EAx|c[9weCS2~qac7UU"><mutation else="1"></mutation><value name="IF0"><block type="variables_get" id="gH:bZ@l9NcT+Nbcg}plx"><field name="VAR">是否亮灯</field></block></value><statement name="DO0"><block type="actuator_onboard_neopixel_rgb_all" id="VBou22tv1B$h;TCP?ZRu"><value name="RVALUE"><shadow type="math_number" id="i/p$F7g(zw*5FCz]hhzg"><field name="NUM">10</field></shadow></value><value name="GVALUE"><shadow type="math_number" id="{LGS*Z,r6@;e?`j[(jTA"><field name="NUM">10</field></shadow></value><value name="BVALUE"><shadow type="math_number" id="3^I*K7c~gOz0XujAE$Zg"><field name="NUM">10</field></shadow></value></block></statement><statement name="ELSE"><block type="actuator_onboard_neopixel_rgb_all" id="D2gKVsK.{vjP79h[Pfa*"><value name="RVALUE"><shadow type="math_number" id="8n0DzgTOgAk?b$3bPY::"><field name="NUM">0</field></shadow></value><value name="GVALUE"><shadow type="math_number" id="LAA[K[`mHb/#RS:FNOh="><field name="NUM">0</field></shadow></value><value name="BVALUE"><shadow type="math_number" id="7m_VKVfBMH[[B=1?8eJc"><field name="NUM">0</field></shadow></value></block></statement><next><block type="actuator_onboard_neopixel_write" id="o7JpLR+x^o5(HIu_}$b;"></block></next></block></next></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgYXR0YWNoSW50ZXJydXB0X2Z1bmMoeCk6CiAgICBnbG9iYWwgX0U2Xzk4X0FGX0U1XzkwX0E2X0U0X0JBX0FFX0U3XzgxX0FGCiAgICBfRTZfOThfQUZfRTVfOTBfQTZfRTRfQkFfQUVfRTdfODFfQUYgPSBub3QgX0U2Xzk4X0FGX0U1XzkwX0E2X0U0X0JBX0FFX0U3XzgxX0FGCiAgICBpZiBfRTZfOThfQUZfRTVfOTBfQTZfRTRfQkFfQUVfRTdfODFfQUY6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMTAsIDEwLCAxMCkpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCgpfRTZfOThfQUZfRTVfOTBfQTZfRTRfQkFfQUVfRTdfODFfQUYgPSBGYWxzZQptaXhnb19taW5pLkIya2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgdGltZS5zbGVlcCgwLjUpCg==</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><variables><variable id="ok:ro0iEW(eJAtg/iAsj">tim</variable></variables><block type="variables_set" id="`/m=GV}T}coZ4Em_hb|!" x="-2908" y="-1031"><field name="VAR">开始</field><value name="VALUE"><block type="logic_boolean" id="EWf,jI.4_YX?z7GDhHYQ"><field name="BOOL">FALSE</field></block></value><next><block type="variables_set" id="R.*7g0g^rr_m9y+T]`Hx"><field name="VAR">计时</field><value name="VALUE"><block type="math_number" id="3H8pa1#a?)mEDdNOX[g2"><field name="NUM">0</field></block></value><next><block type="system_timer_init" id="iB{xw:H8VW$88mmSY-iC"><value name="SUB"><shadow type="variables_get" id="t1_pQ{PwQjdxLs1,@O)X"><field name="VAR">tim</field></shadow></value><next><block type="system_timer" id=",AN|$ao_^98JR/$,-i~$"><field name="mode">PERIODIC</field><value name="VAR"><shadow type="variables_get" id="8Bysq`*i;}bQ_zETnyzR"><field name="VAR">tim</field></shadow></value><value name="period"><shadow type="math_number" id="UKc+R8J`#),Opu{D=w#m"><field name="NUM">100</field></shadow></value><value name="callback"><shadow type="factory_block_return" id="xvCauxlX(^55jVMoviz?"><field name="VALUE">tim_callback</field></shadow></value><next><block type="controls_whileUntil" id="8n06)Vt$tvqM3GDgl!~9"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="qv#~tTjpQ|Mv28bX=2hT"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="K0[oMObE~`ck`65-i.W}"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="n8o7mTHC3wbs4+U]G4)~"><value name="btn"><shadow type="pins_button" id="t,O!?!9t:uH(oFlMEa_`"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="variables_set" id="ARYJ`vc83,}tJ=n4a$:h"><field name="VAR">开始</field><value name="VALUE"><block type="logic_negate" id="NHG89C)fpHYWXZ1Hgg,C"><value name="BOOL"><block type="variables_get" id="O/et@ut}-t33[X`j:K$T"><field name="VAR">开始</field></block></value></block></value></block></statement></block></statement></block></next></block></next></block></next></block></next></block><block type="procedures_defnoreturn" id="q4_w!KIC:o6h;i_PXnqb" x="-2822" y="-727"><mutation><arg name="tim" varid="ok:ro0iEW(eJAtg/iAsj"></arg></mutation><field name="NAME">tim_callback</field><statement name="STACK"><block type="variables_global" id="7=/7)87w8+5HAvxV]W~0"><value name="VAR"><block type="variables_get" id="JWSNSl;yL@PCTL,x)axV"><field name="VAR">计时</field></block></value><next><block type="variables_global" id="-Ol]JyzkEVxZ(b(h:olV"><value name="VAR"><block type="variables_get" id="{L0p.13(+UTO43l[W;^|"><field name="VAR">开始</field></block></value><next><block type="controls_if" id="5oX!oB!JnKgJ)zF!:ZFG"><value name="IF0"><block type="variables_get" id="[LA:AUxQVX}+(Q2g`$Vv"><field name="VAR">开始</field></block></value><statement name="DO0"><block type="math_selfcalcu" id="r1,0.6/qPa?l!bQul8bi"><field name="OP">ADD</field><value name="A"><shadow type="variables_get" id="5|.Q9ue4AnQ?_}4(d*]w"><field name="VAR">a</field></shadow><block type="variables_get" id="+0sAmQhqCA8V[yHrYu|j"><field name="VAR">计时</field></block></value><value name="B"><shadow type="math_number" id="8dq^QGB4[t3.a@,^wRzr"><field name="NUM">1</field></shadow></value></block></statement><next><block type="display_show_image_or_string_delay" id="o:Oc4{MQgYsd9FxAw`@n"><field name="center">False</field><value name="data"><shadow type="text" id="0!I:Abwk$@WDAi[NcD7g"><field name="TEXT">Mixly</field></shadow><block type="number_to_text" id="X-gLNb-CSt8T#2-jE,SB"><value name="VAR"><shadow type="variables_get" id="IZf8?}LXu=@X`G4ipDmo"><field name="VAR">x</field></shadow><block type="variables_get" id="tMMnCg.O3r!8v|LON4n+"><field name="VAR">计时</field></block></value></block></value><value name="space"><shadow type="math_number" id="biKls2Cw!!a~{)BPJ*fp"><field name="NUM">0</field></shadow></value></block></next></block></next></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIF9FOF9BRV9BMV9FNl85N19CNgogICAgZ2xvYmFsIF9FNV9CQ184MF9FNV9BN184QgogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCOgogICAgICAgIF9FOF9BRV9BMV9FNl85N19CNiArPSAxCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U4X0FFX0ExX0U2Xzk3X0I2KSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCgoKCl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCl9FOF9BRV9BMV9FNl85N19CNiA9IDAKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSAxMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEIgPSBub3QgX0U1X0JDXzgwX0U1X0E3XzhCCg==</code>
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="variables_set" id="07vkg@Q9?4lm{#g3u}H#" x="-3402" y="-1011"><field name="VAR">音乐</field><value name="VALUE"><block type="logic_boolean" id="STZso9v/p?ZASK1DbYgZ"><field name="BOOL">FALSE</field></block></value><next><block type="controls_thread" id="hYla};BeV(O~,C0lWp)$"><value name="callback"><shadow type="factory_block_return" id="J,m_`2ivckL}r?RTG[54"><field name="VALUE">testThread</field></shadow></value><value name="VAR"><block type="tuple_create_with_noreturn" id="N+X|WNt,888}939!~|#Q" inline="true"><mutation items="0"></mutation></block></value><next><block type="controls_whileUntil" id="RzMO_[1dNzOuI1*A7#a."><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="^an0ZufLd4TUqq03vO94"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="(4o@i,:X.M2.xiHv#TWA"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="5P-Rpae5O+C#Ez*Hm7:5"><value name="btn"><shadow type="pins_button" id="pslCHUgH=x]E,Ut2r[{1"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="variables_set" id="JD4W4-|G@rsL7o[7IcU{"><field name="VAR">音乐</field><value name="VALUE"><block type="logic_negate" id="(CH0_kz/R(#Dq)s1VR!G"><value name="BOOL"><block type="variables_get" id="52^$4{I,9VNFn4FGY*=N"><field name="VAR">音乐</field></block></value></block></value></block></statement><next><block type="display_show_image" id="d1WW$yCJrXVO~^!8R!Lp"><value name="data"><shadow type="pins_builtinimg" id="2WooZ[+GvMR.|8F0aa}v"><field name="PIN">onboard_matrix.HEART</field></shadow></value><next><block type="controls_delay_new" id="Ifn2?E(2Uc2!EE|oCNM9"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="O;_E`GC_0Sa-:0+@so?p"><field name="NUM">0.1</field></shadow></value><next><block type="display_show_image" id="]s~WV5lfmpHmkLDq):(j"><value name="data"><shadow type="pins_builtinimg" id="^Rs0Y|uHKA6V[wSafDh?"><field name="PIN">onboard_matrix.HEART_SMALL</field></shadow></value><next><block type="controls_delay_new" id="`5vmQ@h55NG4)_N^2/V9"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="c]JO=e7oe9B:3hYkRF{i"><field name="NUM">0.1</field></shadow></value></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block><block type="procedures_defnoreturn" id="NJo.+F3iqHb-CBRRW-7F" inline="false" x="-3406" y="-641"><field name="NAME">testThread</field><statement name="STACK"><block type="variables_global" id=".u}BjgxV?PK?O04#.EhW"><value name="VAR"><block type="variables_get" id="?)o@LbVJ3`!![Z}x:W])"><field name="VAR">音乐</field></block></value><next><block type="controls_whileUntil" id="k35D@0h*kh=/Y.a@t!Ln"><field name="MODE">WHILE</field><value name="BOOL"><block type="logic_boolean" id="ur$=MKL-MX@E6LAN(CSY"><field name="BOOL">TRUE</field></block></value><statement name="DO"><block type="controls_if" id="dHDalRD,~}Ir0Gl1)Jl|"><value name="IF0"><block type="variables_get" id="1DhsVOvFv+JXr[73MkYj"><field name="VAR">音乐</field></block></value><statement name="DO0"><block type="esp32_onboard_music_play_list" id="j^PZk7dg)z~z0giTobk?"><value name="LIST"><shadow type="pins_playlist" id="vF^zd7aJe;:5[_a}TA1S"><field name="PIN">onboard_music.DADADADUM</field></shadow></value></block></statement></block></statement></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IF90aHJlYWQKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U5XzlGX0IzX0U0X0I5XzkwID0gbm90IF9FOV85Rl9CM19FNF9COV85MAogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgdGltZS5zbGVlcCgwLjEpCg==</code>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C3@MixGo ME"><variables><variable id="*5WT[`,Lbe5En3jd}uUk">data</variable></variables><block type="communicate_bluetooth_central_init" id="XVxQU)9R2~Z@Y34pCxdG" x="-871" y="-463"><value name="VAR"><shadow type="variables_get" id="b26wwENV}ZJa^*TG4SHB"><field name="VAR">ble_c</field></shadow></value><next><block type="communicate_bluetooth_recv" id="0}BU=5,q|EY3[[2g]Rq]"><value name="VAR"><shadow type="variables_get" id="u[:3Rb[Vp2Mi=TJ1OU9#"><field name="VAR">ble_c</field></shadow></value><value name="METHOD"><shadow type="factory_block_return" id="MF?Y1mh^ZX0}8~wTT#hM"><field name="VALUE">ble_method</field></shadow></value><next><block type="controls_whileUntil" id="-a=^w$ZIpO~AmyTob1ak"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="?/UQc?34]r!Q~Bmu$2x)"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="~RLW11bx?s}Y=?JIuby1"><mutation else="1"></mutation><value name="IF0"><block type="communicate_bluetooth_is_connected" id="QcBYlti-^RV71/TJFN15"><value name="VAR"><shadow type="variables_get" id="m1rNx#y2`a9!`5cAxgYL"><field name="VAR">ble_c</field></shadow></value></block></value><statement name="DO0"><block type="controls_if" id="NeNM|iZ8trC|{Lp}bHOX"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="1=LPHL^_kW=6bxHnF0?U"><value name="btn"><shadow type="pins_button" id="jiy[|!mCn1Q4~CE1?}Zm"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="communicate_bluetooth_send" id="B8Oc@b*pbP}^H?8Dq0n/"><value name="VAR"><shadow type="variables_get" id="i$|Z;u5~Xe:AHtM?}X:u"><field name="VAR">ble_c</field></shadow></value><value name="data"><shadow type="text" id="/j(fe}yi~@kkJ`Gte}D3"><field name="TEXT">test</field></shadow></value></block></statement><next><block type="display_show_image_or_string_delay" id="lH;adktB[}@;ph+6I{Lr"><field name="center">True</field><value name="data"><shadow type="text" id="hEL/$GI7sYqy9bA+7Zz;"><field name="TEXT">OK</field></shadow></value><value name="space"><shadow type="math_number" id="t(-X+m^C[b=n]=cM:(2H"><field name="NUM">0</field></shadow></value></block></next></block></statement><statement name="ELSE"><block type="display_show_image_or_string_delay" id="792o!Nx=NDe{hqUpqnsm"><field name="center">True</field><value name="data"><shadow type="text" id="}KK[Kq3|A`}o00ZDCMaI"><field name="TEXT">==</field></shadow></value><value name="space"><shadow type="math_number" id="R3!Pi{iXE.DQz2gvE7GS"><field name="NUM">0</field></shadow></value><next><block type="controls_try_finally" id="6TYGLd7(~mI|si|:o[qi"><mutation elseif="1"></mutation><statement name="try"><block type="communicate_bluetooth_connect" id="gPsjE[c+p!KCN,:6SZ/R"><field name="mode">name</field><value name="VAR"><shadow type="variables_get" id="Ik:ud@FA44lo7!KBsiWz"><field name="VAR">ble_c</field></shadow></value><value name="data"><shadow type="text" id="`KJ]nfb3W9edNcx/]]KC"><field name="TEXT">Mixly_Slave</field></shadow></value></block></statement><value name="IF1"><shadow type="factory_block_return" id="DnGW|x`ZeQd|{ZVs_Pbx"><field name="VALUE">Exception as e</field></shadow></value></block></next></block></statement></block></statement></block></next></block></next></block><block type="procedures_defnoreturn" id="h$|cC!IK_w6^Ek1(jwju" x="-860" y="72"><mutation><arg name="data" varid="*5WT[`,Lbe5En3jd}uUk"></arg></mutation><field name="NAME">ble_method</field><statement name="STACK"><block type="system_print" id="v$-bT|,EIyW_4HggeMB-"><value name="VAR"><shadow type="text" id=":N.rnSDh6Ix8#kTGJrg2"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="NW[G10)uRPzcy07W{(ei"><field name="VAR">data</field></block></value></block></statement></block></xml><config>{}</config><code>aW1wb3J0IGJsZV9jZW50cmFsCmltcG9ydCBtaXhnb19tZQpmcm9tIG1peGdvX21lIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWFjaGluZQoKZGVmIGJsZV9tZXRob2QoZGF0YSk6CiAgICBwcmludChkYXRhKQoKCgpibGVfYyA9IGJsZV9jZW50cmFsLkJMRVNpbXBsZUNlbnRyYWwoKQpibGVfYy5yZWN2KGJsZV9tZXRob2QpCndoaWxlIFRydWU6CiAgICBpZiBibGVfYy5pc19jb25uZWN0ZWQoKToKICAgICAgICBpZiBtaXhnb19tZS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBibGVfYy5zZW5kKCd0ZXN0JykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnT0snLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnPT0nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgICAgIHRyeToKICAgICAgICAgICAgYmxlX2MuY29ubmVjdChuYW1lPSdNaXhseV9TbGF2ZScpCiAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgICAgICBwYXNzCg==</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C3@MixGo ME"><variables><variable id="d$Hz)_vvA0^=g9`rK.n2">data</variable></variables><block type="communicate_bluetooth_peripheral_init" id="hQ-[7#Gh.c]9SKrCXwaO" x="-1213" y="-853"><value name="VAR"><shadow type="variables_get" id="UpowlDu$DX-mBM964aN3"><field name="VAR">ble_x</field></shadow></value><value name="data"><shadow type="text" id="F6Q[$2br?,;zG764}yL+"><field name="TEXT">Mixly_Slave</field></shadow></value><next><block type="communicate_bluetooth_recv" id="aHQn*cI9^QP5:4ItL;){"><value name="VAR"><shadow type="variables_get" id="@a^I{D4pDPg6g)bsLT2y"><field name="VAR">ble_x</field></shadow></value><value name="METHOD"><shadow type="factory_block_return" id="C2/Kqb.(Ij,-*|IMw4Wo"><field name="VALUE">ble_method</field></shadow></value><next><block type="controls_whileUntil" id="|+f*lJaYS#Exbb?*5x(n"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="=Br}LQ;{QE1a{fy15dEk"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="VBk6We_zfLGv/_-VMQ_*"><mutation else="1"></mutation><value name="IF0"><block type="communicate_bluetooth_is_connected" id="o4s!lK3j4@{EwZqikQs,"><value name="VAR"><shadow type="variables_get" id="ccNwXMCD+J?`dyhZ?:WL"><field name="VAR">ble_x</field></shadow></value></block></value><statement name="DO0"><block type="display_show_image_or_string_delay" id=":EM,twV{8YH!9$J|}X#h"><field name="center">True</field><value name="data"><shadow type="text" id="@T!IgR-}BLe!B47p-X(V"><field name="TEXT">OK</field></shadow></value><value name="space"><shadow type="math_number" id="5O~EKvg6wHe(6@yk+PQr"><field name="NUM">0</field></shadow></value><next><block type="controls_if" id=",}4;w3pz1)_)]YW$5VpP"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="AKhM(j)IXg`m0V2.|r7f"><value name="btn"><shadow type="pins_button" id="*)Q[0.q`^OO6I^:By^FQ"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="communicate_bluetooth_send" id="Os[;cbKRVu(O1_KHf;6c"><value name="VAR"><shadow type="variables_get" id="$/MfTsjYU}4Uxzpp92ao"><field name="VAR">ble_x</field></shadow></value><value name="data"><shadow type="text" id="O#$zVkuf;?Mg}y0hald,"><field name="TEXT">B1按键按下</field></shadow></value></block></statement><next><block type="controls_if" id="~j-~?5NlXxavO!l{(l!8"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="*eNs!nMRG:rcZ@+FqEtu"><value name="btn"><shadow type="pins_button" id="`7ph#K6a4-Ig*UKwt9To"><field name="PIN">B2key</field></shadow></value></block></value><statement name="DO0"><block type="communicate_bluetooth_send" id="6Z?srXLAA36;H|vS7xc+"><value name="VAR"><shadow type="variables_get" id="C_:Xe/).o!~|/|PDbR]R"><field name="VAR">ble_x</field></shadow></value><value name="data"><shadow type="text" id="7?~RZ*:qD!4b1r(;Gx,W"><field name="TEXT">B2按键按下</field></shadow></value></block></statement></block></next></block></next></block></statement><statement name="ELSE"><block type="display_show_image_or_string_delay" id="YOZBp0!A~@eOp^k{9.WI"><field name="center">True</field><value name="data"><shadow type="text" id="e35?=gwdj4dOEB{5c`#K"><field name="TEXT">==</field></shadow></value><value name="space"><shadow type="math_number" id="i;)KB:Vv~Cwol0^bLxl?"><field name="NUM">0</field></shadow></value></block></statement></block></statement></block></next></block></next></block><block type="procedures_defnoreturn" id="b#hYj{j~Z}w8uj@i8pHx" x="-1208" y="-319"><mutation><arg name="data" varid="d$Hz)_vvA0^=g9`rK.n2"></arg></mutation><field name="NAME">ble_method</field><statement name="STACK"><block type="system_print" id="fb0JMR4ZBy^4?f7BSRwI"><value name="VAR"><shadow type="text" id="DeX=Gmzl~KPb_}v:jD8T"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="KOn_R=BnF]g!]i(3hJU~"><field name="VAR">data</field></block></value></block></statement></block></xml><config>{}</config><code>aW1wb3J0IGJsZV9wZXJpcGhlcmFsCmZyb20gbWl4Z29fbWUgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19tZQppbXBvcnQgbWFjaGluZQoKZGVmIGJsZV9tZXRob2QoZGF0YSk6CiAgICBwcmludChkYXRhKQoKCgpibGVfeCA9IGJsZV9wZXJpcGhlcmFsLkJMRVNpbXBsZVBlcmlwaGVyYWwoJ01peGx5X1NsYXZlJykKYmxlX3gucmVjdihibGVfbWV0aG9kKQp3aGlsZSBUcnVlOgogICAgaWYgYmxlX3guaXNfY29ubmVjdGVkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ09LJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICBpZiBtaXhnb19tZS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBibGVfeC5zZW5kKCdCMeaMiemUruaMieS4iycpCiAgICAgICAgaWYgbWl4Z29fbWUuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgYmxlX3guc2VuZCgnQjLmjInplK7mjInkuIsnKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnPT0nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQo=</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@元控奋斗(MINI)" shown="block"><block type="analog_ble_keyboard_mouse_init" id="Ft+kqP(~H{w65-=Bmn]x" x="-293" y="-124"><value name="kname"><shadow type="text" id="q=6K.9Plbfbf=:wh]v;g"><field name="TEXT">ble_keyboard_mouse</field></shadow></value><next><block type="do_while" id="`ETm[I,c?4Q?6kM/fW6["><field name="type">true</field><statement name="input_data"><block type="display_scroll_string" id="mAXo(C)7_,zjoSb^]Gk#"><value name="data"><shadow type="text" id="n|*tf=(!#!TCG.C,$}h-"><field name="TEXT">waitting</field></shadow></value></block></statement><value name="select_data"><block type="ble_keyboard_mouse_connect" id="H,VThFrSn+-TTWL`;lGl"></block></value><next><block type="esp32_onboard_music_pitch_with_time" id="{w:^u*3KSp5^j[YfnUhN"><value name="pitch"><shadow type="pins_tone_notes" id="Ng8OWk-Ku?u}HqptvnB+"><field name="PIN">784</field></shadow></value><value name="time"><shadow type="math_number" id="PF?duk^FbqT{*@xw_m4/"><field name="NUM">150</field></shadow></value><next><block type="esp32_onboard_music_pitch_with_time" id="P.)$(t)|HTo$vvt#h2=e"><value name="pitch"><shadow type="pins_tone_notes" id="+iP|TmSI[=KGEhP),jLq"><field name="PIN">659</field></shadow></value><value name="time"><shadow type="math_number" id="pk1G@elkG47UT/sc^{]r"><field name="NUM">150</field></shadow></value><next><block type="controls_whileUntil" id="+~GFL||m[[,]L)fgv=ne"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="?-1Rl_A38TsS!BTj+!m="><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="{C6I8@1_Q[!v5U~cX9L;"><mutation elseif="1"></mutation><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="c+2qUVhe(h7+i(*hE8b`"><value name="btn"><shadow type="pins_button" id="}VoLA!ST.NK],-fxElLL"><field name="PIN">A1key</field></shadow></value></block></value><statement name="DO0"><block type="analog_ble_keyboard_mouse_input" id="CmmW!v$U})*/48$~Q]v^"><field name="release">True</field><value name="special"><block type="special_key" id="k;1[,pnoCm^{R.{]~#)W"><field name="op">0x00</field></block></value><value name="general"><block type="general_key" id="kfN}B,AD[(S7rF6I,$ej"><field name="op">0x52</field></block></value></block></statement><value name="IF1"><block type="sensor_mixgo_button_was_pressed" id="2(:F-w$fTvB2)#7|!{k+"><value name="btn"><shadow type="pins_button" id="r@Lv!}[l(^Gvk^YaW#dF"><field name="PIN">A3key</field></shadow></value></block></value><statement name="DO1"><block type="analog_ble_keyboard_mouse_input" id="]95m}Q-RA`Z*)w3yUrz3"><field name="release">True</field><value name="special"><block type="special_key" id="r5/G=+MFF=,#DbV;ZtRS"><field name="op">0x00</field></block></value><value name="general"><block type="general_key" id="Js9$2ml}A3#px7wc[IjC"><field name="op">0x4E</field></block></value></block></statement><next><block type="controls_delay_new" id="8Vd=P^cQRrQSGS_mAze0"><field name="Time">ms</field><value name="DELAY_TIME"><shadow type="math_number" id="EtJ4suZ`[/_peePEvjcB"><field name="NUM">10</field></shadow></value></block></next></block></statement></block></next></block></next></block></next></block></next></block></xml><config>{}</config><code>ZnJvbSBibGVfaGlkIGltcG9ydCBISUQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKCgpibGVfaGlkID0gSElEKCdibGVfa2V5Ym9hcmRfbW91c2UnKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKCd3YWl0dGluZycpCiAgICBpZiAoYmxlX2hpZC5pc19jb25uZWN0ZWQoKSk6CiAgICAgICAgYnJlYWsKb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDc4NCwgMTUwKQpvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxNTApCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgYmxlX2hpZC5rZXlib2FyZF9ub3RpZnkoMHgwMCwweDUyLFRydWUpCiAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBibGVfaGlkLmtleWJvYXJkX25vdGlmeSgweDAwLDB4NEUsVHJ1ZSkKICAgIHRpbWUuc2xlZXBfbXMoMTApCg==</code>
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@元控奋斗(MINI)" shown="block"><block type="analog_ble_keyboard_mouse_init" id=".E$R6tQ][ZXTy5u{8+^S" x="0" y="-11"><value name="kname"><shadow type="text" id=")lw]Q6|q+]TxQ8X^}t35"><field name="TEXT">ble_keyboard_mouse</field></shadow></value><next><block type="do_while" id="AtS-3xrN2MPl_I2:d5l9"><field name="type">true</field><statement name="input_data"><block type="display_scroll_string" id="oB#:rdkuBIHE`~(xdtlQ"><value name="data"><shadow type="text" id="+i1,9R*VnxG$}Ir!#*_b"><field name="TEXT">waitting</field></shadow></value></block></statement><value name="select_data"><block type="ble_keyboard_mouse_connect" id="v`f6J4F/snmx4;_pIgtE"></block></value><next><block type="esp32_onboard_music_pitch_with_time" id="/youZv,!}TYXE[B=c+VG"><value name="pitch"><shadow type="pins_tone_notes" id="]o7x9FaY3k1fIo/VDE)n"><field name="PIN">698</field></shadow></value><value name="time"><shadow type="math_number" id="_S!*.djI1S7+o;61}{dQ"><field name="NUM">150</field></shadow></value><next><block type="esp32_onboard_music_pitch_with_time" id="0?nOUGsZU~aq/e`zWN/E"><value name="pitch"><shadow type="pins_tone_notes" id="#hI-|B#e}?l`}*QunW~4"><field name="PIN">523</field></shadow></value><value name="time"><shadow type="math_number" id="~H)(pp/r.2,^=YT))7#S"><field name="NUM">150</field></shadow></value><next><block type="controls_whileUntil" id="/s_dZAVxk;@39[/HtvEU"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="g*nuVJcb/~Yso*r:ywQf"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="?ejH?*!I!Z4B~t[BU^RX"><value name="IF0"><block type="logic_compare" id="23Gt6:D*X0W/=/@+zMNj"><field name="OP">GT</field><value name="A"><block type="sensor_mixgo_pin_near_single" id="D[CHo]J:gT4t5nS.clu$"></block></value><value name="B"><block type="math_number" id=",OW2o=0|`EB)Cr#H*f(h"><field name="NUM">100</field></block></value></block></value><statement name="DO0"><block type="analog_ble_keyboard_mouse_input" id="m#cQ4C1OECnUw2r-y,i4"><field name="release">True</field><value name="special"><block type="special_key" id="z_WbDzvyO|n.=$EKJNpp"><field name="op">0x08</field></block></value><value name="general"><block type="general_key" id="Lri+~*QWZm700A!NM:Up"><field name="op">0x07</field></block></value><next><block type="controls_delay_new" id="yIdkIx?zrf(E2r/*@W,P"><field name="Time">ms</field><value name="DELAY_TIME"><shadow type="math_number" id="m7`tb0QX+rqyxWbJ:,MX"><field name="NUM">300</field></shadow></value></block></next></block></statement><next><block type="controls_delay_new" id="/Q{xMEfg^{,IN=GAHB[R"><field name="Time">ms</field><value name="DELAY_TIME"><shadow type="math_number" id=";;@`GbbS:/:0)cMtze($"><field name="NUM">100</field></shadow></value></block></next></block></statement></block></next></block></next></block></next></block></next></block></xml><config>{}</config><code>ZnJvbSBibGVfaGlkIGltcG9ydCBISUQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgdGltZQoKCmJsZV9oaWQgPSBISUQoJ2JsZV9rZXlib2FyZF9tb3VzZScpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoJ3dhaXR0aW5nJykKICAgIGlmIChibGVfaGlkLmlzX2Nvbm5lY3RlZCgpKToKICAgICAgICBicmVhawpvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjk4LCAxNTApCm9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg1MjMsIDE1MCkKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzLnBzX25sKCkgPiAxMDA6CiAgICAgICAgYmxlX2hpZC5rZXlib2FyZF9ub3RpZnkoMHgwOCwweDA3LFRydWUpCiAgICAgICAgdGltZS5zbGVlcF9tcygzMDApCiAgICB0aW1lLnNsZWVwX21zKDEwMCkK</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="espnow_radio_channel" id="byWEk;}|70p^BD)uvy`=" x="-912" y="-519"><value name="CHNL"><shadow type="espnow_channel" id="xnh+Cl7+HTQ4+]lr[!G}"><field name="PIN">10</field></shadow></value><next><block type="espnow_radio_on_off" id="!Y-Us/+xZl`eEZC#IAZr"><field name="on_off">True</field><next><block type="controls_whileUntil" id="mAjiVY#Yx+;?A}54Ih2#"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="XgA{0p$t@jNCzKx7|}*}"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="!@Kd)v}9yUiG4!J]d2uu"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="1rKLm,@}ICD$:|?(EUPy"><value name="btn"><shadow type="pins_button" id=")a|Vfq@E-;,*#btub}G9"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="espnow_radio_send" id=")ndXYo+r!:q`VR?{UKbn"><value name="send"><shadow type="text" id="X+Bk+9:ZCLSAl,Vvxc8B"><field name="TEXT">LEFT</field></shadow></value></block></statement><next><block type="controls_if" id="]=u}F]`oyN[j9FG=;,(w"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="VE8_PEd{3#jL61Ja[6+9"><value name="btn"><shadow type="pins_button" id="0F.YKuX(EHdq.[Zi~bKL"><field name="PIN">B2key</field></shadow></value></block></value><statement name="DO0"><block type="espnow_radio_send" id="Zk,?fxgzKaCSccy3@cRE"><value name="send"><shadow type="text" id="h]d[4-u.db1y~FofdL7o"><field name="TEXT">RIGHT</field></shadow></value></block></statement></block></next></block></statement></block></next></block></next></block><block type="espnow_radio_recv_new" id="unEL#5xNv.3x^e8-`xl|" x="-894" y="-189"><statement name="DO"><block type="system_print" id="tr-}z^Z!GU!@*kIi?MV5"><value name="VAR"><block type="espnow_radio_recv_msg" id="yFSqf~k6o6`+KtCN*1`9"></block></value></block></statement></block><block type="espnow_radio_recv_certain_msg_new" id="m(]:+_(S!=VW1z=B*I]C" x="-905" y="-84"><field name="msg">LEFT</field><statement name="DO"><block type="display_show_image_or_string_delay" id="biHAmbXg6^G?;{D$-=f#"><field name="center">True</field><value name="data"><shadow type="text" id="WM`_JZ*-Zib3P8B]jM}h"><field name="TEXT"><-</field></shadow></value><value name="space"><shadow type="math_number" id="m{51YL;aTg*~Kp`+INiV"><field name="NUM">0</field></shadow></value></block></statement></block><block type="espnow_radio_recv_certain_msg_new" id="{=^ksu,GAMqZ~H{NAD^|" x="-904" y="13"><field name="msg">RIGHT</field><statement name="DO"><block type="display_show_image_or_string_delay" id="(,oi9Gr:i=j]UIOecPI_"><field name="center">True</field><value name="data"><shadow type="text" id="pIv3flkHR(,bs^.k-,`h"><field name="TEXT">-></field></shadow></value><value name="space"><shadow type="math_number" id="DeNPA!@fKuQA`_{8?1pO"><field name="NUM">0</field></shadow></value></block></statement></block></xml><config>{}</config><code>aW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQppbXBvcnQgbWl4Z29fbWluaQpoYW5kbGVfbGlzdD1bXQppbXBvcnQgbWFjaGluZQpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgcHJpbnQoRVNQTm93X3JhZGlvX21zZykKCmlmIG5vdCBFU1BOb3dfcmFkaW9fcmVjdiBpbiBoYW5kbGVfbGlzdDoKICAgIGhhbmRsZV9saXN0LmFwcGVuZChFU1BOb3dfcmFkaW9fcmVjdikKRVNQTm93X3JhZGlvLnJlY3ZfY2IoaGFuZGxlX2xpc3QpCgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmRlZiBFU1BOb3dfcmFkaW9fcmVjdl9fTEVGVChtYWMsRVNQTm93X3JhZGlvX21zZyk6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnPC0nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQoKaWYgbm90IEVTUE5vd19yYWRpb19yZWN2X19MRUZUIGluIGhhbmRsZV9saXN0OgogICAgaGFuZGxlX2xpc3QuYXBwZW5kKEVTUE5vd19yYWRpb19yZWN2X19MRUZUKQpFU1BOb3dfcmFkaW8ucmVjdl9jYihoYW5kbGVfbGlzdCkKCmRlZiBFU1BOb3dfcmFkaW9fcmVjdl9fUklHSFQobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJy0+JyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKCmlmIG5vdCBFU1BOb3dfcmFkaW9fcmVjdl9fUklHSFQgaW4gaGFuZGxlX2xpc3Q6CiAgICBoYW5kbGVfbGlzdC5hcHBlbmQoRVNQTm93X3JhZGlvX3JlY3ZfX1JJR0hUKQpFU1BOb3dfcmFkaW8ucmVjdl9jYihoYW5kbGVfbGlzdCkKCgoKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MTApCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnTEVGVCcpCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ1JJR0hUJykK</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="variables_set" id="`2s5bJ2.;fJZlP;UnC7L" x="-557" y="-442"><field name="VAR">lastmsgtime</field><value name="VALUE"><block type="controls_millis" id="L39MCf8qSuod85ow3u6v"><field name="Time">ms</field></block></value><next><block type="espnow_radio_channel" id="~c/JmG[L]YlNO@Ak#$pw"><value name="CHNL"><shadow type="espnow_channel" id="oCx?(XBwpR*Lv$UOzeWL"><field name="PIN">10</field></shadow></value><next><block type="espnow_radio_on_off" id="7AiOaVqWcN^:z#QhE3hX"><field name="on_off">True</field><next><block type="controls_whileUntil" id="{W_CuezcF=YyBUieY{iL"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="gAEf[a{FCz(V1[Ewe)t6"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_delay_new" id="*3fDLliL9njEis4`{e#,"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="14~{3XH7Y5+MWO0C$OVk"><field name="NUM">2</field></shadow></value><next><block type="espnow_radio_send" id="xYYo,w)?5U*y#H_|fA20"><value name="send"><shadow type="text" id="@`-J!tr=;}/NyV`;uPgl"><field name="TEXT">Mixly</field></shadow><block type="number_to_text" id="/pCY;d8[^#)cH,0FT{qI"><value name="VAR"><shadow type="variables_get" id="txc`w^T2nR1xzf$yv1-l"><field name="VAR">x</field></shadow><block type="controls_millis" id="w(Eu3L,^21SF2I~C[L|f"><field name="Time">ms</field></block></value></block></value><next><block type="controls_if" id="dChYYfHYN:zGFs*7d#-F"><value name="IF0"><block type="logic_compare" id="wXBcjza^dvaIJTa,B6Yv"><field name="OP">GT</field><value name="A"><block type="math_arithmetic" id="Q6K8Q4#c73Tlsl33pVn#"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id=".U[^FsvZ]?;eiOwaZMdz"><field name="NUM">1</field></shadow><block type="controls_millis" id="Ja8KJ]ut-WQ;P@(Rd3*l"><field name="Time">ms</field></block></value><value name="B"><shadow type="math_number" id=":uc`4,`G+*PkdGXSX*ck"><field name="NUM">1</field></shadow><block type="variables_get" id="EP@RY_3J*$LcEQ[Z8B5!"><field name="VAR">lastmsgtime</field></block></value></block></value><value name="B"><block type="math_number" id="FljXOkifautL2|d7!NkO"><field name="NUM">10000</field></block></value></block></value><statement name="DO0"><block type="display_show_image" id="pPcSJn!Y)z@fuN6B[ERN"><value name="data"><shadow type="pins_builtinimg" id="3:nDeg9:d0`=j]iMyzZG"><field name="PIN">onboard_matrix.NO</field></shadow></value><next><block type="esp32_onboard_music_play_list" id="PwJxyW/CqY`#G95-||2#"><value name="LIST"><shadow type="pins_playlist" id="Tr+F!:0XCm_X^-{qg(o#"><field name="PIN">onboard_music.DADADADUM</field></shadow></value></block></next></block></statement></block></next></block></next></block></statement></block></next></block></next></block></next></block><block type="espnow_radio_recv_new" id="~2h@UB{Yv8c|`M_(j0Yp" x="-534" y="-34"><statement name="DO"><block type="variables_global" id="Lh122;6Wz]4g.vGrO=i;"><value name="VAR"><block type="variables_get" id="]FQp2hUe=|pTN7j:3U[("><field name="VAR">lastmsgtime</field></block></value><next><block type="display_show_image" id="`4NbTUt_IZhSt^wX53qx"><value name="data"><shadow type="pins_builtinimg" id="!F#zkpJyTr#b-6D@ri_+"><field name="PIN">onboard_matrix.YES</field></shadow></value><next><block type="variables_set" id="hk[+!ES3@-jg8#Z_^1N;"><field name="VAR">lastmsgtime</field><value name="VALUE"><block type="controls_millis" id="}fD^-Y+`Btu5*=E^s]h,"><field name="Time">ms</field></block></value></block></next></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IHRpbWUKaW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpoYW5kbGVfbGlzdD1bXQpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgZ2xvYmFsIGxhc3Rtc2d0aW1lCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ZRVMpCiAgICBsYXN0bXNndGltZSA9IHRpbWUudGlja3NfbXMoKQoKaWYgbm90IEVTUE5vd19yYWRpb19yZWN2IGluIGhhbmRsZV9saXN0OgogICAgaGFuZGxlX2xpc3QuYXBwZW5kKEVTUE5vd19yYWRpb19yZWN2KQpFU1BOb3dfcmFkaW8ucmVjdl9jYihoYW5kbGVfbGlzdCkKCgoKbGFzdG1zZ3RpbWUgPSB0aW1lLnRpY2tzX21zKCkKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MTApCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMikKICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLHN0cih0aW1lLnRpY2tzX21zKCkpKQogICAgaWYgdGltZS50aWNrc19tcygpIC0gbGFzdG1zZ3RpbWUgPiAxMDAwMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5OTykKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5EQURBREFEVU0pCg==</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="iot_wifi_connect" id="vT^}]ki?*/-2;csG__u`" x="-1469" y="-438"><value name="WIFINAME"><shadow type="text" id="q0sV3B=4^jWTPd,t`DC?"><field name="TEXT">fuhua3</field></shadow></value><value name="PASSWORD"><shadow type="text" id="By*aUJ*jWX-i_IhT.!hn"><field name="TEXT">1234567890</field></shadow></value><next><block type="display_show_image_or_string_delay" id="et(0o_33]`VY3L9$OR-,"><field name="center">True</field><value name="data"><shadow type="text" id="OVg7rz)T/[/ykna)trQ^"><field name="TEXT">WO</field></shadow></value><value name="space"><shadow type="math_number" id="No{Vo^Qv$F,HqR^!^ZaV"><field name="NUM">0</field></shadow></value><next><block type="IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE" id="d84#g.(LKHRO(j[rd##A"><value name="SERVER"><shadow type="text" id="Xy8fASeU`l;7Raqpp.e{"><field name="TEXT">mixio.mixly.cn</field></shadow></value><value name="KEY"><shadow type="iot_mixly_key" id="Fy)(lY{6v72g7T{0C$U;"><field name="VISITOR_ID">4OG7811O</field></shadow></value><next><block type="display_show_image_or_string_delay" id="ZQFZsW)WKdqoi]u#j=9/"><field name="center">True</field><value name="data"><shadow type="text" id="Js/Cba|rLfq:+x7U8h[^"><field name="TEXT">MO</field></shadow></value><value name="space"><shadow type="math_number" id="xIwRz(1zfqjKZSkeQ=^5"><field name="NUM">0</field></shadow></value><next><block type="controls_whileUntil" id=",.+P+(HolTB5H_[feT@g"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="JU8EHP+|X$UxZLq@o*p6"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_delay_new" id="Ct!/HI!qqK7g)@j.84Ci"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id=";mc.$6uIoT$iA$byc{Nl"><field name="NUM">5</field></shadow></value><next><block type="IOT_MIXIO_PUBLISH" id="5Va|*[p!X4lhCscfH?+o"><value name="TOPIC"><shadow type="text" id=",P]jk^S?=;b0Lq*Ti6W="><field name="TEXT">光照</field></shadow></value><value name="MSG"><shadow type="text" id="s@waEW2fHet1RKQ0Wm1$"><field name="TEXT">msg</field></shadow><block type="sensor_LTR308" id="4Ki/;/HBwFE*s*`551SH"></block></value><next><block type="display_scroll_string" id="iz^a-6L|^6eM.sGiS(2k"><value name="data"><shadow type="text" id="9vrE1U8l(kKI6QzSAw!/"><field name="TEXT">Mixly</field></shadow><block type="number_to_text" id="|Z+]`7:H5,ln^aMuqnBY"><value name="VAR"><shadow type="variables_get" id="-{vP9y2*+MFs]HCeO!gC"><field name="VAR">x</field></shadow><block type="sensor_LTR308" id="a/*mzg}UzOtbQTQ?UP#6"></block></value></block></value></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></xml><config>{}</config><code>aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hbHMKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJ1dPJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKTVFUVF9VU1JfUFJKID0gIk1peElPLzRPRzc4MTFPL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCg1KQogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5YWJ54WnJywgb25ib2FyZF9hbHMuYWxzX3ZpcygpKQogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKHN0cihvbmJvYXJkX2Fscy5hbHNfdmlzKCkpKQo=</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="iot_wifi_connect" id="H:a[]NW6(W}XCpW.?)X6" x="-1378" y="-423"><value name="WIFINAME"><shadow type="text" id="29dLFQe}Lr3/-x;ywC,M"><field name="TEXT">fuhua3</field></shadow></value><value name="PASSWORD"><shadow type="text" id="3Gy{Si{-Lv!_4gqn]#~C"><field name="TEXT">1234567890</field></shadow></value><next><block type="display_show_image_or_string_delay" id="ZVE.Q|g.PSWwr~{(FMJO"><field name="center">True</field><value name="data"><shadow type="text" id="Nu@stN!{m=+HKdVwhhx{"><field name="TEXT">WO</field></shadow></value><value name="space"><shadow type="math_number" id="O,kIP=;/fY]+T.QSJhMS"><field name="NUM">0</field></shadow></value><next><block type="IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE" id="U~Xx.5kc[|M}7(nD}Odi"><value name="SERVER"><shadow type="text" id="x;*h?dWa`bsq2hbhgExH"><field name="TEXT">mixio.mixly.cn</field></shadow></value><value name="KEY"><shadow type="iot_mixly_key" id="eA[-Cwu])`3-Uvc*Cj+g"><field name="VISITOR_ID">4OG7811O</field></shadow></value><next><block type="display_show_image_or_string_delay" id="pgTW(-g,;zBa~OzbJ,l{"><field name="center">True</field><value name="data"><shadow type="text" id="9+.9qP2SA3D4WAog/{Iw"><field name="TEXT">MO</field></shadow></value><value name="space"><shadow type="math_number" id="hRc][)gDBr+^+J38y~Zn"><field name="NUM">0</field></shadow></value><next><block type="controls_whileUntil" id="CO]W;|2YBHt_UHDSLTpH"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id=",,iYGHm]xkOrVHZPZqWj"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_delay_new" id="PtB*Q=yg$+{=k@IZ?@em"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="l6W/A@ciFQ8Tcw~vNq.@"><field name="NUM">5</field></shadow></value><next><block type="IOT_MIXIO_PUBLISH" id="2v.GxSAK4Xt=K1Gq5sHX"><value name="TOPIC"><shadow type="text" id="81(.Y64VnngR6B1MlWU*"><field name="TEXT">环境</field></shadow></value><value name="MSG"><shadow type="text" id="!.8.L!Xriq#/_yvpx3]m"><field name="TEXT">msg</field></shadow><block type="IOT_FORMAT_STRING" id="ABqhg/^xPrv?IKos4Ubq"><value name="VAR"><block type="dicts_create_with_noreturn" id="g.5sVJn67;YQ#m:S0Euo" inline="false"><mutation items="3"></mutation><field name="KEY0">"光照"</field><field name="KEY1">"声音"</field><field name="KEY2">"震动"</field><value name="ADD0"><block type="sensor_LTR308" id="RW[4nE`eDuCK(JjPm,hP"></block></value><value name="ADD1"><block type="sensor_sound" id="Gb8XHR-4?cUB_HviEmD}"></block></value><value name="ADD2"><block type="sensor_get_acceleration" id="yeV[I5Oldq,TVEQt/p.Z"><field name="key">strength</field></block></value></block></value></block></value></block></next></block></statement></block></next></block></next></block></next></block></next></block></xml><config>{}</config><code>aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9ib3QKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDUpCiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi5YWJ54WnIjpvbmJvYXJkX2Fscy5hbHNfdmlzKCksICLlo7Dpn7MiOm9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSwgIumch+WKqCI6b25ib2FyZF9hY2Muc3RyZW5ndGgoKX0pKQo=</code>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><variables><variable id="x@Yfw8DrgkM3CEl{odMY">client</variable><variable id="Q.[d]Bc~)FuhqVb/l{Uh">topic</variable><variable id="0.A^[Eto)4wE7Tef?SZQ">msg</variable></variables><block type="iot_wifi_connect" id="v{QcbVW,(AR04a@Q|@mO" x="-2026" y="-593"><value name="WIFINAME"><shadow type="text" id="FU;=Xhq]rs~xFK(R4*Lv"><field name="TEXT">fuhua3</field></shadow></value><value name="PASSWORD"><shadow type="text" id="gP_;h#}.+my5gAt#vt,h"><field name="TEXT">1234567890</field></shadow></value><next><block type="display_show_image_or_string_delay" id="_4c3/i}00nC:g7(WKfL,"><field name="center">False</field><value name="data"><shadow type="text" id="I+P[-ufXaJD9mqa/eW^/"><field name="TEXT">WO</field></shadow></value><value name="space"><shadow type="math_number" id="wt6Wz.~tfM,vD4_Tfrr7"><field name="NUM">0</field></shadow></value><next><block type="IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE" id="d{ZOK9dojw)whm)4@uTb"><value name="SERVER"><shadow type="text" id="Z+I3hE6?mk#r~DoTF{zS"><field name="TEXT">mixio.mixly.cn</field></shadow></value><value name="KEY"><shadow type="iot_mixly_key" id="~9W1nvo/I|Ej!m-p]CKx"><field name="VISITOR_ID">4OG7811O</field></shadow></value><next><block type="display_show_image_or_string_delay" id="UM.eX$M9Pq$*$0V],(fK"><field name="center">False</field><value name="data"><shadow type="text" id="mckcL2$n,`-ZOiuJ8|k:"><field name="TEXT">MO</field></shadow></value><value name="space"><shadow type="math_number" id="_5Z^)BrK4s_76i5W26pN"><field name="NUM">0</field></shadow></value><next><block type="IOT_MIXIO_SUBSCRIBE" id="y1bMJp}t,VbwoZN#u~ao"><value name="TOPIC"><shadow type="text" id="BCd.lHn6/wSE66Z@Kex/"><field name="TEXT">亮屏</field></shadow></value><value name="METHOD"><shadow type="factory_block_return" id="Y5NdcAoR(+~T#-k8wA+$"><field name="VALUE">method</field></shadow></value><next><block type="controls_whileUntil" id="y/w*4|k0?)cD)5@xgE6V"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="*GL[xWgBAUgwW=hPlRO["><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="iot_mixio_check" id="5d0*qQ|q`?|zx1L^bqre"></block></statement></block></next></block></next></block></next></block></next></block></next></block><block type="procedures_defnoreturn" id="feHTWcZ].X0xC,(~7Kzn" x="-2020" y="-282"><mutation><arg name="client" varid="x@Yfw8DrgkM3CEl{odMY"></arg><arg name="topic" varid="Q.[d]Bc~)FuhqVb/l{Uh"></arg><arg name="msg" varid="0.A^[Eto)4wE7Tef?SZQ"></arg></mutation><field name="NAME">method</field><statement name="STACK"><block type="controls_if" id="6(,!T_*k}/gBBDvnD[ps"><value name="IF0"><block type="logic_compare" id="7(#WANl.ja-FIP5Sz3a."><field name="OP">EQ</field><value name="A"><block type="variables_get" id="b+)3;k|sH9qW:$);N$x7"><field name="VAR">msg</field></block></value><value name="B"><block type="text" id="jAKUe4/wN!2e?R#siTF5"><field name="TEXT">1</field></block></value></block></value><statement name="DO0"><block type="display_show_image" id="}*9,o-99Fuba6mrOSm0e"><value name="data"><shadow type="pins_builtinimg" id="~zEtl@NW7_?7||yPo)9c"><field name="PIN">onboard_matrix.HEART</field></shadow></value></block></statement><next><block type="controls_if" id="^Uu/Wf}CbIm[QG,=d*VB"><value name="IF0"><block type="logic_compare" id=",t;5_G16Wl|2cg+u-*!#"><field name="OP">EQ</field><value name="A"><block type="variables_get" id="562;mwG#u,}rsl$,=CpK"><field name="VAR">msg</field></block></value><value name="B"><block type="text" id="X`}.BX`jMbWtTpp,uj$r"><field name="TEXT">0</field></block></value></block></value><statement name="DO0"><block type="display_clear" id="-5O1gP6KL|Re||gtoxK$"></block></statement></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgaWYgbXNnID09ICcwJzoKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKTVFUVF9VU1JfUFJKID0gIk1peElPLzRPRzc4MTFPL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfkuq7lsY8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+S6ruWxjycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo=</code>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@元控奋斗(MINI)"><block type="variables_set" id="w}t-v89hMfb6x)O4@CvJ" x="-2139" y="-747"><field name="VAR">本机用户</field><value name="VALUE"><block type="text" id="ZhAu/TQzI?thY1Q_)9LD"><field name="TEXT">mixly</field></block></value><next><block type="iot_wifi_connect" id="Eyie!HekYu|jpxcJG9DD"><value name="WIFINAME"><shadow type="text" id="x/so4s23cyFK5avv8j2-"><field name="TEXT">fuhua3</field></shadow></value><value name="PASSWORD"><shadow type="text" id=")s5r|*lx25]d=E_S?P)I"><field name="TEXT">1234567890</field></shadow></value><next><block type="IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE" id="6_iLEL`NUL*ha-rq2sc("><value name="SERVER"><shadow type="text" id=";.1UFWfIR2#A-lHib{Z6"><field name="TEXT">mixio.mixly.cn</field></shadow></value><value name="KEY"><shadow type="factory_block_return" id="fL_vA4F6ynBRx8um*~/+"><field name="VALUE">7b6443</field></shadow></value><next><block type="controls_whileUntil" id="oW,@XqveQ=wz3ghdbDH9"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="huwOSBHA1qmZl-u+[LtL"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="display_show_image_or_string_delay" id="MRKgouBWpn5xC?/.6TvR"><field name="center">False</field><value name="data"><shadow type="text" id="j:1hyxRJ3h6`{l6F7pe3"><field name="TEXT">GO</field></shadow></value><value name="space"><shadow type="math_number" id=")]V}Ny:eSg~!Zuxs9DmB"><field name="NUM">0</field></shadow></value><next><block type="controls_if" id="}m{!Vrb)_6c-,j$mo;b7"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="_40g.=NJXS$2/veg[`4p"><value name="btn"><shadow type="pins_button" id=";vCLJv9Lzy/sUrK96UG4"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="display_clear" id="RlLdP`l/2c{MiX)1nw;["><next><block type="IOT_MIXIO_PUBLISH" id="D|]Nqeq?==thUJhJ,Wo7"><value name="TOPIC"><shadow type="text" id="re-5;[KG*Gn]~d?=xT#*"><field name="TEXT">姓名</field></shadow></value><value name="MSG"><shadow type="text" id="U45iBIbOk|cDIMtP`pG0"><field name="TEXT">msg</field></shadow><block type="variables_get" id="V,st?eQ7YBsl@`#VK{Vq"><field name="VAR">本机用户</field></block></value><next><block type="display_scroll_string" id="TD+n1GydtbYPya7EDHo,"><value name="data"><shadow type="text" id="Q7JAv:@E|{C/[coQyI3W"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="aBy!9fOzHoZC[br@tmm~"><field name="VAR">本机用户</field></block></value><next><block type="display_show_image_or_string_delay" id="k.-;VksEsA*e(kF/iNvr"><field name="center">False</field><value name="data"><shadow type="text" id="]PqhA2xJ0XpmViB|U*^~"><field name="TEXT">OK</field></shadow></value><value name="space"><shadow type="math_number" id="N|fSx}T(Hia6bvWcQ_zT"><field name="NUM">0</field></shadow></value><next><block type="controls_delay_new" id="0VMKQ8w7r?#y??xMB`+:"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="TrkwU|44=d@~wH5lrqnN"><field name="NUM">1</field></shadow></value><next><block type="display_show_image_or_string_delay" id="LXOLYJv.!H=n)KFbH{U,"><field name="center">False</field><value name="data"><shadow type="text" id="bp3}Zjf?!BF.zv;:.Ug,"><field name="TEXT">GO</field></shadow></value><value name="space"><shadow type="math_number" id="Ql/4WrG8L;Bq-E0DK*i{"><field name="NUM">0</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></statement></block></next></block></next></block></next></block></xml><config>{}</config><code>aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKCl9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNyA9ICdtaXhseScKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+Wnk+WQjScsIF9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdPSycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnR08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkK</code>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C3@MixGo ME"><block type="system_print" id="G5YqCD1a}^Q?=F/?j:K!" x="-1455" y="-727"><value name="VAR"><shadow type="text" id="3o4Hn!,Z4V!XXD`ci!0="><field name="TEXT">Mixly</field></shadow><block type="storage_list_all_files" id="!/JYe[Ke15``vrIRC_!{"></block></value><next><block type="system_print" id=":dJy@$~uQerSFvP6aw(A"><value name="VAR"><shadow type="text" id="]YU_OkC],m9,aVIy[jut"><field name="TEXT">Mixly</field></shadow><block type="storage_get_current_dir" id="95BBxW=}Z6|huRQjkkb6"></block></value><next><block type="variables_set" id="EHC_EG6(=t?t~_$7m2xP"><field name="VAR">s</field><value name="VALUE"><block type="storage_list_all_files" id="g_NZ|iJc4g!@A3nb5![|"></block></value><next><block type="controls_forEach" id="9pZAu1?|a_/`K8s4XBu="><value name="LIST"><shadow type="list_many_input" id="_=mf_D6MO;H(lfV`!K|e"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id="C4#gr+msWxv@3OMtg_TI"><value name="FROM"><shadow type="math_number" id="KqO}.;f0SLj9!1jK*k@6"><field name="NUM">0</field></shadow></value><value name="TO"><shadow type="math_number" id="+8x)7{VKR#~S-`L6*,rQ"><field name="NUM">5</field></shadow><block type="list_trig" id="Mm$i0:b@$hYDO;RCJsr]"><field name="OP">LEN</field><value name="data"><shadow type="variables_get" id="DRWMg8ertcl)emj5NVjU"><field name="VAR">s</field></shadow></value></block></value><value name="STEP"><shadow type="math_number" id="yoAv4qxt!$5]ogXk!1]v"><field name="NUM">1</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="sq`g}CH^nAY$RA@.u]h/"><field name="VAR">i</field></shadow></value><statement name="DO"><block type="system_print" id="ui,D1|!5`V{!]vBa0P_T"><value name="VAR"><shadow type="text" id=".o3b0^g`r61A(UXiYdlB"><field name="TEXT">Mixly</field></shadow><block type="lists_get_index" id="RhwB=h]n0)fcf:TLfmIk"><value name="LIST"><shadow type="variables_get" id="x$mTZ/t23FAhtd*}zc^["><field name="VAR">s</field></shadow></value><value name="AT"><shadow type="math_number" id="kJVBAl1EHE=/j~=BTJvf"><field name="NUM">0</field></shadow><block type="variables_get" id=";m@@EEOho@0($?BykB^i"><field name="VAR">i</field></block></value></block></value></block></statement></block></next></block></next></block></next></block></xml><config>{}</config><code>aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG9zCmltcG9ydCBtYXRoCgoKcHJpbnQob3MubGlzdGRpcigpKQpwcmludChvcy5nZXRjd2QoKSkKcyA9IG9zLmxpc3RkaXIoKQpmb3IgaSBpbiByYW5nZSgwLCBsZW4ocyksIDEpOgogICAgcHJpbnQoc1tpXSkK</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32C2@MixGo MINI"><block type="system_print" id="Vl1Zc)y#,`KL7f)^p}g9" x="-1372" y="-566"><value name="VAR"><shadow type="text" id="9Sy45PC{]J@h|6ThC!}$"><field name="TEXT">Mixly</field></shadow><block type="storage_list_all_files" id="|fz4r6tLDRax`Q.UF@64"></block></value><next><block type="system_print" id="DeFv*9eIAclcePCxQyED"><value name="VAR"><shadow type="text" id="*IjUu`*B.(bdz6haC]f^"><field name="TEXT">Mixly</field></shadow><block type="storage_get_current_dir" id=";!IOWgabe.xOxw)c;Yde"></block></value><next><block type="variables_set" id="haUA?}Kfy_Popk#spV1S"><field name="VAR">s</field><value name="VALUE"><block type="storage_list_all_files" id=")pY|M:/3hvkvo5!QK~@T"></block></value><next><block type="controls_forEach" id="YCeeDKu!Rghwzdb;FM!V"><value name="LIST"><shadow type="list_many_input" id="_OCxpGQu/Ef.dk){$xCK"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id="Sw@=.6vw~z?OLrpc7RWE"><value name="FROM"><shadow type="math_number" id="j(,Tr;8aPr]];^5a^hHz"><field name="NUM">0</field></shadow></value><value name="TO"><shadow type="math_number" id="G83.ZBBwzJ~j)s^7RY0X"><field name="NUM">5</field></shadow><block type="list_trig" id="A#MY3ypwac8Gl2VnO7_O"><field name="OP">LEN</field><value name="data"><shadow type="variables_get" id="Nl9M^B;ccp0Mu$)v+[_I"><field name="VAR">s</field></shadow></value></block></value><value name="STEP"><shadow type="math_number" id="b5-qK7$bvw|L/B#..w1X"><field name="NUM">1</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="XkCXt.)=pJRryD4VHubS"><field name="VAR">i</field></shadow></value><statement name="DO"><block type="display_scroll_string" id="AciMDhk1AS.Cvr4cN!Up"><value name="data"><shadow type="text" id="voH^0dr`aRMa{+?O;qM#"><field name="TEXT">Mixly</field></shadow><block type="lists_get_index" id="]GM2U!9OKz)T;;[gxTO0"><value name="LIST"><shadow type="variables_get" id="i`8GGJ+;}hGMJO8=Y[F|"><field name="VAR">s</field></shadow></value><value name="AT"><shadow type="math_number" id="Wmo*}=Q$c=;_35lC-+N4"><field name="NUM">0</field></shadow><block type="variables_get" id="{g!V#^H9?-IEM_=mPzaI"><field name="VAR">i</field></block></value></block></value></block></statement></block></next></block></next></block></next></block></xml><config>{}</config><code>aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG9zCmltcG9ydCBtYXRoCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKCgpwcmludChvcy5saXN0ZGlyKCkpCnByaW50KG9zLmdldGN3ZCgpKQpzID0gb3MubGlzdGRpcigpCmZvciBpIGluIHJhbmdlKDAsIGxlbihzKSwgMSk6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoc1tpXSkK</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32-C3@MixGo ME"><block type="storage_fileopen" id="ou|dAVG,^Q,L2[qAasG4" x="-1749" y="-505"><field name="MODE">w</field><value name="FILENAME"><shadow type="text" id="4pte~^Fz,[@Yh$;W|f,4"><field name="TEXT">test.txt</field></shadow></value><value name="FILE"><shadow type="variables_get" id="Mf65G_#@Y?2/~RDfE//."><field name="VAR">f</field></shadow></value><next><block type="controls_forEach" id="MV#z$5#6!cE2]s^nRLoc"><value name="LIST"><shadow type="list_many_input" id="1D$6NJ~;6w?RXUJwEm5x"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id="Dr1=(g`}/shLi6EWd9m~"><value name="FROM"><shadow type="math_number" id="/5z$!.C4]-rn1p81lgGe"><field name="NUM">0</field></shadow></value><value name="TO"><shadow type="math_number" id="I0b,fveZ291D3;9B2naa"><field name="NUM">100</field></shadow></value><value name="STEP"><shadow type="math_number" id="HXF#NOz[FHZLL3w6(SA("><field name="NUM">1</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="m_(}TV6O2,TCp{wKBIoQ"><field name="VAR">i</field></shadow></value><statement name="DO"><block type="storage_file_write" id="~Ao,eQqs9Wv]!hJa=R,9"><value name="data"><shadow type="text" id="$DV@{Uf:O1W*oVt4(QRY"><field name="TEXT">Mixly</field></shadow><block type="number_to_text" id="5!}p^qi3[-WnHTyNpB{?"><value name="VAR"><shadow type="variables_get" id="J!rxlAiHs,cCQZ0MTx|M"><field name="VAR">x</field></shadow><block type="variables_get" id="LNK-gQTJ|P]!~s;J47zv"><field name="VAR">i</field></block></value></block></value><value name="FILE"><shadow type="variables_get" id="`24p}7kNvi55Fi|8d+33"><field name="VAR">f</field></shadow></value><next><block type="storage_file_write" id="Mw}.yYcC!Ue-n)oI$QSe"><value name="data"><shadow type="text" id="Q[jQ*G6rn^CKd;KFFu(W"><field name="TEXT">Mixly</field></shadow><block type="ascii_to_char" id="VdUUf+`6=so##hdvmVo)"><value name="VAR"><shadow type="math_number" id="_gLMq5sf}1DEvRdS16TF"><field name="NUM">13</field></shadow></value></block></value><value name="FILE"><shadow type="variables_get" id="!xg)S@mWUVFeIj~|2B!C"><field name="VAR">f</field></shadow></value></block></next></block></statement><next><block type="storage_close_file" id="0wk[*A{s{#L=0Pt#0r9c"><value name="FILE"><shadow type="variables_get" id="M!0h!u7ae+tV0G^kk7(#"><field name="VAR">f</field></shadow></value><next><block type="storage_fileopen" id="A6@M9CoV2K?)iPFQp}#_"><field name="MODE">r</field><value name="FILENAME"><shadow type="text" id="?af.NetCJ{U66Pf*}_=1"><field name="TEXT">test.txt</field></shadow></value><value name="FILE"><shadow type="variables_get" id="HE?6U{CCz3x/fH0YkbCi"><field name="VAR">f</field></shadow></value><next><block type="variables_set" id="Hcn=RI[*mJQF[g0qBjlW"><field name="VAR">s</field><value name="VALUE"><block type="storage_get_contents_without_para" id="XMi-C}7f7N*IiF+,6NT?"><field name="MODE">readline</field><value name="FILE"><shadow type="variables_get" id="$F-_dMxk.m3EQ6O.3N5K"><field name="VAR">f</field></shadow></value></block></value><next><block type="controls_whileUntil" id="Hlk3It7X-3*mKy8wJncM"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="N8-UZgei=uzpolDRucBL"><field name="BOOL">TRUE</field></shadow><block type="variables_get" id="x|W^q/}#]VHe`w)#P?In"><field name="VAR">s</field></block></value><statement name="DO"><block type="system_print_inline" id="!z`/6@xN(Eb~jb=:MyBk"><value name="VAR"><shadow type="text" id="^[=uoJn-5nSJ!}NY!#g{"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="$,iD^[s#T.cR$5TNHl+_"><field name="VAR">s</field></block></value><next><block type="variables_set" id="FjNgeln(]rw*}#z9^Vk;"><field name="VAR">s</field><value name="VALUE"><block type="storage_get_contents_without_para" id="_UuGhT/^^q$QHt6B!MR8"><field name="MODE">readline</field><value name="FILE"><shadow type="variables_get" id=",Q1F[#/y3uVG!e-;SJEE"><field name="VAR">f</field></shadow></value></block></value></block></next></block></statement><next><block type="storage_close_file" id="QwZTkPps[yTkp7U)tn=v"><value name="FILE"><shadow type="variables_get" id="OTbX#*7C.2+W$3+e~457"><field name="VAR">f</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></next></block></xml><config>{}</config><code>aW1wb3J0IG1hY2hpbmUKCgpmID0gb3BlbigndGVzdC50eHQnLCAndycpCmZvciBpIGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICBmLndyaXRlKHN0cihpKSkKICAgIGYud3JpdGUoY2hyKDEzKSkKZi5jbG9zZSgpCmYgPSBvcGVuKCd0ZXN0LnR4dCcsICdyJykKcyA9IGYucmVhZGxpbmUoKQp3aGlsZSBzOgogICAgcHJpbnQocyxlbmQgPSIiKQogICAgcyA9IGYucmVhZGxpbmUoKQpmLmNsb3NlKCkK</code>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32@mPython"><block type="controls_whileUntil" id="KnpNvNg63`pW4f=uK^0#" x="-1269" y="-689"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="p*]B!Jo_Tq2{ETpXW$*-"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="onboard_oled_show_image" id=".1d:sMZ$0p5Co@p0yNje"><value name="data"><shadow type="mpython_pbm_image" id="sqt$0O*yb/o9i=4Pl~4#"><field name="path">Heart</field></shadow></value><next><block type="display_scroll_string" id="D+js#wQeZ1/2RgK)@H+n"><value name="data"><shadow type="text" id="U0k;prw66R0d.IQHBVZk"><field name="TEXT">Hello,Mixly!</field></shadow></value></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtcHl0aG9uIGltcG9ydCBvbmJvYXJkX29sZWQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfb2xlZC5pbWFnZShIZWFydCkKICAgIG9uYm9hcmRfb2xlZC5zY3JvbGwoJ0hlbGxvLE1peGx5IScpCg==</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32@mPython"><block type="controls_whileUntil" id="^$DYQgMxsfxEQ8l,9:^1" x="-1654" y="-934"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="iR]:vW8}Y5vE@iYUB[jo"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="onboard_oled_show_image" id="uS^:ad;0Y?YY~k3^8rz^"><value name="data"><shadow type="pins_builtinimg" id="]28R=dB!1#@WANagha;W"><field name="PIN">onboard_matrix.HEART</field></shadow><block type="image_invert" id="}0p+mB2Cu?wAvu#sI[;M"><value name="A"><shadow type="pins_builtinimg" id="z3:HE6bS}HDZIYn0+}=N"><field name="PIN">onboard_matrix.HEART</field></shadow></value></block></value><next><block type="onboard_oled_scroll_string_delay" id="I)M`}VZ_yscl_aCra?rv"><value name="data"><shadow type="text" id="JcoYWxv5fhqgjvvzaO-0"><field name="TEXT">Hello,Mixly!</field></shadow></value><value name="y"><shadow type="math_number" id="v-*=58@9IOsbnQyO+4Ou"><field name="NUM">0</field></shadow></value><value name="size"><shadow type="math_number" id="+jIUI!HUHh]qSV:XE?^R"><field name="NUM">5</field></shadow></value><value name="space"><shadow type="math_number" id=")~Je:qq^*.E8A.kgxCI3"><field name="NUM">0</field></shadow></value><value name="time"><shadow type="math_number" id="R=hhZk^Z){KDiFEZUVV6"><field name="NUM">5</field></shadow></value></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtcHl0aG9uIGltcG9ydCBvbmJvYXJkX29sZWQKZnJvbSBtcHl0aG9uIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX29sZWQuaW1hZ2Uob25ib2FyZF9tYXRyaXgubWFwX2ludmVydChvbmJvYXJkX21hdHJpeC5IRUFSVCkpCiAgICBvbmJvYXJkX29sZWQuc2Nyb2xsKCdIZWxsbyxNaXhseSEnLHkgPSAwLHNpemUgPSA1LHNwZWVkID01LHNwYWNlID0gMCkK</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32@mPython"><block type="controls_whileUntil" id="G$ai~b9t2-P?)[2,Xs;V" x="-1071" y="-722"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="I[ikw-p.dJ{b/vPRTRgn"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="onboard_oled_show_image" id="bUMa*L4=!=7-G}Tg$x8G"><value name="data"><shadow type="mpython_pbm_image" id="CA[ZhTR72j27`0@WKYc{"><field name="path">Heart</field></shadow></value><next><block type="controls_delay_new" id="dRGJnfp}k@)cm,9lMmX;"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="tnFD1`xSvlFTC^=}h^PJ"><field name="NUM">0.1</field></shadow></value><next><block type="onboard_oled_show_image" id="R$zzx39)VI]yUY0,Qe|:"><value name="data"><shadow type="mpython_pbm_image" id="/D(QWWSL65?XO}*b`LX`"><field name="path">Small_heart</field></shadow></value><next><block type="controls_delay_new" id="^h$92pie*x[J,=r`D@15"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="K.#j~}USSqS)0h-rODBN"><field name="NUM">0.1</field></shadow></value></block></next></block></next></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtcHl0aG9uIGltcG9ydCBvbmJvYXJkX29sZWQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmltcG9ydCB0aW1lCmZyb20gZXhwcmVzc2lvbl9waWN0dXJlIGltcG9ydCBTbWFsbF9oZWFydAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX29sZWQuaW1hZ2UoSGVhcnQpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIG9uYm9hcmRfb2xlZC5pbWFnZShTbWFsbF9oZWFydCkKICAgIHRpbWUuc2xlZXAoMC4xKQo=</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32@mPython"><block type="display_scroll_string" id="^cUzG}#|D/`nG^Y`~J^b" x="-847" y="-630"><value name="data"><shadow type="text" id="0G{p:xooXja[{TJey]gN"><field name="TEXT">Mixly</field></shadow></value><next><block type="controls_whileUntil" id="M4},oZ?@(-JN50_ooglt"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="fm9~cEaz80g{Vk}kOX]c"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="onboard_oled_show_image" id="@2N:K~Z$IL^bBj0dCPr;"><value name="data"><shadow type="mpython_pbm_image" id="HZepVHb1^hU_pBhR21xP"><field name="path">Heart</field></shadow></value><next><block type="controls_delay_new" id="bF^{=4|K{76.xC#/2TjL"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="fTp|s^?a?hn*#EqGE?L5"><field name="NUM">0.1</field></shadow></value><next><block type="onboard_oled_show_image" id="[{-_UVp-Fa,*EiDvf7n-"><value name="data"><shadow type="mpython_pbm_image" id="}Z(j@MoqW0M,=9vIzJ:n"><field name="path">Small_heart</field></shadow></value><next><block type="controls_delay_new" id="`$suz)VKa!3tsT7mNlPD"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id=";u9,BL*hi9kmWP_1^aHq"><field name="NUM">0.1</field></shadow></value></block></next></block></next></block></next></block></statement></block></next></block></xml><config>{}</config><code>ZnJvbSBtcHl0aG9uIGltcG9ydCBvbmJvYXJkX29sZWQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmltcG9ydCB0aW1lCmZyb20gZXhwcmVzc2lvbl9waWN0dXJlIGltcG9ydCBTbWFsbF9oZWFydAoKCm9uYm9hcmRfb2xlZC5zY3JvbGwoJ01peGx5JykKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfb2xlZC5pbWFnZShIZWFydCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9vbGVkLmltYWdlKFNtYWxsX2hlYXJ0KQogICAgdGltZS5zbGVlcCgwLjEpCg==</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32@mPython"><block type="controls_whileUntil" id=",wtLr?muf0O!Q3+|kx]Z" x="-1017" y="-593"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="bWK@eRTt0#,uqxc.O?Se"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="KBQW#1_s,8xXqiCq0pFA"><mutation else="1"></mutation><value name="IF0"><block type="sensor_mixgo_button_is_pressed" id="hqG_!r.Hb6CH|:p-BjP{"><value name="btn"><shadow type="pins_button" id="4fOmE^2q5?{b`z[kc@oC"><field name="PIN">button_a</field></shadow></value></block></value><statement name="DO0"><block type="onboard_oled_show_image" id="]Sdl?EzU.W=TN[O9dQ]R"><value name="data"><shadow type="pins_builtinimg" id="7i_sY2/M)W(hP!NTlqgH"><field name="PIN">onboard_matrix.HEART</field></shadow></value></block></statement><statement name="ELSE"><block type="onboard_oled_show_image" id="f^kG{;X`LlXRU851+7ac"><value name="data"><shadow type="pins_builtinimg" id="jry11,3EQn9Y}dN~smI{"><field name="PIN">onboard_matrix.HEART_SMALL</field></shadow></value></block></statement></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1weXRob24KZnJvbSBtcHl0aG9uIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtcHl0aG9uLmJ1dHRvbl9hLmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCg==</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32@mPython"><block type="controls_whileUntil" id="}A.Nl47;#QEg_GFr.Ekc" x="-1059" y="-724"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="Y(CsC_/}p2El{~SLA3wr"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="{7IUvSx?-LZNo_,77So("><mutation elseif="2" else="1"></mutation><value name="IF0"><block type="logic_operation" id="y~3uXt?+k`v1P-Qf31Ln"><field name="OP">AND</field><value name="A"><block type="sensor_mixgo_button_is_pressed" id="OOhK;ChlN2AKa{rn+O)o"><value name="btn"><shadow type="pins_button" id="w(gvyE1z~,ZpF.6rBdKn"><field name="PIN">button_a</field></shadow></value></block></value><value name="B"><block type="sensor_mixgo_button_is_pressed" id="WzDW`ZtTQe|avCC-2cQj"><value name="btn"><shadow type="pins_button" id="iJl6u~tB!z){?,|?vj]X"><field name="PIN">button_a</field></shadow></value></block></value></block></value><statement name="DO0"><block type="onboard_oled_show_image" id="*{D+}H,c@iQ~*@)RI;(u"><value name="data"><shadow type="mpython_pbm_image" id="{hFm{GQMt1AP|LIFKbeR"><field name="path">Sad</field></shadow></value></block></statement><value name="IF1"><block type="sensor_mixgo_button_is_pressed" id="qL,8mY6D:4}O=kW3Ql1?"><value name="btn"><shadow type="pins_button" id="2a}^#5JOpDM?l`8o~Z`8"><field name="PIN">button_a</field></shadow></value></block></value><statement name="DO1"><block type="onboard_oled_show_image" id="v{WgK-1d#yKF+1l6v$^g"><value name="data"><shadow type="mpython_pbm_image" id="uoI:z3-ekVfHu:Lvl(,B"><field name="path">Heart</field></shadow></value></block></statement><value name="IF2"><block type="sensor_mixgo_button_is_pressed" id="As.SpUO~X`N!(Tl79A|3"><value name="btn"><shadow type="pins_button" id="kB?ywJvO)C(^W/+_w5TM"><field name="PIN">button_a</field></shadow></value></block></value><statement name="DO2"><block type="onboard_oled_show_image" id="f*631R`ptF!CgcILofy?"><value name="data"><shadow type="mpython_pbm_image" id="umTk0u}[W+`jYr3[wRGX"><field name="path">Small_heart</field></shadow></value></block></statement><statement name="ELSE"><block type="onboard_oled_show_image" id="`j+;Et{jec`MY$:!OrTW"><value name="data"><shadow type="mpython_pbm_image" id=",(Do?)nK{Ut6?T==+Q3S"><field name="path">Smile</field></shadow></value></block></statement></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1weXRob24KZnJvbSBtcHl0aG9uIGltcG9ydCBvbmJvYXJkX29sZWQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNhZApmcm9tIGV4cHJlc3Npb25fcGljdHVyZSBpbXBvcnQgSGVhcnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0CmZyb20gZXhwcmVzc2lvbl9waWN0dXJlIGltcG9ydCBTbWlsZQoKCndoaWxlIFRydWU6CiAgICBpZiBtcHl0aG9uLmJ1dHRvbl9hLmlzX3ByZXNzZWQoKSBhbmQgbXB5dGhvbi5idXR0b25fYS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9vbGVkLmltYWdlKFNhZCkKICAgIGVsaWYgbXB5dGhvbi5idXR0b25fYS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9vbGVkLmltYWdlKEhlYXJ0KQogICAgZWxpZiBtcHl0aG9uLmJ1dHRvbl9hLmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX29sZWQuaW1hZ2UoU21hbGxfaGVhcnQpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfb2xlZC5pbWFnZShTbWlsZSkK</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32@mPython"><block type="controls_whileUntil" id="P+KU:XGI)Y^H-BwtXx.N" x="-1059" y="-724"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="0w](53#@x+`R=uA@tE46"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_forEach" id="hdb58+[fE6YpA7-HaF{|"><value name="LIST"><shadow type="list_many_input" id="J}_Xi9HKgltqOFcW(Z/F"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id="-K7Y1BowIw+a}d`QFj[6"><value name="FROM"><shadow type="math_number" id="xDP1|T^gnQ=A.[yATUwi"><field name="NUM">0</field></shadow></value><value name="TO"><shadow type="math_number" id="(dO9^dbS)[O|-XQc@16q"><field name="NUM">2</field></shadow></value><value name="STEP"><shadow type="math_number" id="2.{5HsCwI$:nX.l2!,?+"><field name="NUM">1</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="#S|zxzUDgM#4qL2!t.0V"><field name="VAR">i</field></shadow></value><statement name="DO"><block type="actuator_onboard_neopixel_rgb" id="`(O4E~a=wp+4?8_kHbmS"><value name="_LED_"><shadow type="math_number" id="noF6Oygk=hxRkSH)u9tr"><field name="NUM">0</field></shadow><block type="variables_get" id=",_TM10J?0Up9KM-z}6!G"><field name="VAR">i</field></block></value><value name="RVALUE"><shadow type="math_number" id="yGslqzhHSi?ia[`WBZi7"><field name="NUM">0</field></shadow></value><value name="GVALUE"><shadow type="math_number" id="|uIh!LCo?8Xc~lpTACGf"><field name="NUM">0</field></shadow></value><value name="BVALUE"><shadow type="math_number" id="/qaJiX83wn,/Cthju^:q"><field name="NUM">25</field></shadow></value><next><block type="actuator_onboard_neopixel_write" id="B0)a2dTNZ2Q2t_!g-~wh"><next><block type="controls_delay_new" id=";:J|3p(p}CieldlcrXM6"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="]26M$1jXDd:k#0~I_-s2"><field name="NUM">0.5</field></shadow></value></block></next></block></next></block></statement><next><block type="actuator_onboard_neopixel_rgb_all" id="!u1On]y*=66SMK+[/T}R"><value name="RVALUE"><shadow type="math_number" id="AVf+`:HEiPln~Z]jS$Me"><field name="NUM">0</field></shadow></value><value name="GVALUE"><shadow type="math_number" id="QWniRk|euk#a#O@~Lv_M"><field name="NUM">0</field></shadow></value><value name="BVALUE"><shadow type="math_number" id="*f6v~lFFhOW1)UU@|3t:"><field name="NUM">0</field></shadow></value><next><block type="actuator_onboard_neopixel_write" id="*kugMw=h{nN)s[Kn)|1$"><next><block type="controls_delay_new" id="+sZI}p37uF32e0Z+-Q`!"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="UYA9l7y,dY`CE*.g)RVf"><field name="NUM">1</field></shadow></value></block></next></block></next></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtcHl0aG9uIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgaSBpbiByYW5nZSgwLCAyLCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyNSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMSkK</code>
|
||||
@@ -0,0 +1 @@
|
||||
<xml version="Mixly 2.0 rc4" board="Python ESP32@mPython"><block type="controls_whileUntil" id="yb/6p4]Wc(d7^|J)g$|m" x="-1059" y="-724"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="-,|gWF}]d?YEK}[Y/:}$"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_forEach" id="O95=#lIglvde@.X.FdR@"><value name="LIST"><shadow type="list_many_input" id="h~Awy]J9kyeU`T:UvN.a"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id="4Qc;s,?V.2H7O9$m#3tb"><value name="FROM"><shadow type="math_number" id="A#*J1ZhI=9M5[v|$=?T,"><field name="NUM">0</field></shadow></value><value name="TO"><shadow type="math_number" id="$o;X!:bX,8or5}Q}^uR*"><field name="NUM">2</field></shadow></value><value name="STEP"><shadow type="math_number" id="-QA|)i/h=Rrstr|~+xT*"><field name="NUM">1</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="]13-?{8N2IE]e5CoAY15"><field name="VAR">i</field></shadow></value><statement name="DO"><block type="actuator_onboard_neopixel_rgb_all" id="ehQeU;+Qm}t4MBFY*|Xq"><value name="RVALUE"><shadow type="math_number" id="h?CikHEvZ:4K,?G*Iv]M"><field name="NUM">0</field></shadow></value><value name="GVALUE"><shadow type="math_number" id="T/?IIcvk,kWT_AdXk/dZ"><field name="NUM">0</field></shadow></value><value name="BVALUE"><shadow type="math_number" id="P+1;qNi3Yn?CN-l7+Dcw"><field name="NUM">0</field></shadow></value><next><block type="actuator_onboard_neopixel_rgb" id="JsXiT|g3mgMC`(Q$*KLA"><value name="_LED_"><shadow type="math_number" id="!aD-hqba~6/)$P;?o^Ex"><field name="NUM">0</field></shadow><block type="variables_get" id="ct,X/i9ts0.SERaty[=/"><field name="VAR">i</field></block></value><value name="RVALUE"><shadow type="math_number" id="4o$yM?JPBD|8#wkQ]]pA"><field name="NUM">0</field></shadow></value><value name="GVALUE"><shadow type="math_number" id="*0ct=u]!?b+l?vl/`e*3"><field name="NUM">0</field></shadow></value><value name="BVALUE"><shadow type="math_number" id="2$nf`HJk$ZX.E!EccYp5"><field name="NUM">25</field></shadow></value><next><block type="actuator_onboard_neopixel_write" id="|!V|a6QZ*t9p6iDek8r8"><next><block type="controls_delay_new" id="wbzJD)ek2CLVc!uZFOt7"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="I=W4/;!f1Mj}UaBh(Fiz"><field name="NUM">0.5</field></shadow></value></block></next></block></next></block></next></block></statement><next><block type="actuator_onboard_neopixel_rgb_all" id="t,[zv#_JTEh`$tZ8f79;"><value name="RVALUE"><shadow type="math_number" id="xgGCU{jje-dfF/du|qZQ"><field name="NUM">0</field></shadow></value><value name="GVALUE"><shadow type="math_number" id="9MGi4Zm!wt^.KC[dVL`1"><field name="NUM">0</field></shadow></value><value name="BVALUE"><shadow type="math_number" id="+;gG~Q|sQq|I3yS,r3~@"><field name="NUM">0</field></shadow></value><next><block type="actuator_onboard_neopixel_write" id="QNHNuKD3B!!+AhN[.5tf"><next><block type="controls_delay_new" id=")x)v@B5JB@TpMtT)~MkF"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="ptW!|qRh~11~[YGKyzmP"><field name="NUM">1</field></shadow></value></block></next></block></next></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtcHl0aG9uIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgaSBpbiByYW5nZSgwLCAyLCAxKToKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyNSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMSkK</code>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user