build(boards): xpython板卡执行 npm run build:prod

This commit is contained in:
王立帮
2025-12-14 21:18:41 +08:00
parent 26bae5da89
commit 0ff5878d5f
416 changed files with 12404 additions and 48341 deletions

View File

@@ -5,43 +5,113 @@ MicroPython library for the Camera(Inherit C module)
=======================================================
@dahanzimin From the Mixly Team
"""
import time
import base64
import jpeg
import time, gc
import urequests
from _camera import *
from jpeg import Encoder
from base64 import b64encode
from machine import SoftI2C, Pin
from mixgo_sant import onboard_bot
from jpeg import Encoder, Decoder
class IMG:
def __init__(self, image, width, height):
self.image = image
self.width = width
self.height = height
self.format = "RGB565"
class Camera(Camera):
def __init__(self, frame_size=FrameSize.R240X240, pixel_format=PixelFormat.RGB565, hmirror=False, vflip=False, **kwargs):
def __init__(self, frame_size=FrameSize.R240X240, pixel_format=PixelFormat.RGB565, skip_frame=3, hmirror=False, vflip=False, **kwargs):
from mixgo_sant import onboard_bot
onboard_bot.cam_reset(1, 0)
onboard_bot.cam_en(1, 150)
super().__init__(frame_size=frame_size, pixel_format=pixel_format, **kwargs)
self.set_hmirror(not hmirror)
time.sleep_ms(50)
time.sleep_ms(150)
self.set_vflip(not vflip)
time.sleep_ms(50)
SoftI2C(scl=Pin(47), sda=Pin(48), freq=400000) # 恢复I2C
for _ in range(skip_frame):
super().capture()
def deinit(self):
super().deinit()
gc.collect()
onboard_bot.cam_reset(0, 0)
onboard_bot.cam_en(0, 100)
def snapshot(self, path=None, formats=0, quality=90, rotation=0):
if formats == 0 and path is None:
def snapshot(self, path=None, quality=90, rotation=0):
if path is None:
return self.capture()
else:
_encoder = Encoder(pixel_format="RGB565_BE", quality=quality, rotation=rotation, width=self.get_pixel_width(), height=self.get_pixel_height())
_jpeg = _encoder.encode(self.capture())
del _encoder
if path is None:
if formats == 1:
return _jpeg
else:
return b'data:image/jpg;base64,' + base64.b64encode(_jpeg)
Image.save(self.capture(), path, quality=quality, rotation=rotation)
def capture(self):
return IMG(super().capture(), self.get_pixel_width(), self.get_pixel_height())
class Image:
def save(self, img, path="mixly.jpg", **kwargs):
'''quality(1-100), rotation (0, 90, 180, 270)'''
_encoder = Encoder(pixel_format="RGB565_BE", width=img.width, height=img.height, **kwargs)
_jpeg = _encoder.encode(img.image)
del _encoder
gc.collect()
if isinstance(path, str):
with open(path, 'wb') as f:
f.write(_jpeg)
else:
return _jpeg
def open(self, path="mixly.jpg", scale_width=None, scale_height=None, tft_width=240, tft_height=240, **kwargs):
'''rotation (0, 90, 180, 270), clipper_width, clipper_height'''
with open(path, "rb") as f:
_jpeg = f.read()
return self._jpg_decoder(_jpeg, scale_width, scale_height, tft_width, tft_height, **kwargs)
def convert(self, img, formats=0, **kwargs):
if formats == 0:
return self.save(img, None, **kwargs)
elif formats == 1:
return b'data:image/jpg;base64,' + b64encode(self.save(img, None, **kwargs))
def download(self, url, path=None, scale_width=None, scale_height=None, tft_width=240, tft_height=240, block=1024, **kwargs):
'''rotation (0, 90, 180, 270), clipper_width, clipper_height'''
response = urequests.get(url, stream=True)
if path is None:
_image = self._jpg_decoder(response.raw.read(), scale_width, scale_height, tft_width, tft_height, **kwargs)
response.close()
return _image
else:
with open(path, 'wb') as f:
while True:
_data = response.raw.read(block)
if not _data:
break
else:
f.write(_data)
response.close()
def _jpg_decoder(self, jpg, scale_width, scale_height, tft_width, tft_height, **kwargs):
'''Automatically zoom based on the screen'''
if scale_width is None or scale_height is None:
_width = tft_width
_height = tft_height
for i in range(min(len(jpg), 1024)):
if jpg[i] == 0xFF and (jpg[i + 1] & 0xF0) == 0xC0:
if jpg[i + 1] not in [0xC4, 0xC8, 0xCC]:
_width = jpg[i + 7] << 8 | jpg[i + 8]
_height = jpg[i + 5] << 8| jpg[i + 6]
break
if _width > tft_width or _height > tft_height:
_scale = max(_width / tft_width, _height / tft_height) * 8
_decoder = Decoder(pixel_format="RGB565_BE", scale_width=round(_width / _scale) * 8, scale_height=round(_height / _scale) * 8, **kwargs)
else:
with open(path, 'wb') as f:
f.write(_jpeg)
return True
_decoder = Decoder(pixel_format="RGB565_BE", **kwargs)
else:
_decoder = Decoder(pixel_format="RGB565_BE", scale_width=scale_width // 8 * 8, scale_height=scale_height // 8 * 8, **kwargs)
_info = _decoder.get_img_info(jpg)
_image = IMG(_decoder.decode(jpg), _info[0], _info[1])
del _decoder, jpg
gc.collect()
return _image
#图像处理
Image = Image()

View File

@@ -9,9 +9,54 @@ from espdl import *
def analyze(results, keys=None, num=0):
if keys is None:
return results is not None
return True if results else False
if results:
if keys == "len":
return len(results)
else:
return results[num][keys]
#简单处理模型运行结果
_onboard_tft = None
def simple_run(molde, camera, keys="len", keyx=None, num=0, color=0xF800, size=2, sync=True):
global _onboard_tft
if _onboard_tft is None:
from mixgo_sant import onboard_tft
_onboard_tft = onboard_tft
if sync: _onboard_tft.fill(0, sync=False)
_img = camera.capture()
_onboard_tft.display(_img, sync=False)
_result = molde.run(_img.image)
_data = None
if _result:
_x_of = (camera.get_pixel_width() - _onboard_tft.width) // 2
_y_of = (camera.get_pixel_height() - _onboard_tft.height) // 2
for r in _result:
x = 0
y = 0
if r['box']:
_onboard_tft.rect(r['box'][0] - _x_of, r['box'][1] - _y_of, r['box'][2], r['box'][3], color, sync=False)
x = r['box'][0]
y = r['box'][1] + r['box'][3]
if "person" in r:
_onboard_tft.shows(r['person']['name'], x=x - _x_of, y=y - _y_of, size=size, center=0, color=color, sync=False)
else:
if r['box']:
_onboard_tft.shows(r['data'], x=x - _x_of, y=y - _y_of, size=size, center=0, color=color, sync=False)
else:
_onboard_tft.shows(r['data'], y=0, size=size, center=True, color=color, sync=False)
break
if keys == "len":
_data = len(_result)
else:
_data = _result[num][keys] if keyx is None else _result[num][keys][keyx]
if sync: _onboard_tft.show()
return _data

View File

@@ -2,15 +2,16 @@
"camera": {
"__require__": [
"time",
"base64",
"jpeg",
"gc",
"urequests",
"_camera",
"jpeg",
"base64",
"machine",
"jpeg",
"mixgo_sant"
],
"__file__": true,
"__size__": 1617,
"__size__": 4782,
"__name__": "camera.py"
},
"ci1302x": {
@@ -32,10 +33,11 @@
},
"esp_dl": {
"__require__": [
"espdl"
"espdl",
"mixgo_sant"
],
"__file__": true,
"__size__": 417,
"__size__": 2060,
"__name__": "esp_dl.py"
},
"mixgo_nova": {
@@ -77,13 +79,13 @@
},
"mixgo_sant": {
"__require__": [
"gc",
"time",
"math",
"machine",
"music",
"ws2812x",
"machine",
"time",
"gc",
"st7789_cf",
"math",
"sant_bot",
"sc7a20",
"ltr553als",
@@ -92,7 +94,7 @@
"ci1302x"
],
"__file__": true,
"__size__": 7403,
"__size__": 7375,
"__name__": "mixgo_sant.py"
},
"mixgo_soar": {
@@ -110,7 +112,7 @@
"mmc5603"
],
"__file__": true,
"__size__": 6805,
"__size__": 6752,
"__name__": "mixgo_soar.py"
},
"mixgo_soar_voice": {
@@ -177,6 +179,18 @@
"__size__": 731,
"__name__": "sant_gx.py"
},
"sant_tts": {
"__require__": [
"gc",
"esp_tts",
"machine",
"pwm_audio",
"mixgo_sant"
],
"__file__": true,
"__size__": 747,
"__name__": "sant_tts.py"
},
"soar_bot": {
"__require__": [
"time",
@@ -190,11 +204,10 @@
"__require__": [
"time",
"uframebuf",
"machine",
"micropython"
"machine"
],
"__file__": true,
"__size__": 4455,
"__size__": 3711,
"__name__": "st7789_bf.py"
},
"st7789_cf": {
@@ -202,11 +215,10 @@
"time",
"uframebuf",
"machine",
"jpeg",
"micropython"
"camera"
],
"__file__": true,
"__size__": 3953,
"__size__": 3595,
"__name__": "st7789_cf.py"
},
"ws2812x": {

View File

@@ -1,18 +1,16 @@
"""
mixgo_sant Onboard resources(v1.9)
mixgo_sant Onboard resources(v2.0)
Micropython library for the mixgo_sant Onboard resources
=======================================================
@dahanzimin From the Mixly Team
"""
import gc
import time
import math
from machine import *
from music import MIDI
from ws2812x import NeoPixel
from machine import *
import time
import gc
import st7789_cf
import math
'''RTC'''
rtc_clock = RTC()
@@ -33,6 +31,7 @@ except Exception as e:
print("Warning: Failed to communicate with BOT035 (Coprocessor) or", e)
'''TFT/240*240'''
import st7789_cf
onboard_tft = st7789_cf.ST7789(onboard_spi, 240, 240, dc_pin=45, reset=onboard_bot.tft_reset, backlight=onboard_bot.tft_brightness, font_address=0xF00000)
'''ACC-Sensor'''
@@ -83,8 +82,6 @@ onboard_rgb = NeoPixel(onboard_bot.rgb_sync, 4)
onboard_music = MIDI(46, pa_ctrl=onboard_bot.spk_en)
'''5KEY_Sensor'''
class KEYSensor:
def __init__(self, pin, range):
self.pin = pin
@@ -122,10 +119,7 @@ class KEYSensor:
def irq(self, handler, trigger):
Pin(self.pin, Pin.IN).irq(handler=handler, trigger=trigger)
'''1KEY_Button'''
class Button(KEYSensor):
def __init__(self, pin):
self.pin = pin
@@ -135,7 +129,6 @@ class Button(KEYSensor):
def _value(self):
return not self.key.value()
B1key = Button(0)
B2key = KEYSensor(17, 0)
A1key = KEYSensor(17, 1600)
@@ -144,8 +137,6 @@ A3key = KEYSensor(17, 550)
A4key = KEYSensor(17, 2100)
'''2-LED'''
class LED:
def __init__(self, func):
self._func = func
@@ -168,10 +159,8 @@ class LED:
def getonoff(self, index):
return True if self.getbrightness(index) > 50 else False
onboard_led = LED(onboard_bot.led_pwm)
class Voice_Energy:
def read(self, samples=10):
values = []
@@ -180,10 +169,8 @@ class Voice_Energy:
0x08, 3)[:2], 'little')) # 在语音识别里获取
return sorted(values)[samples // 2]
onboard_sound = Voice_Energy()
class Clock:
def __init__(self, x, y, radius, color, oled=onboard_tft): # 定义时钟中心点和半径
self.display = oled
@@ -254,6 +241,5 @@ class Clock:
def clear(self, color=0): # 清除
self.display.ellipse(self.xc, self.yc, self.r, self.r, color, True)
'''Reclaim memory'''
gc.collect()

View File

@@ -59,14 +59,12 @@ except Exception as e:
print("Warning: Failed to communicate with MMC5603 (MGS) or", e)
'''TFT/240*240'''
onboard_tft = st7789_bf.ST7789(onboard_spi, 240, 240, dc_pin=46, cs_pin=45, bl_pin=onboard_bot.tft_brightness, brightness=0, font_address=0x700000)
onboard_tft = st7789_bf.ST7789(onboard_spi, 240, 240, dc_pin=46, cs_pin=45, bl_pin=onboard_bot.tft_brightness, brightness=0.6, font_address=0x700000)
'''2RGB_WS2812'''
onboard_rgb = NeoPixel(Pin(40), 4)
'''5KEY_Sensor'''
class KEYSensor:
def __init__(self, pin, range):
self.pin = pin
@@ -103,10 +101,7 @@ class KEYSensor:
def irq(self, handler, trigger):
Pin(self.pin, Pin.IN).irq(handler=handler, trigger=trigger)
'''1KEY_Button'''
class Button(KEYSensor):
def __init__(self, pin):
self.pin = pin
@@ -116,7 +111,6 @@ class Button(KEYSensor):
def _value(self):
return not self.key.value()
B1key = Button(0)
B2key = KEYSensor(17, 0)
A1key = KEYSensor(17, 2300)
@@ -125,8 +119,6 @@ A3key = KEYSensor(17, 800)
A4key = KEYSensor(17, 2900)
'''2LED-Independent'''
class LED:
def __init__(self, pins=[]):
self._pins = [PWM(Pin(pin), duty_u16=0) for pin in pins]
@@ -153,10 +145,8 @@ class LED:
def getonoff(self, index):
return True if self.getbrightness(index) > 50 else False
onboard_led = LED([38, 39])
class Clock:
def __init__(self, x, y, radius, color, oled=onboard_tft): # 定义时钟中心点和半径
self.display = oled
@@ -227,7 +217,5 @@ class Clock:
def clear(self, color=0): # 清除
self.display.ellipse(self.xc, self.yc, self.r, self.r, color, True)
'''Reclaim memory'''
gc.collect()
onboard_tft.set_brightness(0.6)

View File

@@ -0,0 +1,31 @@
"""
SANT-TTS
MicroPython library for the SANT-TTS(暂行)
=======================================================
@dahanzimin From the Mixly Team
"""
import gc
from esp_tts import TTS
from machine import Pin
from pwm_audio import PWMAudio
from mixgo_sant import onboard_bot
audio = PWMAudio(Pin(46))
tts = TTS()
def play(text, speed=3):
try:
onboard_bot.spk_en(1, 100)
if tts.parse_chinese(text):
audio.start()
while True:
data = tts.stream_play(speed)
if not data:
break
else:
audio.write(data)
finally:
onboard_bot.spk_en(0)
audio.stop()
gc.collect()

View File

@@ -3,32 +3,11 @@ ST7789/FrameBuffer
MicroPython library for the ST7789(TFT-SPI)
=======================================================
#Preliminary composition 20240110
@dahanzimin From the Mixly Team
"""
import time
import uframebuf
from machine import Pin, PWM
from micropython import const
_CMD_SWRESET = const(0x01)
_CMD_SLPIN = const(0x10)
_CMD_SLPOUT = const(0x11)
_CMD_PTLON = const(0x12)
_CMD_NORON = const(0x13)
_CMD_INVOFF = const(0x20)
_CMD_INVON = const(0x21)
_CMD_DISPOFF = const(0x28)
_CMD_DISPON = const(0x29)
_CMD_CASET = const(0x2A)
_CMD_RASET = const(0x2B)
_CMD_RAMWR = const(0x2C)
_CMD_RAMRD = const(0x2E)
_CMD_PTLAR = const(0x30)
_CMD_VSCRDEF = const(0x33)
_CMD_COLMOD = const(0x3A)
_CMD_MADCTL = const(0x36)
class ST7789(uframebuf.FrameBuffer_Uincode):
def __init__(self, spi, width, height, dc_pin=None, cs_pin=None, bl_pin=None, brightness=0.6, font_address=0x700000):
@@ -39,15 +18,10 @@ class ST7789(uframebuf.FrameBuffer_Uincode):
super().__init__(self._buffer, width, height, uframebuf.RGB565)
self.font(font_address)
self._init()
self.show()
if brightness > 0:
time.sleep_ms(100)
# self.show()
self.bl_led = bl_pin if callable(bl_pin) else PWM(Pin(bl_pin))
self._oneclight = True
self._brightness = brightness
if callable(bl_pin):
self.bl_led = bl_pin
else:
self.bl_led = PWM(Pin(bl_pin), duty_u16=int(
self._brightness * 60000)) if bl_pin else None
def _write(self, cmd, dat=None):
self.cs.off()
@@ -63,26 +37,24 @@ class ST7789(uframebuf.FrameBuffer_Uincode):
def _init(self):
"""Display initialization configuration"""
for cmd, data, delay in [
# (_CMD_SWRESET, None, 20000),
(_CMD_SLPOUT, None, 120000),
(_CMD_MADCTL, b'\x00', 50),
(_CMD_COLMOD, b'\x05', 50),
(0xB2, b'\x0c\x0c\x00\x33\x33', 10),
(0xB7, b'\x35', 10),
(0xBB, b'\x19', 10),
(0x11, None, 120000),
(0x36, b'\x00', 10),
(0x3A, b'\x05', 10),
(0xB2, b'\x1F\x1F\x00\x33\x33', 10),
(0xB7, b'\x00', 10),
(0xBB, b'\x3F', 10),
(0xC0, b'\x2C', 10),
(0xC2, b'\x01', 10),
(0xC3, b'\x12', 10),
(0xC3, b'\x0F', 10),
(0xC4, b'\x20', 10),
(0xC6, b'\x0F', 10),
(0xC6, b'\x13', 10),
(0xD0, b'\xA4\xA1', 10),
(0xE0, b'\xD0\x04\x0D\x11\x13\x2B\x3F\x54\x4C\x18\x0D\x0B\x1F\x23', 10),
(0xE1, b'\xD0\x04\x0C\x11\x13\x2C\x3F\x44\x51\x2F\x1F\x1F\x20\x23', 10),
(0xD6, b'\xA1', 10),
(0xE0, b'\xF0\x06\x0D\x0B\x0A\x07\x2E\x43\x45\x38\x14\x13\x25\x29', 10),
(0xE1, b'\xF0\x07\x0A\x08\x07\x23\x2E\x33\x44\x3A\x16\x17\x26\x2C', 10),
(0xE4, b'\x1D\x00\x00', 10),
(0x21, None, 10),
(0x29, None, 10),
# (_CMD_INVOFF, None, 10),
# (_CMD_NORON, None, 10),
# (_CMD_DISPON, None, 200),
]:
self._write(cmd, data)
if delay:
@@ -112,7 +84,7 @@ class ST7789(uframebuf.FrameBuffer_Uincode):
if callable(self.bl_led):
self.bl_led(brightness * 100)
elif isinstance(self.bl_led, PWM):
self.bl_led.duty_u16(int(brightness*60000))
self.bl_led.duty_u16(int(brightness * 60000))
def color(self, red, green=None, blue=None):
""" Convert red, green and blue values (0-255) into a 16-bit 565 encoding."""
@@ -123,6 +95,9 @@ class ST7789(uframebuf.FrameBuffer_Uincode):
def show(self):
"""Refresh the display and show the changes."""
self._write(_CMD_CASET, b'\x00\x00\x01\x3f')
self._write(_CMD_RASET, b'\x00\x00\x00\xef')
self._write(_CMD_RAMWR, self._buffer)
if self._oneclight:
self.set_brightness(self._brightness)
self._oneclight = False
self._write(0x2A, b'\x00\x00\x00\xef')
self._write(0x2B, b'\x00\x00\x00\xef')
self._write(0x2C, self._buffer)

