update examples

This commit is contained in:
fredqian
2025-03-09 10:33:20 +08:00
parent 4c469655dd
commit af3e64a06d
286 changed files with 0 additions and 10142 deletions

View File

@@ -1,3 +0,0 @@
node_modules
build
origin

View File

@@ -1,170 +0,0 @@
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"]],
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"]],
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"]],
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"]],
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;

View File

@@ -1,401 +0,0 @@
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);
}
};

View File

@@ -1,362 +0,0 @@
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;
}
#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;
}

View File

@@ -1,9 +0,0 @@
import MicropythonESP32Pins from './blocks/esp32_profile';
import * as MicropythonESP32PinsBlocks from './blocks/pins';
import * as MicropythonESP32PinsGenerators from './generators/pins';
export {
MicropythonESP32Pins,
MicropythonESP32PinsBlocks,
MicropythonESP32PinsGenerators
};

View File

@@ -1,39 +0,0 @@
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;

View File

@@ -1,162 +0,0 @@
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
} from '@mixly/micropython';
import {
MicropythonESP32Pins,
MicropythonESP32PinsBlocks,
MicropythonESP32PinsGenerators
} from './';
import './css/color_esp32_mixgo.css';
Object.assign(Blockly.Variables, Variables);
Object.assign(Blockly.Procedures, Procedures);
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
);

View File

@@ -1,18 +0,0 @@
{
"compilerOptions": {
"experimentalDecorators": true,
"baseUrl": "./",
"paths": {
"@mixly/python": [
"../python"
],
"@mixly/micropython": [
"../micropython"
]
}
},
"exclude": [
"node_modules",
"dist"
]
}

View File

@@ -1,172 +0,0 @@
"""
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()

View File

@@ -1,51 +0,0 @@
"""
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()

View File

@@ -1,154 +0,0 @@
"""
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()

View File

@@ -1,126 +0,0 @@
{
"board": {
"MixGo": "micropython:esp32:mixgo",
"MixGo PE": "micropython:esp32:mixgo_pe",
"mPython": "micropython:esp32:mpython",
"ESP32 Generic(4MB)": "micropython:esp32:generic"
},
"language": "MicroPython",
"burn": {
"type": "command",
"portSelect": "all",
"micropython:esp32:mixgo": {
"command": "\"{esptool}\" --chip esp32 --port {com} --baud 460800 erase_flash && \"{esptool}\" --port {com} --baud 460800 write_flash 0x1000 \"{indexPath}/build/Mixgo-v1.23.0.bin\" 0X3A0000 \"{indexPath}/../micropython/build/HZK12.bin\""
},
"micropython:esp32:mixgo_pe": {
"command": "\"{esptool}\" --chip esp32 --port {com} --baud 460800 erase_flash && \"{esptool}\" --port {com} --baud 460800 write_flash 0x1000 \"{indexPath}/build/Mixgo_PE-v1.23.0.bin\" 0x700000 \"{indexPath}/../micropython/build/HZK12.bin\""
},
"micropython:esp32:generic": {
"command": "\"{esptool}\" --chip esp32 --port {com} --baud 460800 erase_flash && \"{esptool}\" --port {com} --baud 460800 write_flash 0x1000 \"{indexPath}/build/Generic_ESP32-v1.23.0.bin\" 0X3A0000 \"{indexPath}/../micropython/build/HZK12.bin\""
},
"micropython:esp32:mpython": {
"command": "\"{esptool}\" --chip esp32 --port {com} --baud 460800 erase_flash && \"{esptool}\" --port {com} --baud 460800 write_flash 0x1000 \"{indexPath}/build/mPython-v1.23.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": true,
"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
},
"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.23.0.bin"
},
{
"offset": "0X3A0000",
"path": "../micropython/build/HZK12.bin"
}
]
},
"micropython:esp32:mixgo_pe": {
"binFile": [
{
"offset": "0x1000",
"path": "./build/Mixgo_PE_lib-v1.23.0.bin"
},
{
"offset": "0x700000",
"path": "../micropython/build/HZK12.bin"
}
]
},
"micropython:esp32:generic": {
"binFile": [
{
"offset": "0x1000",
"path": "./build/Generic_ESP32_lib-v1.23.0.bin"
},
{
"offset": "0X3A0000",
"path": "../micropython/build/HZK12.bin"
}
]
},
"micropython:esp32:mpython": {
"binFile": [
{
"offset": "0x1000",
"path": "./build/mPython_lib-v1.23.0.bin"
},
{
"offset": "0x700000",
"path": "../micropython/build/HZK12.bin"
}
]
}
},
"upload": {
"reset": []
}
}
}

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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">04</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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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

View File

@@ -1 +0,0 @@
<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>

View File

@@ -1 +0,0 @@
<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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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">&lt;-</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">-&gt;</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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<xml version="Mixly 2.0 rc4" board="Python ESP32-C2@MixGo 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>

View File

@@ -1 +0,0 @@
<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>

View File

@@ -1 +0,0 @@
<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>

View File

@@ -1 +0,0 @@
<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>

View File

@@ -1 +0,0 @@
<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>

Some files were not shown because too many files have changed in this diff Show More