View File

@@ -8,26 +8,7 @@ MicroPython library for the ST7789(TFT-SPI)
import time
import uframebuf
from machine import Pin
from jpeg import Decoder
from micropython import const
_CMD_SWRESET = const(0x01)
_CMD_SLPIN = const(0x10)
_CMD_SLPOUT = const(0x11)
_CMD_PTLON = const(0x12)
_CMD_NORON = const(0x13)
_CMD_INVOFF = const(0x20)
_CMD_INVON = const(0x21)
_CMD_DISPOFF = const(0x28)
_CMD_DISPON = const(0x29)
_CMD_CASET = const(0x2A)
_CMD_RASET = const(0x2B)
_CMD_RAMWR = const(0x2C)
_CMD_RAMRD = const(0x2E)
_CMD_PTLAR = const(0x30)
_CMD_VSCRDEF = const(0x33)
_CMD_COLMOD = const(0x3A)
_CMD_MADCTL = const(0x36)
from camera import Image, IMG
class ST7789(uframebuf.FrameBuffer_Uincode):
def __init__(self, spi, width, height, dc_pin=None, backlight=None, reset=None, font_address=0x700000):
@@ -35,25 +16,25 @@ class ST7789(uframebuf.FrameBuffer_Uincode):
self.dc = Pin(dc_pin, Pin.OUT, value=1)
self._buffer = bytearray(width * height * 2)
super().__init__(self._buffer, width, height, uframebuf.RGB565)
reset(1, 100)
if reset: reset(1, 100)
self.font(font_address)
self._init()
# self.show()
self._oneclight = True
self._backlight = backlight
def display(self, data=None, rotation=0, sync=True):
def display(self, data=None, x=None, y=None, scale_width=None, scale_height=None, rotation=0, sync=True):
if type(data) is str:
with open(data, "rb") as f:
_jpeg = f.read()
_decoder = Decoder(pixel_format="RGB565_BE", rotation=rotation)
self._buffer[:] = _decoder.decode(_jpeg)
del _decoder
data = Image.open(data, scale_width, scale_height, self.width, self.height, rotation=rotation)
if sync: self.fill(0x0, sync=False)
self.blit_rgb565(data.image, data.width, data.height, x, y)
if sync: self.show()
def screenshot(self, x=0, y=0, w=None, h=None):
if (w is None and h is None):
return IMG(memoryview(self._buffer), self.width, self.height)
else:
self._buffer[:] = data # 后期做图像大小处理
if sync:
self.show()
return self._buffer
return IMG(memoryview(self.crop_rgb565(x,y,w,h)), w, h)
def _write(self, cmd, dat=None):
self.dc.off()
@@ -65,23 +46,24 @@ class ST7789(uframebuf.FrameBuffer_Uincode):
def _init(self):
"""Display initialization configuration"""
for cmd, data, delay in [
# (_CMD_SWRESET, None, 20000),
(_CMD_SLPOUT, None, 120000),
(_CMD_MADCTL, b'\x00', 50),
(_CMD_COLMOD, b'\x05', 50),
(0xB2, b'\x0c\x0c\x00\x33\x33', 10),
(0xB7, b'\x35', 10),
(0xBB, b'\x19', 10),
(0x11, None, 120000),
(0x36, b'\x00', 50),
(0x3A, b'\x05', 50),
(0xB2, b'\x1F\x1F\x00\x33\x33', 10),
(0xB7, b'\x00', 10),
(0xBB, b'\x36', 10),
(0xC0, b'\x2C', 10),
(0xC2, b'\x01', 10),
(0xC3, b'\x12', 10),
(0xC3, b'\x13', 10),
(0xC4, b'\x20', 10),
(0xC6, b'\x0F', 10),
(0xC6, b'\x13', 10),
(0xD0, b'\xA4\xA1', 10),
(0xE0, b'\xD0\x04\x0D\x11\x13\x2B\x3F\x54\x4C\x18\x0D\x0B\x1F\x23', 10),
(0xE1, b'\xD0\x04\x0C\x11\x13\x2C\x3F\x44\x51\x2F\x1F\x1F\x20\x23', 10),
(_CMD_INVON, None, 10),
(_CMD_DISPON, None, 10),
(0xD6, b'\xA1', 10),
(0xE0, b'\xF0\x08\x0E\x09\x08\x04\x2F\x33\x45\x36\x13\x12\x2A\x2D', 10),
(0xE1, b'\xF0\x0E\x12\x0C\x0A\x15\x2E\x32\x44\x39\x17\x18\x2B\x2F', 10),
(0xE4, b'\x1D\x00\x00', 10),
(0x21, None, 10),
(0x29, None, 10),
]:
self._write(cmd, data)
if delay:
@@ -108,6 +90,6 @@ class ST7789(uframebuf.FrameBuffer_Uincode):
if self._oneclight:
self.set_brightness(0.6)
self._oneclight = False
self._write(_CMD_CASET, b'\x00\x00\x00\xef')
self._write(_CMD_RASET, b'\x00\x00\x00\xef')
self._write(_CMD_RAMWR, self._buffer)
self._write(0x2A, b'\x00\x00\x00\xef')
self._write(0x2B, b'\x00\x00\x00\xef')
self._write(0x2C, self._buffer)

View File

@@ -118,7 +118,7 @@
"type": "command",
"portSelect": "all",
"micropython:esp32s3:mixgo_sant": {
"command": "\"{esptool}\" --chip esp32s3 --port {com} --baud {baudrate} --after hard_reset write_flash -e 0x0 \"{indexPath}/build/Mixgo_Sant_lib-v1.13.0.bin\" 0xE00000 \"{indexPath}/../micropython/build/HZK16_GBK.bin\""
"command": "\"{esptool}\" --chip esp32s3 --port {com} --baud {baudrate} --after hard_reset write_flash -e 0x0 \"{indexPath}/build/Mixgo_Sant_lib_DL-v1.25.0.bin\" 0xF00000 \"{indexPath}/../micropython/build/HZK16_GBK.bin\" 0xC00000 \"{indexPath}/../micropython/build/esp_tts_voice_data_xiaole.dat\""
},
"micropython:esp32s3:mixgo_nova": {
"command": "\"{esptool}\" --chip esp32s3 --port {com} --baud {baudrate} --after hard_reset write_flash -e 0x0 \"{indexPath}/build/Mixgo_Nova_lib-v1.21.0.bin\" 0x700000 \"{indexPath}/../micropython/build/HZK12.bin\""
@@ -182,10 +182,13 @@
"binFile": [
{
"offset": "0x0000",
"path": "./build/Mixgo_Sant_lib-v1.13.0.bin"
"path": "./build/Mixgo_Sant_lib_DL-v1.25.0.bin"
}, {
"offset": "0xE00000",
"offset": "0xF00000",
"path": "../micropython/build/HZK16_GBK.bin"
}, {
"offset": "0xC00000",
"path": "../micropython/build/esp_tts_voice_data_xiaole.dat"
}
]
},

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="display_scroll_string" id="BTkq(VwNpygemX+r[/:V" x="-1486" y="-273"><value name="data"><shadow type="text" id="bW6FuKB-drFf891|?g2/"><field name="TEXT">你好,米思齐!</field></shadow></value><next><block type="display_show_image" id="N0r]6|Cm|+z^81!8BjL4"><value name="data"><shadow type="pins_builtinimg" id="zv@Hf1z=O#P`1Zlh5S(`"><field name="PIN">expression_picture.Heart</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="h:=pBe(,2MU5`lLn}+-C"><field name="BOOL">TRUE</field></shadow></value></block></next></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIGV4cHJlc3Npb25fcGljdHVyZSBpbXBvcnQgSGVhcnQKCm9uYm9hcmRfdGZ0LnNjcm9sbCgn5L2g5aW977yM57Gz5oCd6b2Q77yBJywgY29sb3I9MHhmZmZmKQpvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="58?7C{E-wg0r9V}.*KRW" x="-739" y="234"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="7;QrIaESP*m]uK6yI0e:"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="display_show_image" id="tn`qU9AT=x4K@*YgpJ_I"><value name="data"><shadow type="pins_builtinimg" id="8]E#7{RwNl6h0JzIa(+,"><field name="PIN">expression_picture.Heart</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="!(Kw-NWU{Yaon[bD_NAe"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id="oPP;{2rGY*+yC}G}xHCW"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id=",X.,Ly}Cs8ENmVwh}4_f"><field name="NUM">1</field></shadow></value><next><block type="display_show_image" id="vu|oRFl-K^(U|0^LXVQL"><value name="data"><shadow type="pins_builtinimg" id="km,1l.]8|l*AWm#ZQ{=E"><field name="PIN">expression_picture.Small_heart</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="6uRI,5!OH[~BHQQI?:Wb"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id="bhzNI@M*Ae72eBPJ.Wny"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="(n`XS*HE5Zc=kAy8vj=t"><field name="NUM">1</field></shadow></value></block></next></block></next></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuaW1hZ2UoSGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShTbWFsbF9oZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="display_scroll_string" id="=n02_~6FP6$sbwLqr;!#" x="-883" y="151"><value name="data"><shadow type="text" id="EWyVV9W(1Kq$$3#seQv!"><field name="TEXT">我爱米思齐!</field></shadow></value><next><block type="controls_whileUntil" id="C`3wA^Yn}fhzv5Uy9!8,"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="~-y_-Bz6;fVQpM0KkWbA"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="display_show_image" id="$NH.f!`vx:63VLM=4cR~"><value name="data"><shadow type="pins_builtinimg" id="98#BR(A0`eH;f4[dsZDw"><field name="PIN">expression_picture.Heart</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="k^FV/1fh{iAvEC(*ZbBd"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id="3bw8yq-?R~g#S?tpG0L["><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="iR[Yn2}@Oc5+)q6K8NW-"><field name="NUM">1</field></shadow></value><next><block type="display_show_image" id="H*fD5-AV{d*B+NId((~D"><value name="data"><shadow type="pins_builtinimg" id="szErV#v:9x}Wy]{t!U:q"><field name="PIN">expression_picture.Small_heart</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="3h9jdk2oKj2(Qq}$Bq*@"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id=":#M]SAMTqb_:,@*PGMSA"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="k)v7l7(uyPKav:=s.3SO"><field name="NUM">1</field></shadow></value></block></next></block></next></block></next></block></statement></block></next></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIGV4cHJlc3Npb25fcGljdHVyZSBpbXBvcnQgSGVhcnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0CgpvbmJvYXJkX3RmdC5zY3JvbGwoJ+aIkeeIseexs+aAnem9kO+8gScsIGNvbG9yPTB4ZmZmZikKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmltYWdlKEhlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQogICAgb25ib2FyZF90ZnQuaW1hZ2UoU21hbGxfaGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCg==</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="~4:*.4luJjFSH0^Z*|qO" x="-752" y="165"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="2oT.`,Ur:Hc(v`JBiMGm"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="-S/0Sg,kv[yvR(7}mg48"><value name="IF0"><block type="sensor_mixgo_button_is_pressed" id="P@T4?Ds:cHm|nI-mC:2+"><value name="btn"><shadow type="pins_button" id="L#/Z+j-nC6?^6o?MH=}~"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="display_show_image" id="p.fttCZ|0(f?B=:?Syp("><value name="data"><shadow type="pins_builtinimg" id="$NgX2kG5W@t[mLz?0RZ2"><field name="PIN">expression_picture.Heart</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="Hw-]x`yop5BmneNo-v;)"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id="9`woDWGiQ-Qc(F{Kkc,N"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="cBt},TL_kh8TT|7g4RGq"><field name="NUM">0.1</field></shadow></value><next><block type="display_show_image" id="*`ej/$BDPF*Z*x^h]{Xf"><value name="data"><shadow type="pins_builtinimg" id="QCbgh8d;W)dZ(^|DX*]?"><field name="PIN">expression_picture.Small_heart</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="l9Bp=i)s=RM:PjTks9jJ"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id="`*py0U_~8Mf.,3MnAcl-"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="icYi]OX9=KBsCu*`?`lC"><field name="NUM">0.1</field></shadow></value></block></next></block></next></block></next></block></statement></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoSGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoU21hbGxfaGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCg==</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="+HhR=F)eQSwr@-1tEr[#" x="-651" y="184"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="Zr{N)R^bo6tku!7S8{Uc"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="ao-Lv{Isz_/[Sk^88v+Z"><value name="IF0"><block type="sensor_mixgo_button_is_pressed" id="YvW;u)pVxqxe#Mn,@yUE"><value name="btn"><shadow type="pins_button" id="vdApB,N;Ww?hOQq]Dt?u"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="display_show_image" id="n?)*:Xl0$)V#jO:i4.(v"><value name="data"><shadow type="pins_builtinimg" id="#SGHgeJc5!!1VskZ_]{*"><field name="PIN">expression_picture.Heart</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="R$O[B2.v#(PNht$j]n=("><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id="(GboVNdJxXAm~SiZem6u"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="K2.q/n+h.u}K;4v+8v_y"><field name="NUM">0.1</field></shadow></value><next><block type="display_show_image" id="^-h1M8}uH8l4F{V!KoQN"><value name="data"><shadow type="pins_builtinimg" id="5LuM9+=4-I:K9^ws$2.l"><field name="PIN">expression_picture.Small_heart</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="$B@2~Z)S{[W1d8Dn^E~Q"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id="UN#`fS+R/52O48C7xNSY"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="jwAkN(GESwerM88mRes["><field name="NUM">0.1</field></shadow></value></block></next></block></next></block></next></block></statement><next><block type="controls_if" id=";037IbPza;@PCAvQVw}G"><value name="IF0"><block type="sensor_mixgo_button_is_pressed" id="MQ.a0{_{nq{YZ)60cu3J"><value name="btn"><shadow type="pins_button" id="PoVW6d*}{^c8:r)ZzfEl"><field name="PIN">B2key</field></shadow></value></block></value><statement name="DO0"><block type="display_show_image" id="8Lq9)no#uW,OUgiCPw9u"><value name="data"><shadow type="pins_builtinimg" id="@WRo9k**^:0qKD$u,ct2"><field name="PIN">expression_picture.Heart</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="VqH?({|j[@RlPT}$h~eZ"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id=";=IlhYJ)6YQ;I6wNWmj|"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id=":p1rAOld#Roz.f~Q^0f`"><field name="NUM">0.5</field></shadow></value><next><block type="display_show_image" id="du4f4$a2?~pPReC4Nl)g"><value name="data"><shadow type="pins_builtinimg" id=";O=jC8f^6+e.p$/(fhr2"><field name="PIN">expression_picture.Small_heart</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="pT/HYCLvOwpkn@Z;2d,z"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id="I~l9}#2g+h#[QIsAK[J."><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="f!W|U@TMc)?OS|Q)#Ocl"><field name="NUM">0.5</field></shadow></value></block></next></block></next></block></next></block></statement></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoSGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoU21hbGxfaGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICBpZiBtaXhnb19zYW50LkIya2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShTbWFsbF9oZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkK</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="TL[9o,hvI)k_h2,^F[;y" x="-773" y="183"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="tJksA`CPxImTQwhH!LGS"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="H,y!SN[o@8U=8349,;Z2"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="[Q4*4;Plmu2mu=7:@#C/"><value name="btn"><shadow type="pins_button" id="YqKvWCz8::O/,]fu+eXt"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="controls_whileUntil" id="6Y]qs6$`9YT,CCO/t]=8"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="E5LyJ*JhvRSL`ZaXekNM"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="display_show_image" id="FTBN6WNvW?Bt6xXE(q~r"><value name="data"><shadow type="pins_builtinimg" id="vWbqC,kwe3_de{V|6-Bc"><field name="PIN">expression_picture.Heart</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="#N;0{*^v@ras!C`4/h{n"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id="}?U$FK!_}v?WFtEv=;1y"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="Q)R`SW^_DG|wXIWuGK^#"><field name="NUM">0.1</field></shadow></value><next><block type="display_show_image" id="3@.|nIgZ6{8a,M9m}#uY"><value name="data"><shadow type="pins_builtinimg" id="wmUZoP$U;b,!W[?#67*D"><field name="PIN">expression_picture.Small_heart</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="s}QVt.9]gYPbGTT$Gbb|"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id="O]i|O7@#Y:VP-]lB.d1i"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="MR7ysTv3}Y/:sio(p$^k"><field name="NUM">0.1</field></shadow></value></block></next></block></next></block></next></block></statement></block></statement></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKEhlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoU21hbGxfaGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4xKQo=</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="8vL{B~kaVNBzj)0?M,Q/" x="-773" y="183"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="Y[B-qERJL`oy9cwX9:Vo"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="y1Lo|`Z_Ge*`{Q)o1v^m"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="X+?8=^vWD?8l4c(6oAxo"><value name="btn"><shadow type="pins_button" id="^?!UZ`a|Oj~F{s;!QQmQ"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="controls_whileUntil" id="uYQ*{m|x|5qG4dZ(]#w#"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="vu,]38vQms?-AdwSP$T6"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="display_show_image" id="ia;!pphxB5ZS-?zJlTgR"><value name="data"><shadow type="pins_builtinimg" id="LpRoLcVINhnp!H[XH6jf"><field name="PIN">expression_picture.Heart</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="~`t8{tM4`g-3#6kucyaR"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id="/VHU=5[(0Ur?T.yU2eI_"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="!dg?=?|w9AIrQ?O#M|k("><field name="NUM">0.1</field></shadow></value><next><block type="display_show_image" id="me|x=a1bdt,v}c9oYN]]"><value name="data"><shadow type="pins_builtinimg" id="*s)~4D*01+#+Ue4AZiRK"><field name="PIN">expression_picture.Small_heart</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="yAp;=)L=yFw~zbeTR|yc"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id="1;Mn/:OWajXwkR,HN)SR"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="Of=?YL,:.^W/qp==-I6`"><field name="NUM">0.1</field></shadow></value><next><block type="controls_if" id="i-HI~doagDEs/wyyP`V("><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="5lJV1@-G;iJ#/?[}6hqm"><value name="btn"><shadow type="pins_button" id="V,}i__$o~pz)i+s$xYSz"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="controls_flow_statements" id="gwTef.j7{A}f}c,#*Q@M"><field name="FLOW">BREAK</field></block></statement></block></next></block></next></block></next></block></next></block></statement></block></statement></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKEhlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoU21hbGxfaGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICBicmVhawo=</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="variables_set" id="9;iJiS1X!7dY8;4]t`CX" x="-651" y="147"><field name="VAR">心跳</field><value name="VALUE"><block type="logic_boolean" id="dFJBKA+r67ekSD(RhyNL"><field name="BOOL">FALSE</field></block></value><next><block type="controls_whileUntil" id="V_Z.0zmM.I:(/CE#xsJt"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="*4NmVU/FY[(e#J(b3a[*"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="uu$/xn3_`M^|RR]FiT6Z"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="v9st?dt_w|TFD|9AJ{.o"><value name="btn"><shadow type="pins_button" id="-$Gq_U|~+KxK`c_K/-gZ"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="variables_set" id="T|?r!j+H4J4ma[/maIO2"><field name="VAR">心跳</field><value name="VALUE"><block type="logic_boolean" id="EwG53r(KW7*eN/=+3y3z"><field name="BOOL">FALSE</field></block></value></block></statement><next><block type="controls_if" id="83(}xnB*#!./C[M,D9`p"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="4K8`.iyb?kh0[])ixX.u"><value name="btn"><shadow type="pins_button" id="`eu#0Y3TwJmLum,P)xA@"><field name="PIN">B2key</field></shadow></value></block></value><statement name="DO0"><block type="variables_set" id="!uHEF-iQUx`;thn(6cF{"><field name="VAR">心跳</field><value name="VALUE"><block type="logic_boolean" id="pvJGrAe_TT}!v:D-f=1q"><field name="BOOL">TRUE</field></block></value></block></statement><next><block type="controls_if" id="=|:lC#C-Ft8YpkdH,fYR"><value name="IF0"><block type="variables_get" id="C`K`LZ4EKcV~}0C53qi`"><field name="VAR">心跳</field></block></value><statement name="DO0"><block type="display_show_image" id="dPcAJPI5^Gxzg;5=B6/*"><value name="data"><shadow type="pins_builtinimg" id="[+3|.dGrvE9n`daDsBT9"><field name="PIN">expression_picture.Heart</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="X4^x${o*|x_Ux6IU|,+y"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id="]yeA8SqhMy{iLs3+8*;b"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="6j/WZh6FQ[O1e)t[CL5*"><field name="NUM">0.1</field></shadow></value><next><block type="display_show_image" id="qo{]Icu?CF]i{NMA~-+F"><value name="data"><shadow type="pins_builtinimg" id="kvBdUcCojvQks$dd^|1k"><field name="PIN">expression_picture.Small_heart</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="0jzxJNE}5`l-IN1?J~$/"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id="r+q=$BaaO[2wq{~XVp0Y"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="0$JV@bNk}R-H/tKQq=Yg"><field name="NUM">0.1</field></shadow></value></block></next></block></next></block></next></block></statement></block></next></block></next></block></statement></block></next></block></xml><config>{}</config><code>aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgrlv4Pot7MgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW/g+i3syA9IEZhbHNlCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5b+D6LezID0gVHJ1ZQogICAgaWYg5b+D6LezOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKEhlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKFNtYWxsX2hlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo=</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="variables_set" id="zZUAY*vw]UgPaDqMlzRP" x="-651" y="147"><field name="VAR">心跳</field><value name="VALUE"><block type="logic_boolean" id="cpO8F|VreS$R},/b#l1C"><field name="BOOL">FALSE</field></block></value><next><block type="controls_whileUntil" id="_.0NH?OBGe`,8JwcJvtt"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id=":)B(Iq7}Sk,j/?#g]Zm3"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="PNYs$Z}FDjN-8UshJogL"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="5lAe)eL*(M(HoCxH[)8|"><value name="btn"><shadow type="pins_button" id="lnXZgggr$Z/^MmU9#pXL"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="variables_set" id="*b38845[jj.,BElmR2;Y"><field name="VAR">心跳</field><value name="VALUE"><block type="logic_negate" id="ad(u^#WW_iWVP/!pCG7W"><value name="BOOL"><block type="variables_get" id="Ly8uKLMcKl*l`1`Du-w7"><field name="VAR">心跳</field></block></value></block></value></block></statement><next><block type="controls_if" id="iBFcvmc2`.?56^z0Rgq#"><value name="IF0"><block type="variables_get" id="`4^Y_;n?KzT2x,Wl@Y:)"><field name="VAR">心跳</field></block></value><statement name="DO0"><block type="display_show_image" id="#HoCkG;}lL2^csXP-Vb|"><value name="data"><shadow type="pins_builtinimg" id="!T+x(*-r(oVDzLUQgpl~"><field name="PIN">expression_picture.Heart</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="(f=]=5+y=^`LeK[exk7Q"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id="tkQa=;q^rBj8.aWm{h:`"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="ASPj}`-KP0@}l;jxv5h#"><field name="NUM">0.1</field></shadow></value><next><block type="display_show_image" id="aNFcv/3H}QiV!LO(bWh."><value name="data"><shadow type="pins_builtinimg" id="?lm@zTCbI?CLU:#{j.v)"><field name="PIN">expression_picture.Small_heart</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="=-m#GCbzh)DUIX`AQ9JG"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id="f])DdAMF:DH{DSL@PiD-"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="J=we,nj5M!3+GmIM@h9}"><field name="NUM">0.1</field></shadow></value></block></next></block></next></block></next></block></statement></block></next></block></statement></block></next></block></xml><config>{}</config><code>aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgrlv4Pot7MgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW/g+i3syA9IG5vdCDlv4Pot7MKICAgIGlmIOW/g+i3szoKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShTbWFsbF9oZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkK</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="~HLyY2{hXknhfleIR)So" x="-716" y="132"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="^IBzm1`m?9CO]l].Y8Dh"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="o$Ih(As#!/abw46Qn:9M"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="p8w*SJEP})-Iy17f(cHZ"><value name="btn"><shadow type="pins_button" id="p@Hy.uNpbKZB/MjUU{,e"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="actuator_led_bright" id="=O:A?.kTkH}V/Oo@c+^P"><value name="led"><shadow type="number" id="E.d}yp/7~y;MlYkWA,K="><field name="op">1</field></shadow></value><value name="bright"><shadow type="ledswitch" id="$sZI)ekG5SS5{|8W}nS0"><field name="flag">1</field></shadow></value><next><block type="actuator_led_bright" id="1Bc:||}G|rtb^3?K67+M"><value name="led"><shadow type="number" id="IW{FgNpkiy)-Q(bz@qdw"><field name="op">2</field></shadow></value><value name="bright"><shadow type="ledswitch" id="U~F^emBn9SL(X*0-przz"><field name="flag">1</field></shadow></value></block></next></block></statement><next><block type="controls_if" id="/`24$:e8Z@gyL7:.]B_~"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="Tz!K*0E0jl,m8R9^(l@T"><value name="btn"><shadow type="pins_button" id="(^H[oh_iz.4*ysm|c05k"><field name="PIN">B2key</field></shadow></value></block></value><statement name="DO0"><block type="actuator_led_bright" id="I`M,X[fw@dcV0xZqn9z0"><value name="led"><shadow type="number" id="!AOeRj:4.Y:1fCKWUTHg"><field name="op">1</field></shadow></value><value name="bright"><shadow type="ledswitch" id="P;#ynJ3Lnu:heB-iYdiV"><field name="flag">0</field></shadow></value><next><block type="actuator_led_bright" id="KM=@Vwm|JnE!-EKzoWUw"><value name="led"><shadow type="number" id="ZWHkFvvSVUEWZ$jDI#D["><field name="op">2</field></shadow></value><value name="bright"><shadow type="ledswitch" id="iuvL/!.T5=fPg3H=kGNx"><field name="flag">0</field></shadow></value></block></next></block></statement></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQo=</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="variables_set" id="9$jtIC$X)^G(/l(Ct(r[" x="-715" y="83"><field name="VAR">亮灯</field><value name="VALUE"><block type="logic_boolean" id="/r+Onod+,=,c!-xO@]!o"><field name="BOOL">FALSE</field></block></value><next><block type="controls_whileUntil" id="?G-Qz@H3s.RCH6ZtxU{x"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="[c,(+c!zHloIeygpL+Ng"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="IVR.pplTl7f*c,:/DF4v"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="s+J:mo]zZlY[0+b8~e30"><value name="btn"><shadow type="pins_button" id="4kB?7jqOy|s,KwX26RF!"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="variables_set" id="W?rzS:-q6ZzUCf=~X_9x"><field name="VAR">亮灯</field><value name="VALUE"><block type="logic_negate" id="2}|rFJ~~HN~ztzIzsH{F"><value name="BOOL"><block type="variables_get" id="I!~}h6R3BjA|qO00wxBx"><field name="VAR">亮灯</field></block></value></block></value></block></statement><next><block type="actuator_led_bright" id=",`M.j3:;a7z.jI5u[5iF"><value name="led"><shadow type="number" id="D+990athEu14V1ET!s!u"><field name="op">1</field></shadow></value><value name="bright"><shadow type="ledswitch" id="#Bz3WMyE5epd)TZCJZ]p"><field name="flag">0</field></shadow><block type="variables_get" id="nhNcSZ(}kgflHTCwINrz"><field name="VAR">亮灯</field></block></value><next><block type="actuator_led_bright" id="E7rQ$7]O6+RU|y@;U=2d"><value name="led"><shadow type="number" id="!#vTF8_O7:J;L-.eLSL$"><field name="op">2</field></shadow></value><value name="bright"><shadow type="ledswitch" id="khx,1r=5RAErD!^wWX3:"><field name="flag">0</field></shadow><block type="variables_get" id="1},zcX71h$.#RO,oS2a!"><field name="VAR">亮灯</field></block></value></block></next></block></next></block></statement></block></next></block></xml><config>{}</config><code>aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoKCuS6rueBryA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5Lqu54GvID0gbm90IOS6rueBrwogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSzkuq7nga8pCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLOS6rueBrykK</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="cQdt/R:7`Pa69zlWl6{$" x="-725" y="181"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="U{IQc#jsUMQ1A|-+B-/N"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="Y!:$J-qG#~*]45#E|2RK"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id=",Onk!J0x,.~b}_a^XK(z"><value name="btn"><shadow type="pins_button" id="4IrMe*i:cbD?vMISC$Q?"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="actuator_led_bright" id="rweq=ijSZ4nmNKwk?f`6"><value name="led"><shadow type="number" id="Y3FM4[-?rs-s6k-PJc,["><field name="op">1</field></shadow></value><value name="bright"><shadow type="ledswitch" id="3m:)S2)gSaNjp;z]wIdj"><field name="flag">1</field></shadow></value><next><block type="controls_delay_new" id="_d|~l5)(8NK/_+gG!r]]"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="`oxbX]s_T(#@o3r3:Qjo"><field name="NUM">2</field></shadow></value><next><block type="actuator_led_bright" id="xVwpbVCuAfai@UxcH{c]"><value name="led"><shadow type="number" id="DJu~^jX.qdW,$Fu`3AG`"><field name="op">1</field></shadow></value><value name="bright"><shadow type="ledswitch" id="lMyBVoF$tkAA|DiCRLcj"><field name="flag">0</field></shadow></value></block></next></block></next></block></statement></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIHRpbWUuc2xlZXAoMikKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCg==</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="Z,OD1x9ftrDsV$Lt.o]F" x="-725" y="181"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="nU,#ZMu*FI+?pEOgRC7{"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="W,bo76``]aX3E^$JdDYT"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="Jtg0X|YZ/i7tZ,q:kQ,z"><value name="btn"><shadow type="pins_button" id="6.x]j)$MYU7eu|{2K,e|"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="actuator_led_bright" id="[kJG1U4dzK$eWp+O)r@s"><value name="led"><shadow type="number" id="5F3#]B!H?6$Oz7gYqA7*"><field name="op">1</field></shadow></value><value name="bright"><shadow type="ledswitch" id="$-7,]D;r6AU}gS#L2}6~"><field name="flag">1</field></shadow></value></block></statement><next><block type="controls_if" id="j{]hLFet.SS+JW#rlfuh"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="1:Li9qNC8x2)idYtPxV6"><value name="btn"><shadow type="pins_button" id="DLCR-q~Fz73eg^!Ni):m"><field name="PIN">B2key</field></shadow></value></block></value><statement name="DO0"><block type="controls_delay_new" id="uNd#PwPsK(T.DhB3v/{0"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="KW:YcyS15]@/Y0gXO2RZ"><field name="NUM">2</field></shadow></value><next><block type="actuator_led_bright" id="~N:-x[uDl,c/=@kVS_Fs"><value name="led"><shadow type="number" id="i5$cg7(PH|BiN9,0aaT;"><field name="op">1</field></shadow></value><value name="bright"><shadow type="ledswitch" id="|x}Icf|*[VXL?!Nq3|wT"><field name="flag">0</field></shadow></value></block></next></block></statement></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHRpbWUuc2xlZXAoMikKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCg==</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="7:DcSh::cK0Hmu|3,/TP" x="-725" y="181"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="}UWEI(h(P*-iR@3UIEH("><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="system_print" id="d2$;o=3E}UWw@~A$0q7;"><value name="VAR"><shadow type="text" id="|6mr~*|l.p*O1_qT(9K2"><field name="TEXT">Mixly</field></shadow><block type="sensor_sound" id="B44BZYhY2qCN`;sY8-^r"></block></value><next><block type="controls_delay_new" id="2D`v[^YQ834)iL~!ZQKW"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="Qc=${St0bU`dA32KgIBW"><field name="NUM">1</field></shadow></value></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfc291bmQucmVhZCgpKQogICAgdGltZS5zbGVlcCgxKQo=</code>e>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="83.etEi_0v49k7)3?^Ep" x="-875" y="152"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id=":MXTx~$rYt0CQjac;HfT"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="variables_set" id="Qy:O(zJ-tBt:Rf,4.ReD"><field name="VAR">声音</field><value name="VALUE"><block type="sensor_sound" id="w`IYBKA^+y3U4^Wr:Liz"></block></value><next><block type="system_print" id="r;s(XY}aDC]Q]]#?}35v"><value name="VAR"><shadow type="text" id=":*_Ckt4x.[VfOQTPtDh?"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="c{1zhyDZFaZYk(P,z[v@"><field name="VAR">声音</field></block></value><next><block type="controls_if" id="2B[iFnYwsca]c?SF$SfE"><value name="IF0"><block type="logic_compare" id="Rn=NiH0h#[(6IT6~?U[K"><field name="OP">GT</field><value name="A"><block type="variables_get" id="dY|)(CXzm]]YifAo(uuU"><field name="VAR">声音</field></block></value><value name="B"><block type="math_number" id="35XT;b)OP?CqHbUm/sAu"><field name="NUM">500</field></block></value></block></value><statement name="DO0"><block type="actuator_led_bright" id="jHMFY9K13gZf$/6Ol)UF"><value name="led"><shadow type="number" id="kH8!HB`Ybdzh}r(1A6.P"><field name="op">1</field></shadow></value><value name="bright"><shadow type="ledswitch" id="D,6],D/A$RrW_w6cTEmx"><field name="flag">-1</field></shadow></value><next><block type="controls_delay_new" id="**JKY9Z?!M#]aRW_an0-"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="kRmlI!.tA^oVn$,9!i5@"><field name="NUM">0.5</field></shadow></value></block></next></block></statement><next><block type="controls_delay_new" id="+$T/pEy1dtzXl|JM9!iw"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="B/X1^Yb$7v?]E-5YrF3,"><field name="NUM">0.1</field></shadow></value></block></next></block></next></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAg5aOw6Z+zID0gb25ib2FyZF9zb3VuZC5yZWFkKCkKICAgIHByaW50KOWjsOmfsykKICAgIGlmIOWjsOmfsyA+IDUwMDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLC0xKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgdGltZS5zbGVlcCgwLjEpCg==</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="4pP2W/:)HsYF_g@:2L|3" x="-1129" y="200"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id=",:!R!u?4;?f4(*o.8967"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="variables_set" id="X#bqKoV}*dSOn1aNqTVy"><field name="VAR">声音</field><value name="VALUE"><block type="sensor_sound" id="N)^HBrwYb+o^ThGL~|nk"></block></value><next><block type="system_print" id="ru#)f~$b7|hU;B~NuYLn"><value name="VAR"><shadow type="text" id="?7lhoL.hY-_Pn{TvFJ_B"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="@785Q!X/i2=qHZqh*,Nh"><field name="VAR">声音</field></block></value><next><block type="controls_if" id="2MA-hEAp:aknmg8I_d}v"><value name="IF0"><block type="logic_compare" id="V/x.]Odi@Ay*pCr1(A7e"><field name="OP">GT</field><value name="A"><block type="variables_get" id="pD;-BYZ.I:q1tjmOfJ-Q"><field name="VAR">声音</field></block></value><value name="B"><block type="math_number" id="8P~?R2AS7Jh]HKt_W0bV"><field name="NUM">500</field></block></value></block></value><statement name="DO0"><block type="actuator_led_bright" id="GNwUCK-BTs4-0F(C^Fx]"><value name="led"><shadow type="number" id="C62iU2AK[[Vyhq5;_ili"><field name="op">1</field></shadow></value><value name="bright"><shadow type="ledswitch" id="rht2${Y{jv[be4rpvOJl"><field name="flag">1</field></shadow></value><next><block type="controls_delay_new" id="LUKRUG~=Cz6a}duU9JkN"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="duWyYykf0qZ[ZIyZ-]})"><field name="NUM">3</field></shadow></value><next><block type="actuator_led_bright" id="(L~~CJgJDe8;;)NM@1hn"><value name="led"><shadow type="number" id="/5OxYoOH~c4c@^u@`Cc@"><field name="op">1</field></shadow></value><value name="bright"><shadow type="ledswitch" id="LWr|OB)dL#,]`7;z/cpV"><field name="flag">0</field></shadow></value></block></next></block></next></block></statement><next><block type="controls_delay_new" id="NK[a,cSw6/+89HKr3HC+"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="cq,x|/=RhvPCq_kSz6{C"><field name="NUM">0.1</field></shadow></value></block></next></block></next></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAg5aOw6Z+zID0gb25ib2FyZF9zb3VuZC5yZWFkKCkKICAgIHByaW50KOWjsOmfsykKICAgIGlmIOWjsOmfsyA+IDUwMDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgdGltZS5zbGVlcCgzKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIHRpbWUuc2xlZXAoMC4xKQo=</code>OWjsOmfsykKICAgIGlmIOWjsOmfsyA+IDUwMDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgdGltZS5zbGVlcCgzKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIHRpbWUuc2xlZXAoMC4xKQo=</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="uV0E}NuA0/WmLzj#;`Q;" x="-1318" y="196"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="R^^p?~GKDAPt_c+mjS1M"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="variables_set" id="gPFNEJ?H}Q4GWuBH+c.~"><field name="VAR">声音</field><value name="VALUE"><block type="sensor_sound" id="YJ!HdJWqUk9s(CytPRno"></block></value><next><block type="variables_set" id="tO#037IE2)./NH,zhDYX"><field name="VAR">光照</field><value name="VALUE"><block type="sensor_mixgo_nova_LTR308" id="cb17E.xT,PX)#Mar1!)w"><field name="direction">l</field></block></value><next><block type="system_print_many" id="D!Y!GrCyYW{ngr^q-IxR"><mutation items="2"></mutation><value name="ADD0"><block type="variables_get" id="tym!pSDF)nY8m@cIatA+"><field name="VAR">声音</field></block></value><value name="ADD1"><block type="variables_get" id="o[@RM7p/h:}_QW,.,UAi"><field name="VAR">光照</field></block></value><next><block type="controls_if" id=")Qb;Pp]=Bp$B]8Q*pE=F"><value name="IF0"><block type="logic_operation" id="_RA$mn}X$9|0aK8a3/P1" inline="false"><field name="OP">AND</field><value name="A"><block type="logic_compare" id="]?mLy4v5xzg^DRAro0(`"><field name="OP">GT</field><value name="A"><block type="variables_get" id="DU[)9+nkT{LhmU3pj4Wu"><field name="VAR">声音</field></block></value><value name="B"><block type="math_number" id="J?q[(uq^0yS.{1f7#{+o"><field name="NUM">500</field></block></value></block></value><value name="B"><block type="logic_compare" id="I9xO=0A]OwN6Vk:F#0jJ"><field name="OP">LT</field><value name="A"><block type="variables_get" id=".ddt+!^26aasaK=Bx0`-"><field name="VAR">光照</field></block></value><value name="B"><block type="math_number" id="NyV.$h9xsHl}l#5n)od^"><field name="NUM">10</field></block></value></block></value></block></value><statement name="DO0"><block type="actuator_led_bright" id="]DV+h9Y]a$JE+EPDbD~|"><value name="led"><shadow type="number" id="pNzeJL_Ty617L0qd3~,^"><field name="op">1</field></shadow></value><value name="bright"><shadow type="ledswitch" id="J95zL9/.j)=qmg5tlUez"><field name="flag">1</field></shadow></value><next><block type="controls_delay_new" id=".{zh?|*vd(4ihB7b}h[C"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id=".7hHHeVmle.*a,;dGC3K"><field name="NUM">3</field></shadow></value><next><block type="actuator_led_bright" id="66pN/Fo#VCqDn#ob:G_x"><value name="led"><shadow type="number" id="R[EAk4Fpk3O|kU)AGUn8"><field name="op">1</field></shadow></value><value name="bright"><shadow type="ledswitch" id=";XV!M)pkK95M#KhUXo$B"><field name="flag">0</field></shadow></value></block></next></block></next></block></statement><next><block type="controls_delay_new" id="/`@N}QCFulSWeg?o}_W4"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="G1e5~N+p;OJ:!sT/:dus"><field name="NUM">0.1</field></shadow></value></block></next></block></next></block></next></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIOWjsOmfsyA9IG9uYm9hcmRfc291bmQucmVhZCgpCiAgICDlhYnnhacgPSBvbmJvYXJkX2Fsc19sLmFsc192aXMoKQogICAgcHJpbnQo5aOw6Z+zLCDlhYnnhacpCiAgICBpZiDlo7Dpn7MgPiA1MDAgYW5kIOWFieeFpyA8IDEwOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICB0aW1lLnNsZWVwKDMpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgdGltZS5zbGVlcCgwLjEpCg==</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="da((zPw$?gw?w+DcBx:V" x="-838" y="236"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="bgd)]K(Qi}o(+uuVW?!{"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="system_print" id="ZAGe47?HbzqHK?or/|:T"><value name="VAR"><shadow type="text" id="j0K.01d4M*Dp+/2NqCuF"><field name="TEXT">Mixly</field></shadow><block type="sensor_mixgo_touch_slide" id="~5)Re?nS5L:H}QPFs`bS"></block></value><next><block type="controls_delay_new" id="Nk=)_Q`ahmw1X[][pZ5y"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id=",1(c=drYyEo5dbyErtse"><field name="NUM">0.1</field></shadow></value></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpKQogICAgdGltZS5zbGVlcCgwLjEpCg==</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="OKTu8RrE=V^L+,NeF[Wy" x="-844" y="165"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id=",tY:8D~2$oTqs$)a:IS3"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="variables_set" id="^!vV0X/~hYmjvD?zOA]x"><field name="VAR">亮度</field><value name="VALUE"><block type="math_to_int" id="1pjWMtkeu+tR]4cWKP-2"><field name="OP">ceil</field><value name="A"><shadow type="math_number" id="h((X#U{|ZdId09T=8^@z"><field name="NUM">0.998</field></shadow><block type="math_map" id="3qt7D)7^)0HRME]6b=#M" inline="false"><value name="NUM"><shadow type="math_number" id="=J^~;*]HV~D^F^9!mHA;"><field name="NUM">50</field></shadow><block type="sensor_mixgo_touch_slide" id=";8q,U40m-GBphTuN$$Nm"></block></value><value name="fromLow"><shadow type="math_number" id="b}Q[{=(gTGr-@CqxWv_M"><field name="NUM">-100</field></shadow></value><value name="fromHigh"><shadow type="math_number" id="g]+WkSGhG.Z|ChG]nh0F"><field name="NUM">100</field></shadow></value><value name="toLow"><shadow type="math_number" id="S|w/T?Oo,|T8,f.m]Wf."><field name="NUM">0</field></shadow></value><value name="toHigh"><shadow type="math_number" id="53aT]O-+GEF){#V/+C:F"><field name="NUM">100</field></shadow></value></block></value></block></value><next><block type="actuator_led_brightness" id="Z(z?!|RG:k{ADyKee4U5"><value name="led"><shadow type="number" id="+|QHxi7;RFiVKgtwzrHL"><field name="op">2</field></shadow></value><value name="bright"><shadow type="math_number" id="ju.WE4y#n=:DJa]?,?-N"><field name="NUM">100</field></shadow><block type="variables_get" id="[Tt)xa^2*V0o]uE2U~[,"><field name="VAR">亮度</field></block></value></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcAppbXBvcnQgbWF0aApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCgoKd2hpbGUgVHJ1ZToKICAgIOS6ruW6piA9IG1hdGguY2VpbChtYXRoX21hcChvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpLCAoLTEwMCksIDEwMCwgMCwgMTAwKSkKICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMiwg5Lqu5bqmKQo=</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="wuI`jcWr=VxW:NCn/vm-" x="-844" y="165"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="LKVid2sgPMUOeh8d3aB9"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="yZ=CBodc,.to)KcK!`oJ"><mutation else="1"></mutation><value name="IF0"><block type="logic_negate" id="D@btjf$G6^R+={sEEl6h"><value name="BOOL"><block type="logic_compare_continous" id="@yVRXvpSdduXxhg2]nMH"><field name="OP1">LT</field><field name="OP2">LT</field><value name="A"><shadow type="math_number" id="5A$Ptb{9Xov/Afa-EUF^"><field name="NUM">-5</field></shadow></value><value name="B"><shadow type="variables_get" id="rpv_`$n)01NSXwGQp6T#"><field name="VAR">x</field></shadow><block type="sensor_mixgo_touch_slide" id="`#z+GBev/Euq_1tKUq]~"></block></value><value name="C"><shadow type="math_number" id="XIO?EyHzfSV}u[gKDV*["><field name="NUM">5</field></shadow></value></block></value></block></value><statement name="DO0"><block type="variables_set" id="Y-}aS$v0RKB2:L7B0XFo"><field name="VAR">亮度</field><value name="VALUE"><block type="math_to_int" id="(o[!`h?F}DRIROt)G(|!"><field name="OP">ceil</field><value name="A"><shadow type="math_number" id="^enbpg[e$OGt)Qn:r?No"><field name="NUM">0.998</field></shadow><block type="math_map" id="Rtj5P=6o?)dP*JNSOs.H" inline="false"><value name="NUM"><shadow type="math_number" id="]#$c5lK:x^U{9H0d_^oA"><field name="NUM">50</field></shadow><block type="sensor_mixgo_touch_slide" id="P}qeBR/^~vGug;scsy_Q"></block></value><value name="fromLow"><shadow type="math_number" id="V?a7jEfDW0[|js{9yC~2"><field name="NUM">-100</field></shadow></value><value name="fromHigh"><shadow type="math_number" id="KzIcjj{fc;kq-0w[o=p4"><field name="NUM">100</field></shadow></value><value name="toLow"><shadow type="math_number" id="f^H]K?8/v`R+T.hkY,q9"><field name="NUM">0</field></shadow></value><value name="toHigh"><shadow type="math_number" id="h`@{+FyvVS:R^NL*)Dx_"><field name="NUM">100</field></shadow></value></block></value></block></value><next><block type="actuator_led_brightness" id="VjsHem6;CTJhi$8busD]"><value name="led"><shadow type="number" id="jqp{A+NOfiK{[2@ZZh7?"><field name="op">2</field></shadow></value><value name="bright"><shadow type="math_number" id="Cc6h`+,Af)wQaF4/]*kx"><field name="NUM">100</field></shadow><block type="variables_get" id="1DJ1O3`1P$MnBZSX*[Y4"><field name="VAR">亮度</field></block></value><next><block type="controls_delay_new" id="RTTbBpp)dewiFQ{;*g@j"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="9/mq`9,Q-Q8!J!bfv-mo"><field name="NUM">0.1</field></shadow></value></block></next></block></next></block></statement><statement name="ELSE"><block type="actuator_led_brightness" id="YFdecdMOs^n9Md__#:q:"><value name="led"><shadow type="number" id="v4o+UPJJ`86L|,TD|*?^"><field name="op">2</field></shadow></value><value name="bright"><shadow type="math_number" id="?k`Pj1|$EpD]q7A5je?7"><field name="NUM">0</field></shadow></value></block></statement></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcAppbXBvcnQgbWF0aApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIGlmIG5vdCAoLTUgPCBvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpIDwgNSk6CiAgICAgICAg5Lqu5bqmID0gbWF0aC5jZWlsKG1hdGhfbWFwKG9uYm9hcmRfYm90LnRvdWNoX3NsaWRlKCksICgtMTAwKSwgMTAwLCAwLCAxMDApKQogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMiwg5Lqu5bqmKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDIsIDApCg==</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="2}gXl*^I(V.P^N6u]YEV" x="-844" y="165"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="X*.8l,+rB|q|ZNt*BwLK"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="WFog4J0T;o1-n:h-kF5)"><mutation else="1"></mutation><value name="IF0"><block type="logic_negate" id="B=UeA+,4uHE8yY{=S({y"><value name="BOOL"><block type="logic_compare_continous" id="|^BD#*Yhgy`=^S$DMpkX"><field name="OP1">LT</field><field name="OP2">LT</field><value name="A"><shadow type="math_number" id="OBdZo(ID+[+GadTm=}|m"><field name="NUM">-5</field></shadow></value><value name="B"><shadow type="variables_get" id="c/c:W;rk]_*Z#oI7.NEg"><field name="VAR">x</field></shadow><block type="sensor_mixgo_touch_slide" id="4{16T/cQb^pIiQ*}MICF"></block></value><value name="C"><shadow type="math_number" id="M|BG6-FocOYi.kHH!#2S"><field name="NUM">5</field></shadow></value></block></value></block></value><statement name="DO0"><block type="variables_set" id="xDc.@N:PDdW+oGGTa!U)"><field name="VAR">亮度</field><value name="VALUE"><block type="math_to_int" id="O.mPU`J6QXYzC}+z_Rv]"><field name="OP">ceil</field><value name="A"><shadow type="math_number" id="FVv$M]S`qTQQ!BisLZ$$"><field name="NUM">0.998</field></shadow><block type="math_map" id="A_oGRjI91a!S?+:abW6|" inline="false"><value name="NUM"><shadow type="math_number" id="n3=LPQj}HMY/,9Q8R)(Q"><field name="NUM">50</field></shadow><block type="sensor_mixgo_touch_slide" id="Z]~?s8:wkPaJe._|}$U~"></block></value><value name="fromLow"><shadow type="math_number" id="OkZs8E4Z-./Yh2`nW12g"><field name="NUM">-100</field></shadow></value><value name="fromHigh"><shadow type="math_number" id="bHxaFKz:@e@dN}StIQ7g"><field name="NUM">100</field></shadow></value><value name="toLow"><shadow type="math_number" id="RjocNDXSM/FQk~,PPCE`"><field name="NUM">0</field></shadow></value><value name="toHigh"><shadow type="math_number" id="NRe1@moU}5=`evIq}_o:"><field name="NUM">100</field></shadow></value></block></value></block></value><next><block type="actuator_led_brightness" id="UBe+fjW+tCba(N~rK21)"><value name="led"><shadow type="number" id="Zn}b~=YELRQS0m@#-gY`"><field name="op">2</field></shadow></value><value name="bright"><shadow type="math_number" id="x#[,d_dL0uSBL_VvxY)("><field name="NUM">100</field></shadow><block type="variables_get" id="]4T*8VvgF+;u0pI+])V6"><field name="VAR">亮度</field></block></value><next><block type="controls_delay_new" id="N}z^|iwrPdEI@QAb0Amj"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="v37YE1IaU+nbWu7rC.NK"><field name="NUM">0.1</field></shadow></value></block></next></block></next></block></statement><statement name="ELSE"><block type="actuator_led_brightness" id="SR2eYdbU#Vt0y]XwTaL|" disabled-reasons="MANUALLY_DISABLED"><value name="led"><shadow type="number" id="#4:7{Wrf0B$W5WHHo}Eh"><field name="op">2</field></shadow></value><value name="bright"><shadow type="math_number" id=":uT;1NhqcW70*105y/LZ"><field name="NUM">0</field></shadow></value></block></statement></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcAppbXBvcnQgbWF0aApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIGlmIG5vdCAoLTUgPCBvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpIDwgNSk6CiAgICAgICAg5Lqu5bqmID0gbWF0aC5jZWlsKG1hdGhfbWFwKG9uYm9hcmRfYm90LnRvdWNoX3NsaWRlKCksICgtMTAwKSwgMTAwLCAwLCAxMDApKQogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMiwg5Lqu5bqmKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZWxzZToKICAgICAgICBwYXNzCg==</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="variables_set" id="Mn!d^xrFehrA?JQYwrCk" x="-1160" y="-583"><field name="VAR">亮度目标</field><value name="VALUE"><block type="math_number" id="Y+!|@,dw9n7I/[MyCJ+w"><field name="NUM">40</field></block></value><next><block type="variables_set" id="R.3}_Xho0x@A_VO9j;SD"><field name="VAR">RGB亮度</field><value name="VALUE"><block type="math_number" id="MPP/eGITyxB3M,KRhb]z"><field name="NUM">0</field></block></value><next><block type="controls_whileUntil" id="Z$S483Ej].!hP#pu3.sl"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="WbHe_L2~EhKc}pvx]z?8"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="actuator_onboard_neopixel_rgb_all" id="O.f9JCG[0+$]FRcp3E[k"><value name="RVALUE"><shadow type="math_number" id="d`C)AX~eQ;,#y5AcSt[A"><field name="NUM">0</field></shadow><block type="variables_get" id="H=W@;2t-g2N?pzj2sThO"><field name="VAR">RGB亮度</field></block></value><value name="GVALUE"><shadow type="math_number" id="sR;Fa2@=7yrMM|[uo$gw"><field name="NUM">0</field></shadow><block type="variables_get" id="bc!.0#{xOBm?j:n3XMc:"><field name="VAR">RGB亮度</field></block></value><value name="BVALUE"><shadow type="math_number" id="}}FSET[13~.9S8HXYib7"><field name="NUM">0</field></shadow><block type="variables_get" id="+yKcd+Eg;kBq~zl*qWp:"><field name="VAR">RGB亮度</field></block></value><next><block type="actuator_onboard_neopixel_write" id="gV/4dxJ0=woL/qE=BtG7"><next><block type="variables_set" id="Xvtd7aK}l*`1nM+dpi1q"><field name="VAR">当前亮度</field><value name="VALUE"><block type="sensor_mixgo_nova_LTR308" id="Zvrstc-@2(^~kM|YXuWv"><field name="direction">l</field></block></value><next><block type="system_print" id="H(AgV6l9|h~iz)a|@w)j"><value name="VAR"><shadow type="text" id="O)R6z/yHNYpLp~op7v0z"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="_9b9wiivwyoXy0)Is(0o"><field name="VAR">当前亮度</field></block></value><next><block type="controls_if" id="Nz(ivDeHu[k(;`*Di3N4"><mutation elseif="1" else="1"></mutation><value name="IF0"><block type="logic_compare" id="rGiS9MQ-n_0f,{rHlRdk"><field name="OP">LT</field><value name="A"><block type="variables_get" id=".g1G~9Kw/v(rQ:gUn1cz"><field name="VAR">当前亮度</field></block></value><value name="B"><block type="variables_get" id="/WozB|ZZQ/yuWFCs2w.e"><field name="VAR">亮度目标</field></block></value></block></value><statement name="DO0"><block type="math_selfcalcu" id="y-9px=MhF.#-8C8JFeXE"><field name="OP">ADD</field><value name="A"><shadow type="variables_get" id="g-PuU($Vb@FF=i)Gd0N0"><field name="VAR">a</field></shadow><block type="variables_get" id="GxH,|?DvQ;LJKwZ1))@B"><field name="VAR">RGB亮度</field></block></value><value name="B"><shadow type="math_number" id="hwx!ZcJ}D=B*rskC$W-s"><field name="NUM">1</field></shadow></value></block></statement><value name="IF1"><block type="logic_compare" id="rf1yC^U)PJoF0hJ+2.}t"><field name="OP">GT</field><value name="A"><block type="variables_get" id="9}-?mu9=iqp5(cbFSKC^"><field name="VAR">当前亮度</field></block></value><value name="B"><block type="variables_get" id="V@FJ6t^ChpjQ!p|Sx=vU"><field name="VAR">亮度目标</field></block></value></block></value><statement name="DO1"><block type="math_selfcalcu" id="-3^!B}av$!LtnP,F=,oR"><field name="OP">MINUS</field><value name="A"><shadow type="variables_get" id="l)SD9t0;W}c,0{ss^jb0"><field name="VAR">a</field></shadow><block type="variables_get" id="d=XWyhhfgj`qKUGveY,R"><field name="VAR">RGB亮度</field></block></value><value name="B"><shadow type="math_number" id="X=4!bZ;RxiJMI{XvGDc]"><field name="NUM">1</field></shadow></value></block></statement><next><block type="controls_delay_new" id=")`Q~{(^vFyxvYo6jcAch"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id=":20_h6=L#H-j:g9ed7BP"><field name="NUM">0.1</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX2wKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgrkuq7luqbnm67moIcgPSA0MApSR0Lkuq7luqYgPSAwCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3JnYi5maWxsKChSR0Lkuq7luqYsIFJHQuS6ruW6piwgUkdC5Lqu5bqmKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIOW9k+WJjeS6ruW6piA9IG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpCiAgICBwcmludCjlvZPliY3kuq7luqYpCiAgICBpZiDlvZPliY3kuq7luqYgPCDkuq7luqbnm67moIc6CiAgICAgICAgUkdC5Lqu5bqmICs9IDEKICAgIGVsaWYg5b2T5YmN5Lqu5bqmID4g5Lqu5bqm55uu5qCHOgogICAgICAgIFJHQuS6ruW6piAtPSAxCiAgICBlbHNlOgogICAgICAgIHBhc3MKICAgIHRpbWUuc2xlZXAoMC4xKQo=</code>>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="tX7n|3c.1A+t2l]$8}dR" x="-2112" y="-573"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="/3-SR=RrHwDwTn}/BTg)"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="actuator_led_bright" id="$v/z_`FbD5H[/8B!=`D4"><value name="led"><shadow type="number" id="uz}0n[L_BvfDL#h|lDXB"><field name="op">2</field></shadow></value><value name="bright"><shadow type="ledswitch" id="jQD$K=nZVhI_r]j]x5ge"><field name="flag">1</field></shadow></value><next><block type="do_while" id=".1t_0MB#`fqcK=;/1yD?"><field name="type">true</field><value name="select_data"><block type="sensor_mixgo_button_is_pressed" id="Mc!~r*=l_Q^}nOws`Jw$"><value name="btn"><shadow type="pins_button" id="nM|i/7?~$XP@Wcrag{uB"><field name="PIN">B1key</field></shadow></value></block></value><next><block type="actuator_led_bright" id="x/:WYT.cN6ratE}Q1)Q]"><value name="led"><shadow type="number" id="-}5Z!*ZOfxJ9Ty{wA/b$"><field name="op">2</field></shadow></value><value name="bright"><shadow type="ledswitch" id="^r8Y4P-t_m7pf$3.FfaT"><field name="flag">0</field></shadow></value><next><block type="controls_delay_new" id="r]EcrJ?#z8RA5wEdLojT"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="v[1=u]zBtFx.YldKHSmW"><field name="NUM">1</field></shadow></value></block></next></block></next></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICB0aW1lLnNsZWVwKDEpCg==</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="variables_set" id="cxi3i.O@UrweG/+V)v5?" x="-1808" y="-548"><field name="VAR">亮灯时刻</field><value name="VALUE"><block type="math_number" id="#9AH;7$@FQ0/{(*cB8-g"><field name="NUM">0</field></block></value><next><block type="variables_set" id="C.HALW$81p8TZC92b:+4"><field name="VAR">按下时刻</field><value name="VALUE"><block type="math_number" id="nC(8:;ngVd$QaJcg@.Sk"><field name="NUM">0</field></block></value><next><block type="controls_whileUntil" id="AN)}U6G!fU|SPgIiR)Z+"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="L_hV$p8#k10/9i-^*=c]"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="actuator_led_bright" id="HH7wE1L{7O{Z?eg:#ytE"><value name="led"><shadow type="number" id="CAHGV|[4*4a:4o20:rU]"><field name="op">2</field></shadow></value><value name="bright"><shadow type="ledswitch" id="/T4$h4}Pk#ZFzZTu2]#J"><field name="flag">1</field></shadow></value><next><block type="variables_set" id="D)FWY6;D#KH8@cXN)!r@"><field name="VAR">亮灯时刻</field><value name="VALUE"><block type="controls_millis" id="!f]Z5pm{^t|AyEV#[5y1"><field name="Time">ms</field></block></value><next><block type="do_while" id="oh2JDM{H4Yy[rz~SgAgC"><field name="type">true</field><value name="select_data"><block type="sensor_mixgo_button_is_pressed" id="L,2lC=xn-[kG3`.C7JS8"><value name="btn"><shadow type="pins_button" id="le2)8SF#?6!?4+dI`T1j"><field name="PIN">B1key</field></shadow></value></block></value><next><block type="actuator_led_bright" id="P-2J=u.P~c}Dd}t4?3XW"><value name="led"><shadow type="number" id="gDf|P$XlVjFy9f4+mer-"><field name="op">2</field></shadow></value><value name="bright"><shadow type="ledswitch" id="`!1aO;$kT|D#7yIy7hO$"><field name="flag">0</field></shadow></value><next><block type="variables_set" id="IY8sLb/uh/@qiR7}~kt)"><field name="VAR">按下时刻</field><value name="VALUE"><block type="controls_millis" id="UhyDKM1S18E+MA#_Y[xY"><field name="Time">ms</field></block></value><next><block type="controls_delay_new" id="M/T$L;XTEPga1^tSTL^/"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="U=.r4wU~}p!gKCVh(PQg"><field name="NUM">1</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fc2FudAoKCuS6rueBr+aXtuWIuyA9IDAK5oyJ5LiL5pe25Yi7ID0gMAp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAg5Lqu54Gv5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIHRpbWUuc2xlZXAoMSkK</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="variables_set" id="R*,$o2*OX0YUh.R[R-ju" x="-1645" y="-513"><field name="VAR">亮灯时刻</field><value name="VALUE"><block type="math_number" id="FRjXul~Z]e6zpr/b^Hs0"><field name="NUM">0</field></block></value><next><block type="variables_set" id=",83:GC`JA2r)JHO[R+ey"><field name="VAR">按下时刻</field><value name="VALUE"><block type="math_number" id="faVVD5uE5{]9`c]?UDr}"><field name="NUM">0</field></block></value><next><block type="controls_whileUntil" id="PIz|-btAQZU7Va#0dloj"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="a38IHWFPRhlV-YNymuv!"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="actuator_led_bright" id="Z+6*LOLHD6w.7Ka$rJ@y"><value name="led"><shadow type="number" id="w=ra}Z:.g|y`vZ7n2-!Z"><field name="op">2</field></shadow></value><value name="bright"><shadow type="ledswitch" id="tp:v9dl*39jVE}b|#i)v"><field name="flag">1</field></shadow></value><next><block type="variables_set" id=")N0xAz~z0J0Y4*,e1X|a"><field name="VAR">亮灯时刻</field><value name="VALUE"><block type="controls_millis" id="x^~u,ZrmlhbT2Itkgk)L"><field name="Time">ms</field></block></value><next><block type="do_while" id="jx/XTvxvN8x3{D|6gLD^"><field name="type">true</field><value name="select_data"><block type="sensor_mixgo_button_is_pressed" id="{xbX2i:@t2+05s:s8I08"><value name="btn"><shadow type="pins_button" id="YxNXEqC2Ng_AbrqiT@7q"><field name="PIN">B1key</field></shadow></value></block></value><next><block type="actuator_led_bright" id="PPz}:3Y;AW|nBlBW*Jw-"><value name="led"><shadow type="number" id="eggAa9|PC^{p6wVk7;(?"><field name="op">2</field></shadow></value><value name="bright"><shadow type="ledswitch" id="m#4@1S}Y1pCD}8CIftwc"><field name="flag">0</field></shadow></value><next><block type="variables_set" id="/L5zBHti8M$y`MD-VaEg"><field name="VAR">按下时刻</field><value name="VALUE"><block type="controls_millis" id="s]C6vD1TAq;1j`an7l9["><field name="Time">ms</field></block></value><next><block type="display_show_image_or_string_delay" id="9z@~`^+`@c$p!i5,`h-x"><field name="center">True</field><value name="data"><shadow type="text" id="oIT^@Mbu^;Ah@?)N^g~8"><field name="TEXT">Mixly</field></shadow><block type="number_to_text" id="]olbmw#vvasJD;+-[A6H"><value name="VAR"><shadow type="variables_get" id="k|OwJ|5~P|in(uxd$=pJ"><field name="VAR">x</field></shadow><block type="math_arithmetic" id="pG9ylYapPr!SE~u7fnY$"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id="rla2KaQ$s[[)u]yx.R:("><field name="NUM">1</field></shadow><block type="variables_get" id="jQ1F6WOV1-bftihtXvsO"><field name="VAR">按下时刻</field></block></value><value name="B"><shadow type="math_number" id="V2*Ms@wtly~z#mX-nZ@!"><field name="NUM">1</field></shadow><block type="variables_get" id="J:oHLyIT,^n.=XU40R_2"><field name="VAR">亮灯时刻</field></block></value></block></value></block></value><value name="space"><shadow type="math_number" id="MS*`C+:oXxKfb#0y{`[p"><field name="NUM">0</field></shadow></value><next><block type="controls_delay_new" id="#{m}IdGUWSC)1pN#MmD`"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id=",d,P+YN-YGNta!}CO_gj"><field name="NUM">1</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgoK5Lqu54Gv5pe25Yi7ID0gMArmjInkuIvml7bliLsgPSAwCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICDkuq7nga/ml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgYnJlYWsKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKICAgIOaMieS4i+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKCjmjInkuIvml7bliLsgLSDkuq7nga/ml7bliLspKSwgc3BhY2U9MCwgY2VudGVyPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCg==</code>uc2hvd3Moc3RyKChfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTRfQkFfQUVfRTdfODFfQUZfRTZfOTdfQjZfRTVfODhfQkIpKSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="variables_set" id="hl.{|##QyCannq?e/w#p" x="-1787" y="-538"><field name="VAR">亮灯时刻</field><value name="VALUE"><block type="math_number" id="bAA:*,Uayiok@*b]HrJ;"><field name="NUM">0</field></block></value><next><block type="variables_set" id="b)`Lr~NCfnJwa}lodrhn"><field name="VAR">按下时刻</field><value name="VALUE"><block type="math_number" id="H0^Rzo83$dW=p,p0:-LG"><field name="NUM">0</field></block></value><next><block type="controls_whileUntil" id="8xfqQ*h$pDn_1K~jN-R3"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="`DFZVe$1dce6mg#0L{q`"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_delay_new" id="EH+[9r,xcg7c1LT5w=zc"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="38X7*K1.3~WX_*X^tbCa"><field name="NUM">1</field></shadow><block type="math_random" id="BRaWj`rg(^99ZHibz?e-"><field name="TYPE">float</field><value name="FROM"><shadow type="math_number" id=".,LRA7re;8oX@`I?W2ZR"><field name="NUM">1</field></shadow></value><value name="TO"><shadow type="math_number" id="r2LkG`G|i+D6C*BJ`?ud"><field name="NUM">2</field></shadow></value></block></value><next><block type="actuator_led_bright" id="bR$1sF~[k-sc_Q//_;.]"><value name="led"><shadow type="number" id="MQ(3vfq)9aXQJ-wZl*7R"><field name="op">2</field></shadow></value><value name="bright"><shadow type="ledswitch" id=",=Vv)0A,VYvhHEXu,sY|"><field name="flag">1</field></shadow></value><next><block type="variables_set" id="zAn3|Q]:Sno!NTc_$VeF"><field name="VAR">亮灯时刻</field><value name="VALUE"><block type="controls_millis" id="B|75Kky^w:pd:05+`P=x"><field name="Time">ms</field></block></value><next><block type="do_while" id="#v=_-pfyyag*[^u?Gvs{"><field name="type">true</field><value name="select_data"><block type="sensor_mixgo_button_is_pressed" id="tBf[wS-C#!iC.(`2nopx"><value name="btn"><shadow type="pins_button" id=",,3ld~4(t9J#D~wjfUZ3"><field name="PIN">B1key</field></shadow></value></block></value><next><block type="actuator_led_bright" id="KooBl/^VhHF=$)JnqBEl"><value name="led"><shadow type="number" id="=i8xp?O:jp8z|/Rba3lh"><field name="op">2</field></shadow></value><value name="bright"><shadow type="ledswitch" id="ujyS1$h4J*J#f$_ubKJ8"><field name="flag">0</field></shadow></value><next><block type="variables_set" id="0*`P7b*SUEv=z[G@a[1J"><field name="VAR">按下时刻</field><value name="VALUE"><block type="controls_millis" id="H2}[S*pyMq7t@4odKNlq"><field name="Time">ms</field></block></value><next><block type="display_show_image_or_string_delay" id="!+gEx*YK}rPoITg]3)YA"><field name="center">True</field><value name="data"><shadow type="text" id="sfy8/]nRQ-p(gN+{hXn5"><field name="TEXT">Mixly</field></shadow><block type="math_arithmetic" id="vyUUI)a?2E6?Rxj|:c=q"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id="nC3ChJWLK-[ilI7ocCx-"><field name="NUM">1</field></shadow><block type="variables_get" id="G7`2^^Du;T,@L$#)oGV}"><field name="VAR">按下时刻</field></block></value><value name="B"><shadow type="math_number" id="wjuq;ybC^.wwSd[HhB.L"><field name="NUM">1</field></shadow><block type="variables_get" id="kE{Ft*=@8;!kg7FRtz(q"><field name="VAR">亮灯时刻</field></block></value></block></value><value name="space"><shadow type="math_number" id=")upH#@7BBcVO45FEHaL]"><field name="NUM">0</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id=":HepRkBeu@B$7A|q;qzw"><field name="BOOL">TRUE</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></xml><config>{}</config><code>aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCuS6rueBr+aXtuWIuyA9IDAK5oyJ5LiL5pe25Yi7ID0gMAp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAg5Lqu54Gv5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo=</code>fODFfQUZfRTZfOTdfQjZfRTVfODhfQkIpKSkK</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="variables_set" id="8w.=n:yu0iH({x@H#Gp/" x="-2000" y="-625"><field name="VAR">亮灯时刻</field><value name="VALUE"><block type="math_number" id="su}+mz3ccDOC~XfAv~B="><field name="NUM">0</field></block></value><next><block type="variables_set" id="@2VRaWx@@qR(XDJjA*J-"><field name="VAR">按下时刻</field><value name="VALUE"><block type="math_number" id="`}e7sQ?S9`i}OzF31x=6"><field name="NUM">0</field></block></value><next><block type="variables_set" id="(EK9*,MDWxg#!42~7iYf"><field name="VAR">亮灯编号</field><value name="VALUE"><block type="math_number" id=".mYV7x0d-?u;Eh}IKFx4"><field name="NUM">0</field></block></value><next><block type="controls_whileUntil" id=";x|S;=(UCd(0#58GAkq`"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="LzQboOBnxnnUZGXuaM=z"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="variables_set" id="0~x:05X5Zc_uJ$:i/b9b"><field name="VAR">亮灯编号</field><value name="VALUE"><block type="math_random" id="H~sytfd*k@*v)qU4A}2t"><field name="TYPE">int</field><value name="FROM"><shadow type="math_number" id="WMTx(.W0U//C2Cu(s*|("><field name="NUM">1</field></shadow></value><value name="TO"><shadow type="math_number" id="L_,{Nu3_n]#fBs942W_w"><field name="NUM">2</field></shadow></value></block></value><next><block type="controls_delay_new" id="e?BUKIv_qyyT=}n8r(dm"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="Ur3=*P6ZWr2Uj{`|LJlQ"><field name="NUM">1</field></shadow><block type="math_random" id="Y9FJdysWZW`7-bqAEW^t"><field name="TYPE">float</field><value name="FROM"><shadow type="math_number" id="nW{?QS{6cvO_9HBkv]D;"><field name="NUM">1</field></shadow></value><value name="TO"><shadow type="math_number" id="_y:MW9GmaM,bM]yyvi`Y"><field name="NUM">2</field></shadow></value></block></value><next><block type="actuator_led_bright" id="r:}N@,rzR^YWD|Up:vu;"><value name="led"><shadow type="number" id="_*5;X+#Pb0l/0zp@O3jT"><field name="op">1</field></shadow><block type="variables_get" id="?ZOXoosjnMHx^EO[`6)p"><field name="VAR">亮灯编号</field></block></value><value name="bright"><shadow type="ledswitch" id="rfoU$Yi9U^RE)Zvx~G[="><field name="flag">1</field></shadow></value><next><block type="variables_set" id="y3GKXoixsTK!sc7c.1/H"><field name="VAR">亮灯时刻</field><value name="VALUE"><block type="controls_millis" id="*NgwP}5=?Qr+[v{Dh{#*"><field name="Time">ms</field></block></value><next><block type="controls_delay_new" id="vkvu_NZ6lU*(*n3:n*PB"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="PX~.$m;x[$mHJy_kjkJT"><field name="NUM">1</field></shadow></value><next><block type="actuator_led_bright" id="[wyH,av$|vo3$wEIMJLH"><value name="led"><shadow type="number" id="_*5;X+#Pb0l/0zp@O3jT"><field name="op">1</field></shadow><block type="variables_get" id="i`2k[a+ez:;r9eJN`{qr"><field name="VAR">亮灯编号</field></block></value><value name="bright"><shadow type="ledswitch" id="TVF}RpeEb(4@_^Fm^D:P"><field name="flag">0</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></xml><config>{}</config><code>aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCgoK5Lqu54Gv5pe25Yi7ID0gMArmjInkuIvml7bliLsgPSAwCuS6rueBr+e8luWPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIOS6rueBr+e8luWPtyA9IHJhbmRvbS5yYW5kaW50KDEsIDIpCiAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgxLCAyKSkpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZijkuq7nga/nvJblj7csMSkKICAgIOS6rueBr+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgdGltZS5zbGVlcCgxKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYo5Lqu54Gv57yW5Y+3LDApCg==</code>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="ft=Vq0(0CCngaWogssjS" x="-1405" y="-729"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="*dNmezeEs(^6thRVFw}-"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="system_print" id="I]2S#r7r_*iDi}8fIL`4"><value name="VAR"><shadow type="text" id="$waXA.6Nu|odi_zEu439"><field name="TEXT">Mixly</field></shadow><block type="sensor_get_acceleration" id="6f5:?JzNTnp67P,Bq,r0"><field name="key"></field></block></value><next><block type="controls_delay_new" id="fw#:04O(;H$#^IVqeQz#"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id=".a2:f]+2Y0=lU~YcsRd="><field name="NUM">0.1</field></shadow></value></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKSkKICAgIHRpbWUuc2xlZXAoMC4xKQo=</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="HCp2@ye1s~X_b6xTnJm6" x="-1895" y="-1135"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="zClYRQio#D,|=a:mk/8,"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_forEach" id="aY4YSdRlVkI1xM0?NTLX"><value name="LIST"><shadow type="list_many_input" id="d!kRiK#rYY1@B?CuNE*2"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id=":mNr.Y^b+sAXhU]qZlLl"><value name="FROM"><shadow type="math_number" id="dO!8})3wr}h:N1H.{8T1"><field name="NUM">0</field></shadow></value><value name="TO"><shadow type="math_number" id="|W{y,iYZL+gY16v[tHrV"><field name="NUM">12</field></shadow></value><value name="STEP"><shadow type="math_number" id="5@0E!xaDS{};!Hv8/Hn="><field name="NUM">1</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="r}WOU5vR/;W8pF;4L$ky"><field name="VAR">x</field></shadow></value><statement name="DO"><block type="controls_delay_new" id="ios}E-Nbv|(23Q^=V{0*"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="#ZwCh8j?hI*7lY;ZqR6V"><field name="NUM">0.1</field></shadow></value><next><block type="display_clear" id="AvPq6?C^_[|_C9W(x3;j"><value name="boolean"><shadow type="logic_boolean" id="nEE!xe25y}=7r?{_!`-N"><field name="BOOL">FALSE</field></shadow></value><next><block type="onboard_tft_display_shape_rect" id="IVOlc~M:S:lYAw9,^d-)"><field name="shape">fill_rect</field><value name="x"><shadow type="math_number" id="+m?Ul(oFD}5MgNsD;ntM"><field name="NUM">20</field></shadow><block type="math_arithmetic" id="WB]$IL(/wpW`Ihh}.GFS"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="qq,+pmlvi=iVHK[`ddB;"><field name="NUM">10</field></shadow><block type="variables_get" id="a$Ext^V#fcimbHw~l6:!"><field name="VAR">x</field></block></value><value name="B"><shadow type="math_number" id="jMO1U|cN`/^|nttQARGT"><field name="NUM">20</field></shadow></value></block></value><value name="y"><shadow type="math_number" id="2jQ;GR=)kdQ]QQ@XABQ-"><field name="NUM">120</field></shadow></value><value name="w"><shadow type="math_number" id="Q(72IuUn024SlNb}E_+5"><field name="NUM">20</field></shadow></value><value name="h"><shadow type="math_number" id="4.u;)nBl$Ie0CU)e+gh!"><field name="NUM">15</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="6myn!f.e#]5l66Y:$8`Y"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="+z:$~3V).JT1sh2TcxH)"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="DN$73xcsx4)IVYfIh#S-"><field name="BOOL">TRUE</field></shadow></value></block></next></block></next></block></statement></block></statement></block></xml><config>{}</config><code>aW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKd2hpbGUgVHJ1ZToKICAgIGZvciB4IGluIHJhbmdlKDAsIDEyLCAxKToKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKHggKiAyMCksIDEyMCwgMjAsIDE1LCAweGZmZmYsc3luYz1UcnVlKQo=</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="variables_set" id="OdOM7ZN8*|h)#Xfc3~G9" x="-1644" y="-960"><field name="VAR">x</field><value name="VALUE"><block type="math_number" id="U(7[[SzMu+)1l4Ob6*yR"><field name="NUM">6</field></block></value><next><block type="controls_whileUntil" id=";ZcO=*},x!u{c]y,_Azm"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="j4+Xqj-?2HTtoBvk5r3)"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="(gjUqq=@l^$$cRb{E3d~"><value name="IF0"><block type="logic_compare" id="o4-Hxu?e`v-^D[9D{#^r"><field name="OP">LT</field><value name="A"><block type="sensor_get_acceleration" id="$gxdE5YiY1BUp?XPOEfE"><field name="key">[0]</field></block></value><value name="B"><block type="math_number" id="3s2pwMN+OKBJFZ@L;Az|"><field name="NUM">-0.01</field></block></value></block></value><statement name="DO0"><block type="math_selfcalcu" id="/Vw7=jRXF5^oVI41IlcM"><field name="OP">MINUS</field><value name="A"><shadow type="variables_get" id="#yB0Z-AqFk*JTx-w}68H"><field name="VAR">x</field></shadow></value><value name="B"><shadow type="math_number" id="o)@66Jxt5$O-hW6L2@O,"><field name="NUM">1</field></shadow></value></block></statement><next><block type="controls_if" id="|?9*yvr]t5e`$0i$h$@7"><value name="IF0"><block type="logic_compare" id="q/JBWo`9MktFv`}|4u}c"><field name="OP">GT</field><value name="A"><block type="sensor_get_acceleration" id="vna`]r:@}J9ga]K$l!R~"><field name="key">[0]</field></block></value><value name="B"><block type="math_number" id="wn[`+RyylD_i$2q6vlFN"><field name="NUM">0.01</field></block></value></block></value><statement name="DO0"><block type="math_selfcalcu" id="WFR1M(_d*wV;Pyv!*G#-"><field name="OP">ADD</field><value name="A"><shadow type="variables_get" id="et_48f)(hGg*e{SP/yVu"><field name="VAR">x</field></shadow></value><value name="B"><shadow type="math_number" id="Gzb15bPFfzBvL8AA}InG"><field name="NUM">1</field></shadow></value></block></statement><next><block type="display_clear" id=":+Qw`dzn.-{PeR0rmk*5"><value name="boolean"><shadow type="logic_boolean" id="?Vj.5[BdGHllMK3g_fQ-"><field name="BOOL">FALSE</field></shadow></value><next><block type="onboard_tft_display_shape_rect" id="1I/:T?Q(K,zcnSvFJa$d"><field name="shape">fill_rect</field><value name="x"><shadow type="math_number" id="Rl3DIaRwgBi1$|67LPQ*"><field name="NUM">20</field></shadow><block type="math_arithmetic" id="l#]57x]f_hamt15;X}XN"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="WxBoz@Ci,=Fzau^o1oN."><field name="NUM">1</field></shadow><block type="variables_get" id="+kK.DHf]BltIwa}~E6^)"><field name="VAR">x</field></block></value><value name="B"><shadow type="math_number" id="6qfa`{SvmMAH@Q?(N#ya"><field name="NUM">20</field></shadow></value></block></value><value name="y"><shadow type="math_number" id="O4hI54|Nk1Aujbce!HLd"><field name="NUM">120</field></shadow></value><value name="w"><shadow type="math_number" id="1R0|C6$|7Xs*OrMs-@$0"><field name="NUM">20</field></shadow></value><value name="h"><shadow type="math_number" id=":^CUU3v#?K{FN)!:fh8T"><field name="NUM">15</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="L=k5SLZ6iM#jC?cg^g2}"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="=+~Ji(UzyqTt-09Ag6Yf"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="AR$.g4B/T)C2Id6my/cR"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id="8cAi~t!f@@,T1k+~W?Zr"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="qsr1hReY2ztFCjxu0PwY"><field name="NUM">0.1</field></shadow></value></block></next></block></next></block></next></block></next></block></statement></block></next></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgp4ID0gNgp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAtMC4wMToKICAgICAgICB4IC09IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4wMToKICAgICAgICB4ICs9IDEKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCh4ICogMjApLCAxMjAsIDIwLCAxNSwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC4xKQo=</code>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="CREATE_CAMERA" id="?$Jy$C.}Hc|}T1-n,vxj" x="-1228" y="-731"><field name="cmd">R240X240</field><value name="HM"><shadow type="yesorno" id="NyJ;I)0tn;US+NtI)Ch4"><field name="state">False</field></shadow></value><value name="VF"><shadow type="yesorno" id="f34#|v^/Z4l*c`KH75xj"><field name="state">False</field></shadow></value><next><block type="controls_whileUntil" id="CqMYnQpYI|CcM`X=qY)1"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="?td]c~.*mYp.yIF|k487"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="variables_set" id="sM7pG*0};H)XFCMjnF#3"><field name="VAR">image</field><value name="VALUE"><block type="GET_PICTURE_DATA_EXACT" id="/c#IA$pW^;MS=}(;u(?-"></block></value><next><block type="SCREEN_SHOW_CAM_GRAPH_SHOOT" id="(oERsTjD;;woUZ-`|;IU"><value name="SUB"><shadow type="variables_get" id="eQz/5C4Qd:{,yt)w3y5U"><field name="VAR">image</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="7d]NA[$(0xQN$r{pJ|ow"><field name="BOOL">TRUE</field></shadow></value></block></next></block></statement></block></next></block></xml><config>{"BurnSpeed":{"key":"921600","label":"921600"}}</config><code>ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz1UcnVlKQo=</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="CREATE_CAMERA" id="+/-VpLta(DM,3!na}MQ#" x="-1501" y="-1024"><field name="cmd">R240X240</field><value name="HM"><shadow type="yesorno" id="fJX0^c)h~srO$h6$tzlG"><field name="state">False</field></shadow></value><value name="VF"><shadow type="yesorno" id="y!Q[MC4PG1$^572XmzN2"><field name="state">False</field></shadow></value><next><block type="controls_whileUntil" id="a{h$=A`x!xL)!C(w)r]B"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="`}Kc:liMrwCb{`9JjC_R"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="variables_set" id="@#,g#_y|VUXq8E[(AN-1"><field name="VAR">image</field><value name="VALUE"><block type="GET_PICTURE_DATA_EXACT" id="WNr7X!l}kFZw$RD7$qQc"></block></value><next><block type="SCREEN_SHOW_CAM_GRAPH_SHOOT" id="t7*_B9JY)ZgZn?s_92LP"><value name="SUB"><shadow type="variables_get" id="jUT:=0#=~_}{M/g*$YZR"><field name="VAR">image</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="lo]ZdP@3y+hw=qgIj6Ed"><field name="BOOL">FALSE</field></shadow></value><next><block type="variables_set" id="JyEC5|}AP;5?PRerB(ID"><field name="VAR">image</field><value name="VALUE"><block type="GET_SCREEN_IMAGE_SIZE" id="npR=wh{o[1ij/uQ*Ir#O"><value name="x"><shadow type="math_number" id="JFdT]nK##`z$67OegDUD"><field name="NUM">40</field></shadow></value><value name="y"><shadow type="math_number" id="LNV/Jv,sDv^li6!DSlby"><field name="NUM">40</field></shadow></value><value name="w"><shadow type="math_number" id="Q~K4TIMF;mkejgVvSKsH"><field name="NUM">80</field></shadow></value><value name="h"><shadow type="math_number" id="L}53x88XYp9Kia`@gbNS"><field name="NUM">80</field></shadow></value></block></value><next><block type="SCREEN_SHOW_CAM_GRAPH_SHOOT" id="wo`2v3,ZW6Y3j3@HkS1A"><value name="SUB"><shadow type="variables_get" id="qjJWr3fxl_?-2WAL+:KP"><field name="VAR">image</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="P]cg`/lPbp0CnnzTxH{l"><field name="BOOL">TRUE</field></shadow></value></block></next></block></next></block></next></block></statement></block></next></block></xml><config>{"BurnSpeed":{"key":"921600","label":"921600"}}</config><code>ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz1GYWxzZSkKICAgIGltYWdlID0gb25ib2FyZF90ZnQuc2NyZWVuc2hvdCh4PTQwLHk9NDAsdz04MCxoPTgwKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz1UcnVlKQo=</code>

View File

@@ -0,0 +1,2 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><comment id="US(ac`Y8_}=Qk`TSHv~z" x="-654.6447219848633" y="-887.7999877929688" w="172.1663055419922" h="100">可以通过板卡文件管理上传图片到板子
</comment><block type="SCREEN_DISPLAY_IMAGE" id="azEW0K3aVVj;QVOe#Us2" x="-1483" y="-1014"><field name="angle">0</field><value name="direct"><shadow type="text" id="^ZjllGAlJIo3yShP#gwN"><field name="TEXT">111.jpg</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="qIz?IsEAtitxX[-K7I#X"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_whileUntil" id="a{h$=A`x!xL)!C(w)r]B"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="`}Kc:liMrwCb{`9JjC_R"><field name="BOOL">TRUE</field></shadow></value></block></next></block></xml><config>{"BurnSpeed":{"key":"921600","label":"921600"}}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCm9uYm9hcmRfdGZ0LmRpc3BsYXkoJzExMS5qcGcnLHJvdGF0aW9uPTAsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgcGFzcwo=</code>

View File

@@ -0,0 +1,2 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><comment id="US(ac`Y8_}=Qk`TSHv~z" x="-654" y="-887" w="172.1663055419922" h="100">可以通过板卡文件管理上传图片到板子
</comment><block type="SCREEN_DISPLAY_IMAGE_LOCATION" id="haY1v7Mh}no?G:i{pBM7" x="-1513" y="-1157"><field name="angle">0</field><value name="direct"><shadow type="text" id="B]7[/+|/v?ZvJ2Q|-3Hh"><field name="TEXT">111.jpg</field></shadow></value><value name="x"><shadow type="math_number" id="7z7vF6Vd6ZN3UrfAJZE*"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="UJ9S*AGCo}}./xDhgINc"><field name="NUM">0</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="o@xkjFWfdpwL4gmS5|L)"><field name="BOOL">FALSE</field></shadow></value><next><block type="variables_set" id="Pn.Xk?xO1SRrIL3yqQPg"><field name="VAR">image</field><value name="VALUE"><block type="GET_SCREEN_IMAGE_SIZE" id="Cg$YL1w{XfL/JZ:VD2$("><value name="x"><shadow type="math_number" id="Tm[{.D4o.QstcM809Hp1"><field name="NUM">20</field></shadow></value><value name="y"><shadow type="math_number" id=",t9*Ezsj^JQE4(zT-7Uf"><field name="NUM">20</field></shadow></value><value name="w"><shadow type="math_number" id="Vdp4K#HtdNuJExc!$Dj4"><field name="NUM">200</field></shadow></value><value name="h"><shadow type="math_number" id="q.g^a[xC7T|^1irn0AB^"><field name="NUM">200</field></shadow></value></block></value><next><block type="SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION" id="VyxaH(hCu}u.boo@#(]}"><value name="SUB"><shadow type="variables_get" id="HgeZ5-kfCfI3VW@mYemz"><field name="VAR">image</field></shadow></value><value name="x"><shadow type="math_number" id=":Xy8F}!7ZJ}TgG+OJMeO"><field name="NUM">20</field></shadow></value><value name="y"><shadow type="math_number" id=":Q?.-vDLJ[M8hC;Sd,oO"><field name="NUM">20</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="ylEaZRaG]-AlRX:]R6|l"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_whileUntil" id="(Fr;Y)IW+zY]IPDbF{#L"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="4l_D{#Wkuem(*2?vAw6I"><field name="BOOL">TRUE</field></shadow></value></block></next></block></next></block></next></block></xml><config>{"BurnSpeed":{"key":"921600","label":"921600"}}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCm9uYm9hcmRfdGZ0LmRpc3BsYXkoJzExMS5qcGcnLHg9MCx5PTAscm90YXRpb249MCxzeW5jPUZhbHNlKQppbWFnZSA9IG9uYm9hcmRfdGZ0LnNjcmVlbnNob3QoeD0yMCx5PTIwLHc9MjAwLGg9MjAwKQpvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLHg9MjAseT0yMCwgc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgcGFzcwo=</code>

View File

@@ -0,0 +1,2 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><comment id="US(ac`Y8_}=Qk`TSHv~z" x="-941.2343199432323" y="-977.8827223410711" w="172.1663055419922" h="100">可以通过板卡文件管理上传图片到板子,有些图片格式不支持
</comment><block type="SCREEN_DISPLAY_IMAGE" id="MmE=|J{Zk_:u-xZ`1m.r" x="-1716" y="-1094"><field name="angle">0</field><value name="direct"><shadow type="text" id="aD~d4Iq#o~NvWAec.UWJ"><field name="TEXT">1.jpg</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="^n_!xVS:HRk(:i+}Oa2+"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_whileUntil" id="VW4Y~nn{:J9Hv?_@qX]i"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="Z`y2YO=.$2W8zwGrXZ/D"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id=";*(38=?k`Yyvqu05cAMt"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="r=/LWDxTzLH({{UpDdc,"><value name="btn"><shadow type="pins_button" id="iCB$=u-KlSes_klG!6D1"><field name="PIN">A1key</field></shadow></value></block></value><statement name="DO0"><block type="SCREEN_DISPLAY_IMAGE" id="*7!/fcX^I+yyBs]FPB5_"><field name="angle">90</field><value name="direct"><shadow type="text" id="b6[.r{m=_~fw:)3+jjx="><field name="TEXT">1.jpg</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id=":a8vLM|C1]9iu(]pvWWj"><field name="BOOL">TRUE</field></shadow></value></block></statement><next><block type="controls_if" id="3iui)O[X(m!8Mr??Ulet"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="C{.j(ab,AB37,-]NUFN!"><value name="btn"><shadow type="pins_button" id="fVJ!:G2TJO`6u9evwmHZ"><field name="PIN">A2key</field></shadow></value></block></value><statement name="DO0"><block type="SCREEN_DISPLAY_IMAGE" id="[Lz[Ii-Q9n3u{D?E}kgd"><field name="angle">180</field><value name="direct"><shadow type="text" id="{,dS4s]y4Xr*bhbrQ#qG"><field name="TEXT">1.jpg</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="1}:0kbq95zgbN@A|!RdU"><field name="BOOL">TRUE</field></shadow></value></block></statement><next><block type="controls_if" id="v-Hhd]:.;y0F;4?uS|)s"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="Da`kA$AeUJ}.:6A#n#)."><value name="btn"><shadow type="pins_button" id="Ru_4tm{nSkY1WUo`M*th"><field name="PIN">A3key</field></shadow></value></block></value><statement name="DO0"><block type="SCREEN_DISPLAY_IMAGE" id="J1BEqpM$l=#0^7D@rrk@"><field name="angle">270</field><value name="direct"><shadow type="text" id="o4te3K:|zz0Rd?+$0{2i"><field name="TEXT">1.jpg</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="BNb$WEEW2UM40Hz?Hoy#"><field name="BOOL">TRUE</field></shadow></value></block></statement><next><block type="controls_if" id="QaO.O^Dqxsh}p)1oQy{m"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="`J`fb|AlTG?FG(Qyp$B{"><value name="btn"><shadow type="pins_button" id="K`,KzDArX7Bo|r|~M~-u"><field name="PIN">A4key</field></shadow></value></block></value><statement name="DO0"><block type="SCREEN_DISPLAY_IMAGE" id="`yQ}5oPQ,j;p~#B1XpnN"><field name="angle">0</field><value name="direct"><shadow type="text" id="F,}EcVxoD0/~QNp}i`4c"><field name="TEXT">1.jpg</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="JE3}*(rgLHT_J!TsSvEz"><field name="BOOL">TRUE</field></shadow></value></block></statement></block></next></block></next></block></next></block></statement></block></next></block></xml><config>{"BurnSpeed":{"key":"921600","label":"921600"}}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCm9uYm9hcmRfdGZ0LmRpc3BsYXkoJzEuanBnJyxyb3RhdGlvbj0wLHN5bmM9VHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KCcxLmpwZycscm90YXRpb249OTAsc3luYz1UcnVlKQogICAgaWYgbWl4Z29fc2FudC5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoJzEuanBnJyxyb3RhdGlvbj0xODAsc3luYz1UcnVlKQogICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoJzEuanBnJyxyb3RhdGlvbj0yNzAsc3luYz1UcnVlKQogICAgaWYgbWl4Z29fc2FudC5BNGtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoJzEuanBnJyxyb3RhdGlvbj0wLHN5bmM9VHJ1ZSkK</code>

View File

@@ -0,0 +1,2 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><comment id="US(ac`Y8_}=Qk`TSHv~z" x="-1191.4423899858448" y="-939.7343948292935" w="172.1663055419922" h="100">可以通过板卡文件管理上传图片到板子,有些图片格式不支持
</comment><block type="variables_set" id="$(A.$`_A)xsLruZUz{4U" x="-1686" y="-1190"><field name="VAR">x</field><value name="VALUE"><block type="math_number" id="6**~oJ6VR:WIe.,I50m7"><field name="NUM">0</field></block></value><next><block type="variables_set" id="yl^`EZ!4;Y8O?,_8z1U("><field name="VAR">y</field><value name="VALUE"><block type="math_number" id="_0L#V3zOT1KL9JVF,cP]"><field name="NUM">0</field></block></value><next><block type="controls_whileUntil" id="VW4Y~nn{:J9Hv?_@qX]i"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="Z`y2YO=.$2W8zwGrXZ/D"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="SCREEN_DISPLAY_IMAGE_LOCATION" id="RE#+6-`GFmr*6lGC8HO-"><field name="angle">0</field><value name="direct"><shadow type="text" id="?f;ag.qHF$p=|L/zwq0:"><field name="TEXT">1.jpg</field></shadow></value><value name="x"><shadow type="math_number" id=",7PF|}zjK/w;!KUD8wIG"><field name="NUM">0</field></shadow><block type="variables_get" id="V~F6mHVV{,U0|}s~_0@M"><field name="VAR">x</field></block></value><value name="y"><shadow type="math_number" id="QvpZ1(t2j?$qffi0ufX-"><field name="NUM">0</field></shadow><block type="variables_get" id="ps]qrPHwPc#W)_MvI+`6"><field name="VAR">y</field></block></value><value name="boolean"><shadow type="logic_boolean" id="9|wr2g{G8Y`!!;i6V5C;"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_if" id=";*(38=?k`Yyvqu05cAMt"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="r=/LWDxTzLH({{UpDdc,"><value name="btn"><shadow type="pins_button" id="iCB$=u-KlSes_klG!6D1"><field name="PIN">A1key</field></shadow></value></block></value><statement name="DO0"><block type="math_selfcalcu" id="D.~~`FxO~2)BupEBynWN"><field name="OP">ADD</field><value name="A"><shadow type="variables_get" id="Iw9+[B/4Q=h=g/5JWB)I"><field name="VAR">y</field></shadow></value><value name="B"><shadow type="math_number" id="X*(}u[X4(pZdrm/kwh8T"><field name="NUM">10</field></shadow></value></block></statement><next><block type="controls_if" id="3iui)O[X(m!8Mr??Ulet"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="C{.j(ab,AB37,-]NUFN!"><value name="btn"><shadow type="pins_button" id="fVJ!:G2TJO`6u9evwmHZ"><field name="PIN">A2key</field></shadow></value></block></value><statement name="DO0"><block type="math_selfcalcu" id="8plkGH@}+ruEnP}-{0ZV"><field name="OP">MINUS</field><value name="A"><shadow type="variables_get" id="hwrZ9au!5!Hl6#kPr!qN"><field name="VAR">x</field></shadow></value><value name="B"><shadow type="math_number" id="XnF?{-(]K+GtH}dHVVx?"><field name="NUM">10</field></shadow></value></block></statement><next><block type="controls_if" id="v-Hhd]:.;y0F;4?uS|)s"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="Da`kA$AeUJ}.:6A#n#)."><value name="btn"><shadow type="pins_button" id="Ru_4tm{nSkY1WUo`M*th"><field name="PIN">A3key</field></shadow></value></block></value><statement name="DO0"><block type="math_selfcalcu" id="hYForH(?4=!UD/N;0IzL"><field name="OP">MINUS</field><value name="A"><shadow type="variables_get" id="3,KxW[YO2Xu@1,,)b_lH"><field name="VAR">y</field></shadow></value><value name="B"><shadow type="math_number" id="XE8IS/J8z]~ue)p;TNq#"><field name="NUM">10</field></shadow></value></block></statement><next><block type="controls_if" id="QaO.O^Dqxsh}p)1oQy{m"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="`J`fb|AlTG?FG(Qyp$B{"><value name="btn"><shadow type="pins_button" id="K`,KzDArX7Bo|r|~M~-u"><field name="PIN">A4key</field></shadow></value></block></value><statement name="DO0"><block type="math_selfcalcu" id="@8UF0{302cIV[Va`0S-X"><field name="OP">ADD</field><value name="A"><shadow type="variables_get" id="+aes)l[43CwgU*3i.w?1"><field name="VAR">x</field></shadow></value><value name="B"><shadow type="math_number" id=",x62pcn*@S!vzkE$z6WI"><field name="NUM">10</field></shadow></value></block></statement></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></xml><config>{"BurnSpeed":{"key":"921600","label":"921600"}}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCnggPSAwCnkgPSAwCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KCcxLmpwZycseD14LHk9eSxyb3RhdGlvbj0wLHN5bmM9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICB5ICs9IDEwCiAgICBpZiBtaXhnb19zYW50LkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgeCAtPSAxMAogICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHkgLT0gMTAKICAgIGlmIG1peGdvX3NhbnQuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICB4ICs9IDEwCg==</code>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="CREATE_CAMERA" id="DWv7G^2Oav:RWXynvku#" x="-1580" y="-410"><field name="cmd">R240X240</field><value name="HM"><shadow type="yesorno" id="9Ck2tA};3eaVj+xiB^qw"><field name="state">False</field></shadow></value><value name="VF"><shadow type="yesorno" id="SK6Q#g^+N5rG+h?mc0)v"><field name="state">False</field></shadow></value><next><block type="AI_CAMERA_INIT" id="~l_{iFN^kRug{?xGPRXF"><field name="kind">ImageNet</field><value name="SUB"><shadow type="variables_get" id="/!74|@b:`jIdr8jgc[Eb"><field name="VAR">Model</field></shadow></value><value name="WIDTH"><shadow type="MODEL_INIT_WIDTH" id=")4G.BojJ,Q4*LALC;O?B"><field name="width">240</field></shadow></value><value name="HEIGHT"><shadow type="MODEL_INIT_HEIGHT" id="Z+!P3mO8+]*1|qdX6)u+"><field name="height">240</field></shadow></value><next><block type="controls_whileUntil" id="l}E$_.h.wyif;RYW)VM_"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="yBCB?xoK#Stldi}O*pI7"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="variables_set" id="bOzFdMf,Ypus2I59[;vp"><field name="VAR">image</field><value name="VALUE"><block type="GET_PICTURE_DATA_EXACT" id="~~w+NQ3f)]VH1HQ|aK@K"></block></value><next><block type="SCREEN_SHOW_CAM_GRAPH_SHOOT" id="nv{L`9!uz#^.1j*7rX1m"><value name="SUB"><shadow type="variables_get" id="207bvx54g4UZXsqj^9;A"><field name="VAR">image</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="0l2iw)H1IqL3Z={iY(hB"><field name="BOOL">FALSE</field></shadow></value><next><block type="variables_set" id="a3xB:=HmG{xg.MYM@KV)"><field name="VAR">_results</field><value name="VALUE"><block type="MODEL_RUN" id="br;fAL2cRSQhm9X?SjwW"><value name="SUB"><shadow type="variables_get" id="*vxrOT5C+bsY+1:;EOdf"><field name="VAR">Model</field></shadow></value><value name="FRAME"><shadow type="variables_get" id="*SVc*wk/JDXd;F:=Fd(7"><field name="VAR">image</field></shadow></value></block></value><next><block type="controls_if" id="5*Rsv?tgObT#dg:l)GsY"><value name="IF0"><block type="MODEL_WHETHER_RUN_SUCCEED" id="dp2OUQ4Pb}nHzm4!t`Z?"><value name="SUB"><shadow type="variables_get" id="K^#g?xuW^Rnlm+I$T|BJ"><field name="VAR">_results</field></shadow></value></block></value><statement name="DO0"><block type="esp32_onboard_music_pitch_with_time" id="{V,rO+ka5{UvNWb.wH(H"><value name="pitch"><shadow type="pins_tone_notes" id="rOgsX1w]/H=(fpfXou`c"><field name="PIN">659</field></shadow></value><value name="time"><shadow type="math_number" id="KIH+QjR`9:mNr7Gi76jP"><field name="NUM">100</field></shadow></value><next><block type="system_print" id="j$;|VRD6ABc;gER8a+2?"><value name="VAR"><shadow type="text" id="we84-G$-vxIN?t;G,[f:"><field name="TEXT">Mixly</field></shadow><block type="text_format_noreturn" id="(k`A2:O,1vh)bv$1fl;_" inline="false"><mutation items="2"></mutation><value name="VAR"><shadow type="text" id="`k-Ff4D/|d0Ua)?o$H2`"><field name="TEXT"> 内容: {} 置信度:{}</field></shadow></value><value name="ADD0"><block type="GET_NO_RECOGNITION" id=")LdTQi[q^x5Yu`|*(,d;"><field name="kind">ImageNet</field><value name="SUB"><shadow type="variables_get" id="$(mE4v8gqYaA=o(8$_yj"><field name="VAR">_results</field></shadow></value><value name="NO"><shadow type="math_number" id="@kG;|U1[:F95bS*1^g8z"><field name="NUM">0</field></shadow></value></block></value><value name="ADD1"><block type="GET_NO_CAT_OR_FACE_RECOGNITION" id="-`k4rzS1SK$e5k7JS!U0"><field name="kind">ImageNet</field><value name="SUB"><shadow type="variables_get" id="a1)|--xF|8AcKrsl,f*h"><field name="VAR">_results</field></shadow></value><value name="NO"><shadow type="math_number" id="n^XdAWxZvqPxR|7Od8D`"><field name="NUM">0</field></shadow></value></block></value></block></value></block></next></block></statement><next><block type="display_available" id="gvS$IyF3z!wIx^5h5WfE"></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></xml><config>{"BurnSpeed":{"key":"921600","label":"921600"}}</config><code>ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuSW1hZ2VOZXQod2lkdGg9MjQwLCBoZWlnaHQ9MjQwKQp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPUZhbHNlKQogICAgX3Jlc3VsdHMgPSBNb2RlbC5ydW4oaW1hZ2UuaW1hZ2UpCiAgICBpZiBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cyk6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIHByaW50KCcg5YaF5a65OiB7fSDnva7kv6HluqY6e30nLmZvcm1hdChlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiZGF0YSIsMCksIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJzY29yZSIsMCkpKQogICAgb25ib2FyZF90ZnQud3JpdGUoKQo=</code>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="B~p)EdlJTeMF4@koZ]UG" x="-3763" y="-845"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="(vmv0^9KkB#G{.Ji5/$m"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_delay_new" id="G!NQ:q;XJwG.AY*bm10}"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="/aFS9]sB^5:5r.8Q|aHK"><field name="NUM">1</field></shadow></value><next><block type="system_print" id="ko2[Z5ynRhoW*YTF;`/M"><value name="VAR"><shadow type="text" id="^165iIe~972e0U_@fpC3"><field name="TEXT">Mixly</field></shadow><block type="controls_millis" id="x+gZU45ID)5CB45zGU3~"><field name="Time">ms</field></block></value></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDEpCiAgICBwcmludCh0aW1lLnRpY2tzX21zKCkpCg==</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><variables><variable id="ok:ro0iEW(eJAtg/iAsj">tim</variable></variables><block type="system_timer_init" id="}UG56dfzH2VTG@]00U:J" x="-3798" y="-1049"><value name="SUB"><shadow type="variables_get" id="?Q7:YOvm;p6neeo]L}Tf"><field name="VAR">tim</field></shadow></value><next><block type="system_timer" id="(IEb,i`[~]39P4ee[F:v"><field name="mode">PERIODIC</field><value name="VAR"><shadow type="variables_get" id="`ZZFhX(,Zz,Ba}3L!Z*^"><field name="VAR">tim</field></shadow></value><value name="period"><shadow type="math_number" id="TzuFIoMu,|FBAztF.;pd"><field name="NUM">1000</field></shadow></value><value name="callback"><shadow type="factory_block_return" id="o6VM{76TXqYKwNu7B);|"><field name="VALUE">tim_callback</field></shadow></value><next><block type="controls_whileUntil" id="gb_q=z7C+X~+,c_|eJ6X"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="YZ@`vOwaHO6b2Nd6=`*$"><field name="BOOL">TRUE</field></shadow></value></block></next></block></next></block><block type="procedures_defnoreturn" id="DzM[Xx5;j(hXYQ*{/dYw" x="-3798" y="-879"><mutation><arg name="tim" varid="ok:ro0iEW(eJAtg/iAsj"></arg></mutation><field name="NAME">tim_callback</field><statement name="STACK"><block type="system_print" id="Xf[o5mc7}m}3pR8gg_y="><value name="VAR"><block type="controls_millis" id="5}u@ygem2PeOcQ)b:^IR"><field name="Time">ms</field></block></value></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIHByaW50KHRpbWUudGlja3NfbXMoKSkKCgp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDEwMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQp3aGlsZSBUcnVlOgogICAgcGFzcwo=</code>ode>=</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><variables><variable id="ok:ro0iEW(eJAtg/iAsj">tim</variable></variables><block type="variables_set" id="SqdB6]EyPd)iNf#jhPT:" x="-3802" y="-1080"><field name="VAR">计时</field><value name="VALUE"><block type="math_number" id="_58M7xoPWzR9?EJ0Y/_~"><field name="NUM">0</field></block></value><next><block type="system_timer_init" id="wLFtUv;AZ_Eg|/N*h/j{"><value name="SUB"><shadow type="variables_get" id="susEb`WCEAaswrDbw4p1"><field name="VAR">tim</field></shadow></value><next><block type="system_timer" id="Nua?WY[si7:IVwYF*0-5"><field name="mode">PERIODIC</field><value name="VAR"><shadow type="variables_get" id="H+HN_eS2Acp:{VfxWAJ]"><field name="VAR">tim</field></shadow></value><value name="period"><shadow type="math_number" id="mB,6h_59h-1ZQy-(=[2-"><field name="NUM">100</field></shadow></value><value name="callback"><shadow type="factory_block_return" id="bA(tyqTvxbBVBp:I,V~*"><field name="VALUE">tim_callback</field></shadow></value></block></next></block></next></block><block type="procedures_defnoreturn" id="HCPP8cWv7J~zuk8vnpO*" x="-3798" y="-955"><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="/by`Iu{Gtgd!=ocxM4t("><value name="VAR"><block type="variables_get" id="WTUcy2Gl*ptFh_)Kt(rG"><field name="VAR">计时</field></block></value><next><block type="math_selfcalcu" id="HDrp_a$58|^LvijXV=XZ"><field name="OP">ADD</field><value name="A"><shadow type="variables_get" id="LT[T$[un!L;2N:K:c9/$"><field name="VAR">计时</field></shadow></value><value name="B"><shadow type="math_number" id="R9hv.k2FelWSywdtf{_0"><field name="NUM">1</field></shadow></value></block></next></block></statement></block><block type="controls_whileUntil" id="{!}4XIw?$/K*K0e._RP[" x="-3796" y="-826"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="j8L|@Id)0?C0SR32}^$$"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="display_show_image_or_string_delay" id="SdS_6]7A(QL1y3L0k!F^"><field name="center">True</field><value name="data"><shadow type="text" id="dCU7otf^q-1~8@oE955A"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="8RD$fAvmvnBgG:5m_,5S"><field name="VAR">计时</field></block></value><value name="space"><shadow type="math_number" id="3M|1Ar7b-g]cO?gOorGa"><field name="NUM">0</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="RM1~NH$].wlHeG^U*!K7"><field name="BOOL">TRUE</field></shadow></value></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAg6K6h5pe2ICs9IDEKCgrorqHml7YgPSAwCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5zaG93cyjorqHml7YsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><variables><variable id="ok:ro0iEW(eJAtg/iAsj">tim</variable></variables><block type="variables_set" id="qM+Q|0Yx=e3wTOMSxWqA" x="-2908" y="-1031"><field name="VAR">开始</field><value name="VALUE"><block type="logic_boolean" id="4_/*[XYzBXD{Mapyo:2S"><field name="BOOL">FALSE</field></block></value><next><block type="variables_set" id="zxw`=95uZOD+kJ70mM5}"><field name="VAR">计时</field><value name="VALUE"><block type="math_number" id="qWsI.uQZ:]9_Zlsm?9F?"><field name="NUM">0</field></block></value><next><block type="system_timer_init" id="G/Bl+Ljy5`[]00#!)R/o"><value name="SUB"><shadow type="variables_get" id="{Vw7Me#]vf{*~Q!|TO=1"><field name="VAR">tim</field></shadow></value><next><block type="system_timer" id="D,*pO-5(TBMP0IZ,)Uib"><field name="mode">PERIODIC</field><value name="VAR"><shadow type="variables_get" id="BxiNqBueqw:Ayc_D)X)/"><field name="VAR">tim</field></shadow></value><value name="period"><shadow type="math_number" id="Dbqb@S.*0]Z{78=G/0}@"><field name="NUM">100</field></shadow></value><value name="callback"><shadow type="factory_block_return" id=")be.N?TZ+We7*JG0I,$y"><field name="VALUE">tim_callback</field></shadow></value><next><block type="controls_whileUntil" id="+@Qe7Jo?oOwgw,G*28D="><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="_!ptlR^a^Q7CF?vA7^@S"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="]*-:^NLW]:VAng[rNS,+"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="fATi$:i4|$XP0RP(uwzY"><value name="btn"><shadow type="pins_button" id="IG*OxDh{}bHwQA0]z#AS"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="variables_set" id="KlIT5$=8V7n3Cf@T{!3x"><field name="VAR">开始</field><value name="VALUE"><block type="logic_negate" id="t8loXl3=|2CncT+qLbW$"><value name="BOOL"><block type="variables_get" id="DWM_1b@Y.]3(95kBy]S;"><field name="VAR">开始</field></block></value></block></value></block></statement><next><block type="display_show_image_or_string_delay" id="[,yo(a58ixq-sDM;HTfG"><field name="center">True</field><value name="data"><shadow type="text" id="K[Gr=6K=FsA;G@(6x9yg"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="c:SFIOFu/*yn|Av;MK!#"><field name="VAR">计时</field></block></value><value name="space"><shadow type="math_number" id="w}Mv{yf;To0X_KaU]09z"><field name="NUM">0</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="PsA.hfOYiNbzyo=Rc^#Q"><field name="BOOL">TRUE</field></shadow></value></block></next></block></statement></block></next></block></next></block></next></block></next></block><block type="procedures_defnoreturn" id="/8-p~PZ~1X]!;g!A^Bg;" x="-2902" y="-690"><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="Oshl2bjttM{RayzB(e*B"><value name="VAR"><block type="variables_get" id="4U5?xSo1g/LyQQ@UCssU"><field name="VAR">计时</field></block></value><next><block type="variables_global" id="+k#AO}$x!Yrg@I+`=fut"><value name="VAR"><block type="variables_get" id="b2gvN;R:,fDIZ+J0;e-e"><field name="VAR">开始</field></block></value><next><block type="controls_if" id="pG.`|;6bhq:?I?`c_eb/"><value name="IF0"><block type="variables_get" id="t@W6L?!VIRL9NmbVSJsJ"><field name="VAR">开始</field></block></value><statement name="DO0"><block type="math_selfcalcu" id="95V]3PwSq~hmUElJ9sOR"><field name="OP">ADD</field><value name="A"><shadow type="variables_get" id="{EjCPQ=d!*y5$NNN]`Rf"><field name="VAR">a</field></shadow><block type="variables_get" id="]tHd^Izp6KNELw!-YYpb"><field name="VAR">计时</field></block></value><value name="B"><shadow type="math_number" id="k-!{G?a34c:GQoeX9F.^"><field name="NUM">1</field></shadow></value></block></statement></block></next></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAgZ2xvYmFsIOW8gOWniwogICAgaWYg5byA5aeLOgogICAgICAgIOiuoeaXtiArPSAxCgoK5byA5aeLID0gRmFsc2UK6K6h5pe2ID0gMAp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDEwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeLID0gbm90IOW8gOWniwogICAgb25ib2FyZF90ZnQuc2hvd3Mo6K6h5pe2LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg==</code>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="ydZO{g34gntRDIPf(u=D" x="-1568" y="51"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="XSw/*StYt_cw;.Vn1-2B"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="actuator_onboard_neopixel_rgb" id="Om*scc(hl)g*jA?F#f1K"><value name="_LED_"><shadow type="math_number" id="VDc@69vH:W_t@JdAo:fu"><field name="NUM">0</field></shadow></value><value name="RVALUE"><shadow type="math_number" id="q#g/6AK[e_Sl!u4Ps]t2"><field name="NUM">0</field></shadow></value><value name="GVALUE"><shadow type="math_number" id="zBWBaV[.TO?Wa/=1q[jE"><field name="NUM">30</field></shadow></value><value name="BVALUE"><shadow type="math_number" id="Wv*$@$/eSqeWl;Y9/lhD"><field name="NUM">0</field></shadow></value><next><block type="actuator_onboard_neopixel_write" id=";Jp3Tbr:-{{keoouH^(O"><next><block type="controls_delay_new" id="O[oa+38C(j0jw#t|T0hu"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="lCClZQ#*!9glJK]/i/[s"><field name="NUM">2</field></shadow></value><next><block type="actuator_onboard_neopixel_rgb" id=";~9~9(klMuJGuvOyV4)!"><value name="_LED_"><shadow type="math_number" id="n)Ok$$29ks^TnziOnTQR"><field name="NUM">0</field></shadow></value><value name="RVALUE"><shadow type="math_number" id="1#@wI?TL-Ed`Xi-o9@:$"><field name="NUM">30</field></shadow></value><value name="GVALUE"><shadow type="math_number" id="Kc+K0HO$PNh(vV{mt;D,"><field name="NUM">30</field></shadow></value><value name="BVALUE"><shadow type="math_number" id="/ywj.~MZ8N*2b5cyf0Hd"><field name="NUM">0</field></shadow></value><next><block type="actuator_onboard_neopixel_write" id="ONgM}$/!(?r+5IukX/@Q"><next><block type="controls_delay_new" id="ucNh|@HpM|x.K9~[ZX[;"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="dDZg@K!mnM?;`*7YI]3f"><field name="NUM">0.5</field></shadow></value><next><block type="actuator_onboard_neopixel_rgb" id="bI_lO4F~my4#3Wq`)Pyb"><value name="_LED_"><shadow type="math_number" id="oylLvA+LCeXC?.gh=^L1"><field name="NUM">0</field></shadow></value><value name="RVALUE"><shadow type="math_number" id="g1zr+iL*5Lb4zBq|Mxik"><field name="NUM">30</field></shadow></value><value name="GVALUE"><shadow type="math_number" id="Y=kuCm1a4IFAB*Q$7YlY"><field name="NUM">0</field></shadow></value><value name="BVALUE"><shadow type="math_number" id="Dbna)ZXyFxb;KyTsnw)~"><field name="NUM">0</field></shadow></value><next><block type="actuator_onboard_neopixel_write" id="~G=`,vyiROBuF9fagj}8"><next><block type="controls_delay_new" id="[mb`vE(!k1},KFRss2L~"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="KN3uhKhte?g:[zR6+yF,"><field name="NUM">2</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3JnYlswXSA9ICgwLCAzMCwgMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMikKICAgIG9uYm9hcmRfcmdiWzBdID0gKDMwLCAzMCwgMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgb25ib2FyZF9yZ2JbMF0gPSAoMzAsIDAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICB0aW1lLnNsZWVwKDIpCg==</code>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="controls_whileUntil" id="j1y_}Y/h+LISoBs`YPi@" x="-715" y="-199"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="pmxf``GD.cY#uOGk1sY~"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="onboard_tft_display_line" id="~gDRaN]{01l/lsi[ih,m"><value name="x1"><shadow type="math_number" id="X2Oafo|xv65Ka#Er{e.Z"><field name="NUM">238</field></shadow></value><value name="y1"><shadow type="math_number" id=",|i.J)F=(dZIacT*`A0S"><field name="NUM">0</field></shadow></value><value name="x2"><shadow type="math_number" id="hwc]eZh}}KGr-LY#^@4N"><field name="NUM">238</field></shadow></value><value name="y2"><shadow type="math_number" id="GCJNd^def{YK$8HGeo)8"><field name="NUM">50</field></shadow><block type="text_to_number" id="6Y_C7oRL=v9]BD5xYMb7"><field name="TOWHAT">int</field><value name="VAR"><shadow type="variables_get" id="*6v)yC_Kq{Gv,I[,.6@T"><field name="VAR">x</field></shadow><block type="math_map" id=":f]fwdz|!v7,P~:hj6sO" inline="false"><value name="NUM"><shadow type="math_number" id="uM]KWq.P3-oyb.6/ph.x"><field name="NUM">50</field></shadow><block type="sensor_sound" id="C=uhM)~wC{0DX)Lmx^-;"></block></value><value name="fromLow"><shadow type="math_number" id="8I*R;$Sr=OG046zNVD^w"><field name="NUM">0</field></shadow></value><value name="fromHigh"><shadow type="math_number" id="6!j]X(j_x580!V]Nq|*o"><field name="NUM">6000</field></shadow></value><value name="toLow"><shadow type="math_number" id="JO,v7h:tA2xigCaD__m$"><field name="NUM">0</field></shadow></value><value name="toHigh"><shadow type="math_number" id="/*X(r_zf2`;8MyOEvGNv"><field name="NUM">239</field></shadow></value></block></value></block></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="TyTC=d@f~5Hy~bn8.:N1"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="nB#$28d|ASVx)a6@NZUB"><field name="COLOR">#3366ff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="T8|1D(W/|Tj2(QrFz)Kt"><field name="BOOL">FALSE</field></shadow></value><next><block type="display_shift" id="|@gKzo/Rw1o(Q1R/:0ow"><field name="OP">shift_left</field><value name="val"><shadow type="math_number" id=":mb(?obN31|BFa+|qf{$"><field name="NUM">1</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="#5v6Mk|-AP5.;YnaC*-x"><field name="BOOL">TRUE</field></shadow></value></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5saW5lKDIzOCwgMCwgMjM4LCBpbnQoKG1hdGhfbWFwKG9uYm9hcmRfc291bmQucmVhZCgpLCAwLCA2MDAwLCAwLCAyMzkpKSksIDB4MzMzZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hpZnRfbGVmdCgxLHN5bmM9VHJ1ZSkK</code>et" id="4r20VqO`(/m07i!}a-1S"><field name="COLOR">#ffffff</field></block></value></block></statement></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuZmlsbCgwKQogICAgb25ib2FyZF90ZnQuc2hvdygpCiAgICBmb3IgeCBpbiByYW5nZSgwLCAyMzksIDEpOgogICAgICAgIG9uYm9hcmRfdGZ0LmxpbmUoeCwgMCwgeCwgaW50KChtYXRoX21hcChvbmJvYXJkX3NvdW5kLnJlYWQoKSwgMCwgNjAwMCwgMCwgMjM5KSkpLCAweGZmZmYpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvdygpCg==</code>

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